File Coverage

blib/lib/Google/Ads/GoogleAds/V9/Services/GoogleAdsService/MutateOperation.pm
Criterion Covered Total %
statement 12 17 70.5
branch n/a
condition n/a
subroutine 4 5 80.0
pod 0 1 0.0
total 16 23 69.5


line stmt bran cond sub pod time code
1             # Copyright 2020, Google LLC
2             #
3             # Licensed under the Apache License, Version 2.0 (the "License");
4             # you may not use this file except in compliance with the License.
5             # You may obtain a copy of the License at
6             #
7             # http://www.apache.org/licenses/LICENSE-2.0
8             #
9             # Unless required by applicable law or agreed to in writing, software
10             # distributed under the License is distributed on an "AS IS" BASIS,
11             # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12             # See the License for the specific language governing permissions and
13             # limitations under the License.
14              
15              
16             use strict;
17 1     1   5277 use warnings;
  1         3  
  1         39  
18 1     1   6 use base qw(Google::Ads::GoogleAds::BaseEntity);
  1         3  
  1         43  
19 1     1   6  
  1         3  
  1         104  
20             use Google::Ads::GoogleAds::Utils::GoogleAdsHelper;
21 1     1   6  
  1         2  
  1         386  
22             my ($class, $args) = @_;
23             my $self = {
24 0     0 0   adGroupAdLabelOperation => $args->{adGroupAdLabelOperation},
25             adGroupAdOperation => $args->{adGroupAdOperation},
26             adGroupAssetOperation => $args->{adGroupAssetOperation},
27             adGroupBidModifierOperation => $args->{adGroupBidModifierOperation},
28             adGroupCriterionCustomizerOperation =>
29             $args->{adGroupCriterionCustomizerOperation},
30             adGroupCriterionLabelOperation => $args->{adGroupCriterionLabelOperation},
31             adGroupCriterionOperation => $args->{adGroupCriterionOperation},
32             adGroupCustomizerOperation => $args->{adGroupCustomizerOperation},
33             adGroupExtensionSettingOperation =>
34             $args->{adGroupExtensionSettingOperation},
35             adGroupFeedOperation => $args->{adGroupFeedOperation},
36             adGroupLabelOperation => $args->{adGroupLabelOperation},
37             adGroupOperation => $args->{adGroupOperation},
38             adOperation => $args->{adOperation},
39             adParameterOperation => $args->{adParameterOperation},
40             assetGroupAssetOperation => $args->{assetGroupAssetOperation},
41             assetGroupListingGroupFilterOperation =>
42             $args->{assetGroupListingGroupFilterOperation},
43             assetGroupOperation => $args->{assetGroupOperation},
44             assetOperation => $args->{assetOperation},
45             assetSetAssetOperation => $args->{assetSetAssetOperation},
46             assetSetOperation => $args->{assetSetOperation},
47             biddingDataExclusionOperation => $args->{biddingDataExclusionOperation},
48             biddingSeasonalityAdjustmentOperation =>
49             $args->{biddingSeasonalityAdjustmentOperation},
50             biddingStrategyOperation => $args->{biddingStrategyOperation},
51             campaignAssetOperation => $args->{campaignAssetOperation},
52             campaignAssetSetOperation => $args->{campaignAssetSetOperation},
53             campaignBidModifierOperation => $args->{campaignBidModifierOperation},
54             campaignBudgetOperation => $args->{campaignBudgetOperation},
55             campaignConversionGoalOperation => $args->{campaignConversionGoalOperation},
56             campaignCriterionOperation => $args->{campaignCriterionOperation},
57             campaignCustomizerOperation => $args->{campaignCustomizerOperation},
58             campaignDraftOperation => $args->{campaignDraftOperation},
59             campaignExperimentOperation => $args->{campaignExperimentOperation},
60             campaignExtensionSettingOperation =>
61             $args->{campaignExtensionSettingOperation},
62             campaignFeedOperation => $args->{campaignFeedOperation},
63             campaignLabelOperation => $args->{campaignLabelOperation},
64             campaignOperation => $args->{campaignOperation},
65             campaignSharedSetOperation => $args->{campaignSharedSetOperation},
66             conversionActionOperation => $args->{conversionActionOperation},
67             conversionCustomVariableOperation =>
68             $args->{conversionCustomVariableOperation},
69             conversionGoalCampaignConfigOperation =>
70             $args->{conversionGoalCampaignConfigOperation},
71             conversionValueRuleOperation => $args->{conversionValueRuleOperation},
72             conversionValueRuleSetOperation => $args->{conversionValueRuleSetOperation},
73             customConversionGoalOperation => $args->{customConversionGoalOperation},
74             customerAssetOperation => $args->{customerAssetOperation},
75             customerConversionGoalOperation => $args->{customerConversionGoalOperation},
76             customerExtensionSettingOperation =>
77             $args->{customerExtensionSettingOperation},
78             customerFeedOperation => $args->{customerFeedOperation},
79             customerLabelOperation => $args->{customerLabelOperation},
80             customerNegativeCriterionOperation =>
81             $args->{customerNegativeCriterionOperation},
82             customerOperation => $args->{customerOperation},
83             customizerAttributeOperation => $args->{customizerAttributeOperation},
84             customizerCustomizerOperation => $args->{customizerCustomizerOperation},
85             extensionFeedItemOperation => $args->{extensionFeedItemOperation},
86             feedItemOperation => $args->{feedItemOperation},
87             feedItemSetLinkOperation => $args->{feedItemSetLinkOperation},
88             feedItemSetOperation => $args->{feedItemSetOperation},
89             feedItemTargetOperation => $args->{feedItemTargetOperation},
90             feedMappingOperation => $args->{feedMappingOperation},
91             feedOperation => $args->{feedOperation},
92             keywordPlanAdGroupKeywordOperation =>
93             $args->{keywordPlanAdGroupKeywordOperation},
94             keywordPlanAdGroupOperation => $args->{keywordPlanAdGroupOperation},
95             keywordPlanCampaignKeywordOperation =>
96             $args->{keywordPlanCampaignKeywordOperation},
97             keywordPlanCampaignOperation => $args->{keywordPlanCampaignOperation},
98             keywordPlanOperation => $args->{keywordPlanOperation},
99             labelOperation => $args->{labelOperation},
100             mediaFileOperation => $args->{mediaFileOperation},
101             remarketingActionOperation => $args->{remarketingActionOperation},
102             sharedCriterionOperation => $args->{sharedCriterionOperation},
103             sharedSetOperation => $args->{sharedSetOperation},
104             smartCampaignSettingOperation => $args->{smartCampaignSettingOperation},
105             userListOperation => $args->{userListOperation}};
106              
107 0           # Delete the unassigned fields in this object for a more concise JSON payload
108             remove_unassigned_fields($self, $args);
109              
110 0           bless $self, $class;
111             return $self;
112 0           }
113 0            
114             1;