File Coverage

blib/lib/Google/Ads/GoogleAds/V11/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   788 use warnings;
  1         2  
  1         32  
18 1     1   6 use base qw(Google::Ads::GoogleAds::BaseEntity);
  1         3  
  1         27  
19 1     1   5  
  1         6  
  1         73  
20             use Google::Ads::GoogleAds::Utils::GoogleAdsHelper;
21 1     1   8  
  1         2  
  1         383  
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             assetGroupSignalOperation => $args->{assetGroupSignalOperation},
45             assetOperation => $args->{assetOperation},
46             assetSetAssetOperation => $args->{assetSetAssetOperation},
47             assetSetOperation => $args->{assetSetOperation},
48             audienceOperation => $args->{audienceOperation},
49             biddingDataExclusionOperation => $args->{biddingDataExclusionOperation},
50             biddingSeasonalityAdjustmentOperation =>
51             $args->{biddingSeasonalityAdjustmentOperation},
52             biddingStrategyOperation => $args->{biddingStrategyOperation},
53             campaignAssetOperation => $args->{campaignAssetOperation},
54             campaignAssetSetOperation => $args->{campaignAssetSetOperation},
55             campaignBidModifierOperation => $args->{campaignBidModifierOperation},
56             campaignBudgetOperation => $args->{campaignBudgetOperation},
57             campaignConversionGoalOperation => $args->{campaignConversionGoalOperation},
58             campaignCriterionOperation => $args->{campaignCriterionOperation},
59             campaignCustomizerOperation => $args->{campaignCustomizerOperation},
60             campaignDraftOperation => $args->{campaignDraftOperation},
61             campaignExperimentOperation => $args->{campaignExperimentOperation},
62             campaignExtensionSettingOperation =>
63             $args->{campaignExtensionSettingOperation},
64             campaignFeedOperation => $args->{campaignFeedOperation},
65             campaignGroupOperation => $args->{campaignGroupOperation},
66             campaignLabelOperation => $args->{campaignLabelOperation},
67             campaignOperation => $args->{campaignOperation},
68             campaignSharedSetOperation => $args->{campaignSharedSetOperation},
69             conversionActionOperation => $args->{conversionActionOperation},
70             conversionCustomVariableOperation =>
71             $args->{conversionCustomVariableOperation},
72             conversionGoalCampaignConfigOperation =>
73             $args->{conversionGoalCampaignConfigOperation},
74             conversionValueRuleOperation => $args->{conversionValueRuleOperation},
75             conversionValueRuleSetOperation => $args->{conversionValueRuleSetOperation},
76             customConversionGoalOperation => $args->{customConversionGoalOperation},
77             customerAssetOperation => $args->{customerAssetOperation},
78             customerConversionGoalOperation => $args->{customerConversionGoalOperation},
79             customerCustomizerOperation => $args->{customerCustomizerOperation},
80             customerExtensionSettingOperation =>
81             $args->{customerExtensionSettingOperation},
82             customerFeedOperation => $args->{customerFeedOperation},
83             customerLabelOperation => $args->{customerLabelOperation},
84             customerNegativeCriterionOperation =>
85             $args->{customerNegativeCriterionOperation},
86             customerOperation => $args->{customerOperation},
87             customizerAttributeOperation => $args->{customizerAttributeOperation},
88             experimentArmOperation => $args->{experimentArmOperation},
89             experimentOperation => $args->{experimentOperation},
90             extensionFeedItemOperation => $args->{extensionFeedItemOperation},
91             feedItemOperation => $args->{feedItemOperation},
92             feedItemSetLinkOperation => $args->{feedItemSetLinkOperation},
93             feedItemSetOperation => $args->{feedItemSetOperation},
94             feedItemTargetOperation => $args->{feedItemTargetOperation},
95             feedMappingOperation => $args->{feedMappingOperation},
96             feedOperation => $args->{feedOperation},
97             keywordPlanAdGroupKeywordOperation =>
98             $args->{keywordPlanAdGroupKeywordOperation},
99             keywordPlanAdGroupOperation => $args->{keywordPlanAdGroupOperation},
100             keywordPlanCampaignKeywordOperation =>
101             $args->{keywordPlanCampaignKeywordOperation},
102             keywordPlanCampaignOperation => $args->{keywordPlanCampaignOperation},
103             keywordPlanOperation => $args->{keywordPlanOperation},
104             labelOperation => $args->{labelOperation},
105             mediaFileOperation => $args->{mediaFileOperation},
106             remarketingActionOperation => $args->{remarketingActionOperation},
107             sharedCriterionOperation => $args->{sharedCriterionOperation},
108             sharedSetOperation => $args->{sharedSetOperation},
109             smartCampaignSettingOperation => $args->{smartCampaignSettingOperation},
110             userListOperation => $args->{userListOperation}};
111              
112 0           # Delete the unassigned fields in this object for a more concise JSON payload
113             remove_unassigned_fields($self, $args);
114              
115 0           bless $self, $class;
116             return $self;
117 0           }
118 0            
119             1;