google-ads-api 11.0.0 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,7 +8,7 @@ class ServiceFactory extends service_1.Service {
8
8
  super(clientOptions, customerOptions, hooks !== null && hooks !== void 0 ? hooks : {});
9
9
  }
10
10
  /**
11
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AccountBudgetProposalService
11
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AccountBudgetProposalService
12
12
  */
13
13
  get accountBudgetProposals() {
14
14
  const service = this.loadService("AccountBudgetProposalServiceClient");
@@ -150,13 +150,13 @@ class ServiceFactory extends service_1.Service {
150
150
  };
151
151
  }
152
152
  /**
153
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AccountLinkService
153
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AccountLinkService
154
154
  */
155
155
  get accountLinks() {
156
156
  const service = this.loadService("AccountLinkServiceClient");
157
157
  return {
158
158
  /**
159
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AccountLinkService#createaccountlink
159
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AccountLinkService#createaccountlink
160
160
  */
161
161
  createAccountLink: async (request) => {
162
162
  const baseHookArguments = {
@@ -357,7 +357,7 @@ class ServiceFactory extends service_1.Service {
357
357
  };
358
358
  }
359
359
  /**
360
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AdGroupAdLabelService
360
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AdGroupAdLabelService
361
361
  */
362
362
  get adGroupAdLabels() {
363
363
  const service = this.loadService("AdGroupAdLabelServiceClient");
@@ -499,7 +499,7 @@ class ServiceFactory extends service_1.Service {
499
499
  };
500
500
  }
501
501
  /**
502
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AdGroupAdService
502
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AdGroupAdService
503
503
  */
504
504
  get adGroupAds() {
505
505
  const service = this.loadService("AdGroupAdServiceClient");
@@ -710,7 +710,7 @@ class ServiceFactory extends service_1.Service {
710
710
  };
711
711
  }
712
712
  /**
713
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AdGroupAssetService
713
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AdGroupAssetService
714
714
  */
715
715
  get adGroupAssets() {
716
716
  const service = this.loadService("AdGroupAssetServiceClient");
@@ -921,7 +921,149 @@ class ServiceFactory extends service_1.Service {
921
921
  };
922
922
  }
923
923
  /**
924
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AdGroupBidModifierService
924
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AdGroupAssetSetService
925
+ */
926
+ get adGroupAssetSets() {
927
+ const service = this.loadService("AdGroupAssetSetServiceClient");
928
+ return {
929
+ /**
930
+ * @description create resources of type resources.IAdGroupAssetSet
931
+ * @returns services.MutateAdGroupAssetSetsResponse
932
+ */
933
+ create: async (adGroupAssetSets, options) => {
934
+ const ops = this.buildOperations("create", adGroupAssetSets);
935
+ const request = this.buildRequest(ops, options);
936
+ const baseHookArguments = {
937
+ credentials: this.credentials,
938
+ method: "AdGroupAssetSetService.mutateAdGroupAssetSets",
939
+ mutation: request,
940
+ isServiceCall: true,
941
+ };
942
+ if (this.hooks.onMutationStart) {
943
+ const mutationCancellation = { cancelled: false };
944
+ await this.hooks.onMutationStart({
945
+ ...baseHookArguments,
946
+ cancel: (res) => {
947
+ mutationCancellation.cancelled = true;
948
+ mutationCancellation.res = res;
949
+ },
950
+ editOptions: (options) => {
951
+ Object.entries(options).forEach(([key, val]) => {
952
+ // @ts-expect-error Index with key type is fine
953
+ request[key] = val;
954
+ });
955
+ },
956
+ });
957
+ if (mutationCancellation.cancelled) {
958
+ return mutationCancellation.res;
959
+ }
960
+ }
961
+ try {
962
+ // @ts-expect-error Response is an array type
963
+ const [response] = await service.mutateAdGroupAssetSets(request, {
964
+ // @ts-expect-error This arg doesn't exist in the type definitions
965
+ otherArgs: {
966
+ headers: this.callHeaders,
967
+ },
968
+ });
969
+ if (this.hooks.onMutationEnd) {
970
+ const mutationResolution = { resolved: false };
971
+ await this.hooks.onMutationEnd({
972
+ ...baseHookArguments,
973
+ response: this.decodePartialFailureError(response),
974
+ resolve: (res) => {
975
+ mutationResolution.resolved = true;
976
+ mutationResolution.res = res;
977
+ },
978
+ });
979
+ if (mutationResolution.resolved) {
980
+ return mutationResolution.res;
981
+ }
982
+ }
983
+ return this.decodePartialFailureError(response);
984
+ }
985
+ catch (err) {
986
+ const googleAdsError = this.getGoogleAdsError(err);
987
+ if (this.hooks.onMutationError) {
988
+ await this.hooks.onMutationError({
989
+ ...baseHookArguments,
990
+ error: googleAdsError,
991
+ });
992
+ }
993
+ throw googleAdsError;
994
+ }
995
+ },
996
+ /**
997
+ * @description remove resources of type string
998
+ * @returns services.MutateAdGroupAssetSetsResponse
999
+ */
1000
+ remove: async (adGroupAssetSets, options) => {
1001
+ const ops = this.buildOperations("remove", adGroupAssetSets);
1002
+ const request = this.buildRequest(ops, options);
1003
+ const baseHookArguments = {
1004
+ credentials: this.credentials,
1005
+ method: "AdGroupAssetSetService.mutateAdGroupAssetSets",
1006
+ mutation: request,
1007
+ isServiceCall: true,
1008
+ };
1009
+ if (this.hooks.onMutationStart) {
1010
+ const mutationCancellation = { cancelled: false };
1011
+ await this.hooks.onMutationStart({
1012
+ ...baseHookArguments,
1013
+ cancel: (res) => {
1014
+ mutationCancellation.cancelled = true;
1015
+ mutationCancellation.res = res;
1016
+ },
1017
+ editOptions: (options) => {
1018
+ Object.entries(options).forEach(([key, val]) => {
1019
+ // @ts-expect-error Index with key type is fine
1020
+ request[key] = val;
1021
+ });
1022
+ },
1023
+ });
1024
+ if (mutationCancellation.cancelled) {
1025
+ return mutationCancellation.res;
1026
+ }
1027
+ }
1028
+ try {
1029
+ // @ts-expect-error Response is an array type
1030
+ const [response] = await service.mutateAdGroupAssetSets(request, {
1031
+ // @ts-expect-error This arg doesn't exist in the type definitions
1032
+ otherArgs: {
1033
+ headers: this.callHeaders,
1034
+ },
1035
+ });
1036
+ if (this.hooks.onMutationEnd) {
1037
+ const mutationResolution = { resolved: false };
1038
+ await this.hooks.onMutationEnd({
1039
+ ...baseHookArguments,
1040
+ response: this.decodePartialFailureError(response),
1041
+ resolve: (res) => {
1042
+ mutationResolution.resolved = true;
1043
+ mutationResolution.res = res;
1044
+ },
1045
+ });
1046
+ if (mutationResolution.resolved) {
1047
+ return mutationResolution.res;
1048
+ }
1049
+ }
1050
+ return this.decodePartialFailureError(response);
1051
+ }
1052
+ catch (err) {
1053
+ const googleAdsError = this.getGoogleAdsError(err);
1054
+ if (this.hooks.onMutationError) {
1055
+ await this.hooks.onMutationError({
1056
+ ...baseHookArguments,
1057
+ error: googleAdsError,
1058
+ });
1059
+ }
1060
+ throw googleAdsError;
1061
+ }
1062
+ },
1063
+ };
1064
+ }
1065
+ /**
1066
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AdGroupBidModifierService
925
1067
  */
926
1068
  get adGroupBidModifiers() {
927
1069
  const service = this.loadService("AdGroupBidModifierServiceClient");
@@ -1132,7 +1274,7 @@ class ServiceFactory extends service_1.Service {
1132
1274
  };
1133
1275
  }
1134
1276
  /**
1135
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AdGroupCriterionCustomizerService
1277
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AdGroupCriterionCustomizerService
1136
1278
  */
1137
1279
  get adGroupCriterionCustomizers() {
1138
1280
  const service = this.loadService("AdGroupCriterionCustomizerServiceClient");
@@ -1274,7 +1416,7 @@ class ServiceFactory extends service_1.Service {
1274
1416
  };
1275
1417
  }
1276
1418
  /**
1277
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AdGroupCriterionLabelService
1419
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AdGroupCriterionLabelService
1278
1420
  */
1279
1421
  get adGroupCriterionLabels() {
1280
1422
  const service = this.loadService("AdGroupCriterionLabelServiceClient");
@@ -1416,7 +1558,7 @@ class ServiceFactory extends service_1.Service {
1416
1558
  };
1417
1559
  }
1418
1560
  /**
1419
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AdGroupCriterionService
1561
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AdGroupCriterionService
1420
1562
  */
1421
1563
  get adGroupCriteria() {
1422
1564
  const service = this.loadService("AdGroupCriterionServiceClient");
@@ -1627,7 +1769,7 @@ class ServiceFactory extends service_1.Service {
1627
1769
  };
1628
1770
  }
1629
1771
  /**
1630
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AdGroupCustomizerService
1772
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AdGroupCustomizerService
1631
1773
  */
1632
1774
  get adGroupCustomizers() {
1633
1775
  const service = this.loadService("AdGroupCustomizerServiceClient");
@@ -1769,7 +1911,7 @@ class ServiceFactory extends service_1.Service {
1769
1911
  };
1770
1912
  }
1771
1913
  /**
1772
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AdGroupExtensionSettingService
1914
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AdGroupExtensionSettingService
1773
1915
  */
1774
1916
  get adGroupExtensionSettings() {
1775
1917
  const service = this.loadService("AdGroupExtensionSettingServiceClient");
@@ -1980,7 +2122,7 @@ class ServiceFactory extends service_1.Service {
1980
2122
  };
1981
2123
  }
1982
2124
  /**
1983
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AdGroupFeedService
2125
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AdGroupFeedService
1984
2126
  */
1985
2127
  get adGroupFeeds() {
1986
2128
  const service = this.loadService("AdGroupFeedServiceClient");
@@ -2191,7 +2333,7 @@ class ServiceFactory extends service_1.Service {
2191
2333
  };
2192
2334
  }
2193
2335
  /**
2194
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AdGroupLabelService
2336
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AdGroupLabelService
2195
2337
  */
2196
2338
  get adGroupLabels() {
2197
2339
  const service = this.loadService("AdGroupLabelServiceClient");
@@ -2333,7 +2475,7 @@ class ServiceFactory extends service_1.Service {
2333
2475
  };
2334
2476
  }
2335
2477
  /**
2336
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AdGroupService
2478
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AdGroupService
2337
2479
  */
2338
2480
  get adGroups() {
2339
2481
  const service = this.loadService("AdGroupServiceClient");
@@ -2544,7 +2686,7 @@ class ServiceFactory extends service_1.Service {
2544
2686
  };
2545
2687
  }
2546
2688
  /**
2547
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AdParameterService
2689
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AdParameterService
2548
2690
  */
2549
2691
  get adParameters() {
2550
2692
  const service = this.loadService("AdParameterServiceClient");
@@ -2755,13 +2897,13 @@ class ServiceFactory extends service_1.Service {
2755
2897
  };
2756
2898
  }
2757
2899
  /**
2758
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AdService
2900
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AdService
2759
2901
  */
2760
2902
  get ads() {
2761
2903
  const service = this.loadService("AdServiceClient");
2762
2904
  return {
2763
2905
  /**
2764
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AdService#getad
2906
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AdService#getad
2765
2907
  */
2766
2908
  getAd: async (request) => {
2767
2909
  const baseHookArguments = {
@@ -2895,7 +3037,7 @@ class ServiceFactory extends service_1.Service {
2895
3037
  };
2896
3038
  }
2897
3039
  /**
2898
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AssetGroupAssetService
3040
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AssetGroupAssetService
2899
3041
  */
2900
3042
  get assetGroupAssets() {
2901
3043
  const service = this.loadService("AssetGroupAssetServiceClient");
@@ -3106,7 +3248,7 @@ class ServiceFactory extends service_1.Service {
3106
3248
  };
3107
3249
  }
3108
3250
  /**
3109
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AssetGroupListingGroupFilterService
3251
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AssetGroupListingGroupFilterService
3110
3252
  */
3111
3253
  get assetGroupListingGroupFilters() {
3112
3254
  const service = this.loadService("AssetGroupListingGroupFilterServiceClient");
@@ -3317,7 +3459,7 @@ class ServiceFactory extends service_1.Service {
3317
3459
  };
3318
3460
  }
3319
3461
  /**
3320
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AssetGroupService
3462
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AssetGroupService
3321
3463
  */
3322
3464
  get assetGroups() {
3323
3465
  const service = this.loadService("AssetGroupServiceClient");
@@ -3528,7 +3670,7 @@ class ServiceFactory extends service_1.Service {
3528
3670
  };
3529
3671
  }
3530
3672
  /**
3531
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AssetGroupSignalService
3673
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AssetGroupSignalService
3532
3674
  */
3533
3675
  get assetGroupSignals() {
3534
3676
  const service = this.loadService("AssetGroupSignalServiceClient");
@@ -3670,7 +3812,7 @@ class ServiceFactory extends service_1.Service {
3670
3812
  };
3671
3813
  }
3672
3814
  /**
3673
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AssetService
3815
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AssetService
3674
3816
  */
3675
3817
  get assets() {
3676
3818
  const service = this.loadService("AssetServiceClient");
@@ -3814,7 +3956,7 @@ class ServiceFactory extends service_1.Service {
3814
3956
  };
3815
3957
  }
3816
3958
  /**
3817
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AssetSetAssetService
3959
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AssetSetAssetService
3818
3960
  */
3819
3961
  get assetSetAssets() {
3820
3962
  const service = this.loadService("AssetSetAssetServiceClient");
@@ -3956,7 +4098,7 @@ class ServiceFactory extends service_1.Service {
3956
4098
  };
3957
4099
  }
3958
4100
  /**
3959
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AssetSetService
4101
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AssetSetService
3960
4102
  */
3961
4103
  get assetSets() {
3962
4104
  const service = this.loadService("AssetSetServiceClient");
@@ -4167,13 +4309,13 @@ class ServiceFactory extends service_1.Service {
4167
4309
  };
4168
4310
  }
4169
4311
  /**
4170
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AudienceInsightsService
4312
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AudienceInsightsService
4171
4313
  */
4172
4314
  get audienceInsights() {
4173
4315
  const service = this.loadService("AudienceInsightsServiceClient");
4174
4316
  return {
4175
4317
  /**
4176
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AudienceInsightsService#generateinsightsfinderreport
4318
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AudienceInsightsService#generateinsightsfinderreport
4177
4319
  */
4178
4320
  generateInsightsFinderReport: async (request) => {
4179
4321
  const baseHookArguments = {
@@ -4236,7 +4378,7 @@ class ServiceFactory extends service_1.Service {
4236
4378
  }
4237
4379
  },
4238
4380
  /**
4239
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AudienceInsightsService#listaudienceinsightsattributes
4381
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AudienceInsightsService#listaudienceinsightsattributes
4240
4382
  */
4241
4383
  listAudienceInsightsAttributes: async (request) => {
4242
4384
  const baseHookArguments = {
@@ -4298,10 +4440,136 @@ class ServiceFactory extends service_1.Service {
4298
4440
  throw googleAdsError;
4299
4441
  }
4300
4442
  },
4443
+ /**
4444
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AudienceInsightsService#listinsightseligibledates
4445
+ */
4446
+ listInsightsEligibleDates: async (request) => {
4447
+ const baseHookArguments = {
4448
+ credentials: this.credentials,
4449
+ method: "AudienceInsightsService.ListInsightsEligibleDates",
4450
+ requestOptions: request,
4451
+ };
4452
+ if (this.hooks.onServiceStart) {
4453
+ const serviceCancellation = { cancelled: false };
4454
+ await this.hooks.onServiceStart({
4455
+ ...baseHookArguments,
4456
+ cancel: (res) => {
4457
+ serviceCancellation.cancelled = true;
4458
+ serviceCancellation.res = res;
4459
+ },
4460
+ editOptions: (options) => {
4461
+ Object.entries(options).forEach(([key, val]) => {
4462
+ // @ts-expect-error Index with key type is fine
4463
+ request[key] = val;
4464
+ });
4465
+ },
4466
+ });
4467
+ if (serviceCancellation.cancelled) {
4468
+ return serviceCancellation.res;
4469
+ }
4470
+ }
4471
+ try {
4472
+ // @ts-expect-error Response is an array type
4473
+ const [response] = await service.listInsightsEligibleDates(request, {
4474
+ // @ts-expect-error This arg doesn't exist in the type definitions
4475
+ otherArgs: {
4476
+ headers: this.callHeaders,
4477
+ },
4478
+ });
4479
+ if (this.hooks.onServiceEnd) {
4480
+ const serviceResolution = { resolved: false };
4481
+ await this.hooks.onServiceEnd({
4482
+ ...baseHookArguments,
4483
+ response,
4484
+ resolve: (res) => {
4485
+ serviceResolution.resolved = true;
4486
+ serviceResolution.res = res;
4487
+ },
4488
+ });
4489
+ if (serviceResolution.resolved) {
4490
+ return serviceResolution.res;
4491
+ }
4492
+ }
4493
+ return response;
4494
+ }
4495
+ catch (err) {
4496
+ const googleAdsError = this.getGoogleAdsError(err);
4497
+ if (this.hooks.onServiceError) {
4498
+ await this.hooks.onServiceError({
4499
+ ...baseHookArguments,
4500
+ error: googleAdsError,
4501
+ });
4502
+ }
4503
+ throw googleAdsError;
4504
+ }
4505
+ },
4506
+ /**
4507
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AudienceInsightsService#generateaudiencecompositioninsights
4508
+ */
4509
+ generateAudienceCompositionInsights: async (request) => {
4510
+ const baseHookArguments = {
4511
+ credentials: this.credentials,
4512
+ method: "AudienceInsightsService.GenerateAudienceCompositionInsights",
4513
+ requestOptions: request,
4514
+ };
4515
+ if (this.hooks.onServiceStart) {
4516
+ const serviceCancellation = { cancelled: false };
4517
+ await this.hooks.onServiceStart({
4518
+ ...baseHookArguments,
4519
+ cancel: (res) => {
4520
+ serviceCancellation.cancelled = true;
4521
+ serviceCancellation.res = res;
4522
+ },
4523
+ editOptions: (options) => {
4524
+ Object.entries(options).forEach(([key, val]) => {
4525
+ // @ts-expect-error Index with key type is fine
4526
+ request[key] = val;
4527
+ });
4528
+ },
4529
+ });
4530
+ if (serviceCancellation.cancelled) {
4531
+ return serviceCancellation.res;
4532
+ }
4533
+ }
4534
+ try {
4535
+ // @ts-expect-error Response is an array type
4536
+ const [response] = await service.generateAudienceCompositionInsights(request, {
4537
+ // @ts-expect-error This arg doesn't exist in the type definitions
4538
+ otherArgs: {
4539
+ headers: this.callHeaders,
4540
+ },
4541
+ });
4542
+ if (this.hooks.onServiceEnd) {
4543
+ const serviceResolution = { resolved: false };
4544
+ await this.hooks.onServiceEnd({
4545
+ ...baseHookArguments,
4546
+ response,
4547
+ resolve: (res) => {
4548
+ serviceResolution.resolved = true;
4549
+ serviceResolution.res = res;
4550
+ },
4551
+ });
4552
+ if (serviceResolution.resolved) {
4553
+ return serviceResolution.res;
4554
+ }
4555
+ }
4556
+ return response;
4557
+ }
4558
+ catch (err) {
4559
+ const googleAdsError = this.getGoogleAdsError(err);
4560
+ if (this.hooks.onServiceError) {
4561
+ await this.hooks.onServiceError({
4562
+ ...baseHookArguments,
4563
+ error: googleAdsError,
4564
+ });
4565
+ }
4566
+ throw googleAdsError;
4567
+ }
4568
+ },
4301
4569
  };
4302
4570
  }
4303
4571
  /**
4304
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/AudienceService
4572
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/AudienceService
4305
4573
  */
4306
4574
  get audiences() {
4307
4575
  const service = this.loadService("AudienceServiceClient");
@@ -4445,7 +4713,7 @@ class ServiceFactory extends service_1.Service {
4445
4713
  };
4446
4714
  }
4447
4715
  /**
4448
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/BatchJobService
4716
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/BatchJobService
4449
4717
  */
4450
4718
  get batchJobs() {
4451
4719
  const service = this.loadService("BatchJobServiceClient");
@@ -4585,7 +4853,7 @@ class ServiceFactory extends service_1.Service {
4585
4853
  }
4586
4854
  },
4587
4855
  /**
4588
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/BatchJobService#listbatchjobresults
4856
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/BatchJobService#listbatchjobresults
4589
4857
  */
4590
4858
  listBatchJobResults: async (request) => {
4591
4859
  const baseHookArguments = {
@@ -4648,7 +4916,7 @@ class ServiceFactory extends service_1.Service {
4648
4916
  }
4649
4917
  },
4650
4918
  /**
4651
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/BatchJobService#runbatchjob
4919
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/BatchJobService#runbatchjob
4652
4920
  */
4653
4921
  runBatchJob: async (request) => {
4654
4922
  const baseHookArguments = {
@@ -4711,7 +4979,7 @@ class ServiceFactory extends service_1.Service {
4711
4979
  }
4712
4980
  },
4713
4981
  /**
4714
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/BatchJobService#addbatchjoboperations
4982
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/BatchJobService#addbatchjoboperations
4715
4983
  */
4716
4984
  addBatchJobOperations: async (request) => {
4717
4985
  const baseHookArguments = {
@@ -4776,7 +5044,7 @@ class ServiceFactory extends service_1.Service {
4776
5044
  };
4777
5045
  }
4778
5046
  /**
4779
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/BiddingDataExclusionService
5047
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/BiddingDataExclusionService
4780
5048
  */
4781
5049
  get biddingDataExclusions() {
4782
5050
  const service = this.loadService("BiddingDataExclusionServiceClient");
@@ -4987,7 +5255,7 @@ class ServiceFactory extends service_1.Service {
4987
5255
  };
4988
5256
  }
4989
5257
  /**
4990
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/BiddingSeasonalityAdjustmentService
5258
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/BiddingSeasonalityAdjustmentService
4991
5259
  */
4992
5260
  get biddingSeasonalityAdjustments() {
4993
5261
  const service = this.loadService("BiddingSeasonalityAdjustmentServiceClient");
@@ -5198,7 +5466,7 @@ class ServiceFactory extends service_1.Service {
5198
5466
  };
5199
5467
  }
5200
5468
  /**
5201
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/BiddingStrategyService
5469
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/BiddingStrategyService
5202
5470
  */
5203
5471
  get biddingStrategies() {
5204
5472
  const service = this.loadService("BiddingStrategyServiceClient");
@@ -5409,7 +5677,7 @@ class ServiceFactory extends service_1.Service {
5409
5677
  };
5410
5678
  }
5411
5679
  /**
5412
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignAssetService
5680
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CampaignAssetService
5413
5681
  */
5414
5682
  get campaignAssets() {
5415
5683
  const service = this.loadService("CampaignAssetServiceClient");
@@ -5620,7 +5888,7 @@ class ServiceFactory extends service_1.Service {
5620
5888
  };
5621
5889
  }
5622
5890
  /**
5623
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignAssetSetService
5891
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CampaignAssetSetService
5624
5892
  */
5625
5893
  get campaignAssetSets() {
5626
5894
  const service = this.loadService("CampaignAssetSetServiceClient");
@@ -5762,7 +6030,7 @@ class ServiceFactory extends service_1.Service {
5762
6030
  };
5763
6031
  }
5764
6032
  /**
5765
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignBidModifierService
6033
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CampaignBidModifierService
5766
6034
  */
5767
6035
  get campaignBidModifiers() {
5768
6036
  const service = this.loadService("CampaignBidModifierServiceClient");
@@ -5973,7 +6241,7 @@ class ServiceFactory extends service_1.Service {
5973
6241
  };
5974
6242
  }
5975
6243
  /**
5976
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignBudgetService
6244
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CampaignBudgetService
5977
6245
  */
5978
6246
  get campaignBudgets() {
5979
6247
  const service = this.loadService("CampaignBudgetServiceClient");
@@ -6184,7 +6452,7 @@ class ServiceFactory extends service_1.Service {
6184
6452
  };
6185
6453
  }
6186
6454
  /**
6187
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignConversionGoalService
6455
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CampaignConversionGoalService
6188
6456
  */
6189
6457
  get campaignConversionGoals() {
6190
6458
  const service = this.loadService("CampaignConversionGoalServiceClient");
@@ -6261,7 +6529,7 @@ class ServiceFactory extends service_1.Service {
6261
6529
  };
6262
6530
  }
6263
6531
  /**
6264
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignCriterionService
6532
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CampaignCriterionService
6265
6533
  */
6266
6534
  get campaignCriteria() {
6267
6535
  const service = this.loadService("CampaignCriterionServiceClient");
@@ -6472,7 +6740,7 @@ class ServiceFactory extends service_1.Service {
6472
6740
  };
6473
6741
  }
6474
6742
  /**
6475
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignCustomizerService
6743
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CampaignCustomizerService
6476
6744
  */
6477
6745
  get campaignCustomizers() {
6478
6746
  const service = this.loadService("CampaignCustomizerServiceClient");
@@ -6614,7 +6882,7 @@ class ServiceFactory extends service_1.Service {
6614
6882
  };
6615
6883
  }
6616
6884
  /**
6617
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignDraftService
6885
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CampaignDraftService
6618
6886
  */
6619
6887
  get campaignDrafts() {
6620
6888
  const service = this.loadService("CampaignDraftServiceClient");
@@ -6730,487 +6998,24 @@ class ServiceFactory extends service_1.Service {
6730
6998
  });
6731
6999
  if (this.hooks.onMutationEnd) {
6732
7000
  const mutationResolution = { resolved: false };
6733
- await this.hooks.onMutationEnd({
6734
- ...baseHookArguments,
6735
- response: this.decodePartialFailureError(response),
6736
- resolve: (res) => {
6737
- mutationResolution.resolved = true;
6738
- mutationResolution.res = res;
6739
- },
6740
- });
6741
- if (mutationResolution.resolved) {
6742
- return mutationResolution.res;
6743
- }
6744
- }
6745
- return this.decodePartialFailureError(response);
6746
- }
6747
- catch (err) {
6748
- const googleAdsError = this.getGoogleAdsError(err);
6749
- if (this.hooks.onMutationError) {
6750
- await this.hooks.onMutationError({
6751
- ...baseHookArguments,
6752
- error: googleAdsError,
6753
- });
6754
- }
6755
- throw googleAdsError;
6756
- }
6757
- },
6758
- /**
6759
- * @description remove resources of type string
6760
- * @returns services.MutateCampaignDraftsResponse
6761
- */
6762
- remove: async (campaignDrafts, options) => {
6763
- const ops = this.buildOperations("remove", campaignDrafts);
6764
- const request = this.buildRequest(ops, options);
6765
- const baseHookArguments = {
6766
- credentials: this.credentials,
6767
- method: "CampaignDraftService.mutateCampaignDrafts",
6768
- mutation: request,
6769
- isServiceCall: true,
6770
- };
6771
- if (this.hooks.onMutationStart) {
6772
- const mutationCancellation = { cancelled: false };
6773
- await this.hooks.onMutationStart({
6774
- ...baseHookArguments,
6775
- cancel: (res) => {
6776
- mutationCancellation.cancelled = true;
6777
- mutationCancellation.res = res;
6778
- },
6779
- editOptions: (options) => {
6780
- Object.entries(options).forEach(([key, val]) => {
6781
- // @ts-expect-error Index with key type is fine
6782
- request[key] = val;
6783
- });
6784
- },
6785
- });
6786
- if (mutationCancellation.cancelled) {
6787
- return mutationCancellation.res;
6788
- }
6789
- }
6790
- try {
6791
- // @ts-expect-error Response is an array type
6792
- const [response] = await service.mutateCampaignDrafts(request, {
6793
- // @ts-expect-error This arg doesn't exist in the type definitions
6794
- otherArgs: {
6795
- headers: this.callHeaders,
6796
- },
6797
- });
6798
- if (this.hooks.onMutationEnd) {
6799
- const mutationResolution = { resolved: false };
6800
- await this.hooks.onMutationEnd({
6801
- ...baseHookArguments,
6802
- response: this.decodePartialFailureError(response),
6803
- resolve: (res) => {
6804
- mutationResolution.resolved = true;
6805
- mutationResolution.res = res;
6806
- },
6807
- });
6808
- if (mutationResolution.resolved) {
6809
- return mutationResolution.res;
6810
- }
6811
- }
6812
- return this.decodePartialFailureError(response);
6813
- }
6814
- catch (err) {
6815
- const googleAdsError = this.getGoogleAdsError(err);
6816
- if (this.hooks.onMutationError) {
6817
- await this.hooks.onMutationError({
6818
- ...baseHookArguments,
6819
- error: googleAdsError,
6820
- });
6821
- }
6822
- throw googleAdsError;
6823
- }
6824
- },
6825
- /**
6826
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignDraftService#promotecampaigndraft
6827
- */
6828
- promoteCampaignDraft: async (request) => {
6829
- const baseHookArguments = {
6830
- credentials: this.credentials,
6831
- method: "CampaignDraftService.PromoteCampaignDraft",
6832
- requestOptions: request,
6833
- };
6834
- if (this.hooks.onServiceStart) {
6835
- const serviceCancellation = { cancelled: false };
6836
- await this.hooks.onServiceStart({
6837
- ...baseHookArguments,
6838
- cancel: (res) => {
6839
- serviceCancellation.cancelled = true;
6840
- serviceCancellation.res = res;
6841
- },
6842
- editOptions: (options) => {
6843
- Object.entries(options).forEach(([key, val]) => {
6844
- // @ts-expect-error Index with key type is fine
6845
- request[key] = val;
6846
- });
6847
- },
6848
- });
6849
- if (serviceCancellation.cancelled) {
6850
- return serviceCancellation.res;
6851
- }
6852
- }
6853
- try {
6854
- // @ts-expect-error Response is an array type
6855
- const [response] = await service.promoteCampaignDraft(request, {
6856
- // @ts-expect-error This arg doesn't exist in the type definitions
6857
- otherArgs: {
6858
- headers: this.callHeaders,
6859
- },
6860
- });
6861
- if (this.hooks.onServiceEnd) {
6862
- const serviceResolution = { resolved: false };
6863
- await this.hooks.onServiceEnd({
6864
- ...baseHookArguments,
6865
- response,
6866
- resolve: (res) => {
6867
- serviceResolution.resolved = true;
6868
- serviceResolution.res = res;
6869
- },
6870
- });
6871
- if (serviceResolution.resolved) {
6872
- return serviceResolution.res;
6873
- }
6874
- }
6875
- return response;
6876
- }
6877
- catch (err) {
6878
- const googleAdsError = this.getGoogleAdsError(err);
6879
- if (this.hooks.onServiceError) {
6880
- await this.hooks.onServiceError({
6881
- ...baseHookArguments,
6882
- error: googleAdsError,
6883
- });
6884
- }
6885
- throw googleAdsError;
6886
- }
6887
- },
6888
- /**
6889
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignDraftService#listcampaigndraftasyncerrors
6890
- */
6891
- listCampaignDraftAsyncErrors: async (request) => {
6892
- const baseHookArguments = {
6893
- credentials: this.credentials,
6894
- method: "CampaignDraftService.ListCampaignDraftAsyncErrors",
6895
- requestOptions: request,
6896
- };
6897
- if (this.hooks.onServiceStart) {
6898
- const serviceCancellation = { cancelled: false };
6899
- await this.hooks.onServiceStart({
6900
- ...baseHookArguments,
6901
- cancel: (res) => {
6902
- serviceCancellation.cancelled = true;
6903
- serviceCancellation.res = res;
6904
- },
6905
- editOptions: (options) => {
6906
- Object.entries(options).forEach(([key, val]) => {
6907
- // @ts-expect-error Index with key type is fine
6908
- request[key] = val;
6909
- });
6910
- },
6911
- });
6912
- if (serviceCancellation.cancelled) {
6913
- return serviceCancellation.res;
6914
- }
6915
- }
6916
- try {
6917
- // @ts-expect-error Response is an array type
6918
- const [response] = await service.listCampaignDraftAsyncErrors(request, {
6919
- // @ts-expect-error This arg doesn't exist in the type definitions
6920
- otherArgs: {
6921
- headers: this.callHeaders,
6922
- },
6923
- });
6924
- if (this.hooks.onServiceEnd) {
6925
- const serviceResolution = { resolved: false };
6926
- await this.hooks.onServiceEnd({
6927
- ...baseHookArguments,
6928
- response,
6929
- resolve: (res) => {
6930
- serviceResolution.resolved = true;
6931
- serviceResolution.res = res;
6932
- },
6933
- });
6934
- if (serviceResolution.resolved) {
6935
- return serviceResolution.res;
6936
- }
6937
- }
6938
- return response;
6939
- }
6940
- catch (err) {
6941
- const googleAdsError = this.getGoogleAdsError(err);
6942
- if (this.hooks.onServiceError) {
6943
- await this.hooks.onServiceError({
6944
- ...baseHookArguments,
6945
- error: googleAdsError,
6946
- });
6947
- }
6948
- throw googleAdsError;
6949
- }
6950
- },
6951
- };
6952
- }
6953
- /**
6954
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignExperimentService
6955
- */
6956
- get campaignExperiments() {
6957
- const service = this.loadService("CampaignExperimentServiceClient");
6958
- return {
6959
- /**
6960
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignExperimentService#createcampaignexperiment
6961
- */
6962
- createCampaignExperiment: async (request) => {
6963
- const baseHookArguments = {
6964
- credentials: this.credentials,
6965
- method: "CampaignExperimentService.CreateCampaignExperiment",
6966
- requestOptions: request,
6967
- };
6968
- if (this.hooks.onServiceStart) {
6969
- const serviceCancellation = { cancelled: false };
6970
- await this.hooks.onServiceStart({
6971
- ...baseHookArguments,
6972
- cancel: (res) => {
6973
- serviceCancellation.cancelled = true;
6974
- serviceCancellation.res = res;
6975
- },
6976
- editOptions: (options) => {
6977
- Object.entries(options).forEach(([key, val]) => {
6978
- // @ts-expect-error Index with key type is fine
6979
- request[key] = val;
6980
- });
6981
- },
6982
- });
6983
- if (serviceCancellation.cancelled) {
6984
- return serviceCancellation.res;
6985
- }
6986
- }
6987
- try {
6988
- // @ts-expect-error Response is an array type
6989
- const [response] = await service.createCampaignExperiment(request, {
6990
- // @ts-expect-error This arg doesn't exist in the type definitions
6991
- otherArgs: {
6992
- headers: this.callHeaders,
6993
- },
6994
- });
6995
- if (this.hooks.onServiceEnd) {
6996
- const serviceResolution = { resolved: false };
6997
- await this.hooks.onServiceEnd({
6998
- ...baseHookArguments,
6999
- response,
7000
- resolve: (res) => {
7001
- serviceResolution.resolved = true;
7002
- serviceResolution.res = res;
7003
- },
7004
- });
7005
- if (serviceResolution.resolved) {
7006
- return serviceResolution.res;
7007
- }
7008
- }
7009
- return response;
7010
- }
7011
- catch (err) {
7012
- const googleAdsError = this.getGoogleAdsError(err);
7013
- if (this.hooks.onServiceError) {
7014
- await this.hooks.onServiceError({
7015
- ...baseHookArguments,
7016
- error: googleAdsError,
7017
- });
7018
- }
7019
- throw googleAdsError;
7020
- }
7021
- },
7022
- /**
7023
- * @description update resources of type resources.ICampaignExperiment
7024
- * @returns services.MutateCampaignExperimentsResponse
7025
- */
7026
- update: async (campaignExperiments, options) => {
7027
- const ops = this.buildOperations("update", campaignExperiments,
7028
- // @ts-expect-error Static class type here is fine
7029
- index_1.resources.CampaignExperiment);
7030
- const request = this.buildRequest(ops, options);
7031
- const baseHookArguments = {
7032
- credentials: this.credentials,
7033
- method: "CampaignExperimentService.mutateCampaignExperiments",
7034
- mutation: request,
7035
- isServiceCall: true,
7036
- };
7037
- if (this.hooks.onMutationStart) {
7038
- const mutationCancellation = { cancelled: false };
7039
- await this.hooks.onMutationStart({
7040
- ...baseHookArguments,
7041
- cancel: (res) => {
7042
- mutationCancellation.cancelled = true;
7043
- mutationCancellation.res = res;
7044
- },
7045
- editOptions: (options) => {
7046
- Object.entries(options).forEach(([key, val]) => {
7047
- // @ts-expect-error Index with key type is fine
7048
- request[key] = val;
7049
- });
7050
- },
7051
- });
7052
- if (mutationCancellation.cancelled) {
7053
- return mutationCancellation.res;
7054
- }
7055
- }
7056
- try {
7057
- // @ts-expect-error Response is an array type
7058
- const [response] = await service.mutateCampaignExperiments(request, {
7059
- // @ts-expect-error This arg doesn't exist in the type definitions
7060
- otherArgs: {
7061
- headers: this.callHeaders,
7062
- },
7063
- });
7064
- if (this.hooks.onMutationEnd) {
7065
- const mutationResolution = { resolved: false };
7066
- await this.hooks.onMutationEnd({
7067
- ...baseHookArguments,
7068
- response: this.decodePartialFailureError(response),
7069
- resolve: (res) => {
7070
- mutationResolution.resolved = true;
7071
- mutationResolution.res = res;
7072
- },
7073
- });
7074
- if (mutationResolution.resolved) {
7075
- return mutationResolution.res;
7076
- }
7077
- }
7078
- return this.decodePartialFailureError(response);
7079
- }
7080
- catch (err) {
7081
- const googleAdsError = this.getGoogleAdsError(err);
7082
- if (this.hooks.onMutationError) {
7083
- await this.hooks.onMutationError({
7084
- ...baseHookArguments,
7085
- error: googleAdsError,
7086
- });
7087
- }
7088
- throw googleAdsError;
7089
- }
7090
- },
7091
- /**
7092
- * @description remove resources of type string
7093
- * @returns services.MutateCampaignExperimentsResponse
7094
- */
7095
- remove: async (campaignExperiments, options) => {
7096
- const ops = this.buildOperations("remove", campaignExperiments);
7097
- const request = this.buildRequest(ops, options);
7098
- const baseHookArguments = {
7099
- credentials: this.credentials,
7100
- method: "CampaignExperimentService.mutateCampaignExperiments",
7101
- mutation: request,
7102
- isServiceCall: true,
7103
- };
7104
- if (this.hooks.onMutationStart) {
7105
- const mutationCancellation = { cancelled: false };
7106
- await this.hooks.onMutationStart({
7107
- ...baseHookArguments,
7108
- cancel: (res) => {
7109
- mutationCancellation.cancelled = true;
7110
- mutationCancellation.res = res;
7111
- },
7112
- editOptions: (options) => {
7113
- Object.entries(options).forEach(([key, val]) => {
7114
- // @ts-expect-error Index with key type is fine
7115
- request[key] = val;
7116
- });
7117
- },
7118
- });
7119
- if (mutationCancellation.cancelled) {
7120
- return mutationCancellation.res;
7121
- }
7122
- }
7123
- try {
7124
- // @ts-expect-error Response is an array type
7125
- const [response] = await service.mutateCampaignExperiments(request, {
7126
- // @ts-expect-error This arg doesn't exist in the type definitions
7127
- otherArgs: {
7128
- headers: this.callHeaders,
7129
- },
7130
- });
7131
- if (this.hooks.onMutationEnd) {
7132
- const mutationResolution = { resolved: false };
7133
- await this.hooks.onMutationEnd({
7134
- ...baseHookArguments,
7135
- response: this.decodePartialFailureError(response),
7136
- resolve: (res) => {
7137
- mutationResolution.resolved = true;
7138
- mutationResolution.res = res;
7139
- },
7140
- });
7141
- if (mutationResolution.resolved) {
7142
- return mutationResolution.res;
7143
- }
7144
- }
7145
- return this.decodePartialFailureError(response);
7146
- }
7147
- catch (err) {
7148
- const googleAdsError = this.getGoogleAdsError(err);
7149
- if (this.hooks.onMutationError) {
7150
- await this.hooks.onMutationError({
7151
- ...baseHookArguments,
7152
- error: googleAdsError,
7153
- });
7154
- }
7155
- throw googleAdsError;
7156
- }
7157
- },
7158
- /**
7159
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignExperimentService#graduatecampaignexperiment
7160
- */
7161
- graduateCampaignExperiment: async (request) => {
7162
- const baseHookArguments = {
7163
- credentials: this.credentials,
7164
- method: "CampaignExperimentService.GraduateCampaignExperiment",
7165
- requestOptions: request,
7166
- };
7167
- if (this.hooks.onServiceStart) {
7168
- const serviceCancellation = { cancelled: false };
7169
- await this.hooks.onServiceStart({
7170
- ...baseHookArguments,
7171
- cancel: (res) => {
7172
- serviceCancellation.cancelled = true;
7173
- serviceCancellation.res = res;
7174
- },
7175
- editOptions: (options) => {
7176
- Object.entries(options).forEach(([key, val]) => {
7177
- // @ts-expect-error Index with key type is fine
7178
- request[key] = val;
7179
- });
7180
- },
7181
- });
7182
- if (serviceCancellation.cancelled) {
7183
- return serviceCancellation.res;
7184
- }
7185
- }
7186
- try {
7187
- // @ts-expect-error Response is an array type
7188
- const [response] = await service.graduateCampaignExperiment(request, {
7189
- // @ts-expect-error This arg doesn't exist in the type definitions
7190
- otherArgs: {
7191
- headers: this.callHeaders,
7192
- },
7193
- });
7194
- if (this.hooks.onServiceEnd) {
7195
- const serviceResolution = { resolved: false };
7196
- await this.hooks.onServiceEnd({
7001
+ await this.hooks.onMutationEnd({
7197
7002
  ...baseHookArguments,
7198
- response,
7003
+ response: this.decodePartialFailureError(response),
7199
7004
  resolve: (res) => {
7200
- serviceResolution.resolved = true;
7201
- serviceResolution.res = res;
7005
+ mutationResolution.resolved = true;
7006
+ mutationResolution.res = res;
7202
7007
  },
7203
7008
  });
7204
- if (serviceResolution.resolved) {
7205
- return serviceResolution.res;
7009
+ if (mutationResolution.resolved) {
7010
+ return mutationResolution.res;
7206
7011
  }
7207
7012
  }
7208
- return response;
7013
+ return this.decodePartialFailureError(response);
7209
7014
  }
7210
7015
  catch (err) {
7211
7016
  const googleAdsError = this.getGoogleAdsError(err);
7212
- if (this.hooks.onServiceError) {
7213
- await this.hooks.onServiceError({
7017
+ if (this.hooks.onMutationError) {
7018
+ await this.hooks.onMutationError({
7214
7019
  ...baseHookArguments,
7215
7020
  error: googleAdsError,
7216
7021
  });
@@ -7219,21 +7024,25 @@ class ServiceFactory extends service_1.Service {
7219
7024
  }
7220
7025
  },
7221
7026
  /**
7222
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignExperimentService#promotecampaignexperiment
7027
+ * @description remove resources of type string
7028
+ * @returns services.MutateCampaignDraftsResponse
7223
7029
  */
7224
- promoteCampaignExperiment: async (request) => {
7030
+ remove: async (campaignDrafts, options) => {
7031
+ const ops = this.buildOperations("remove", campaignDrafts);
7032
+ const request = this.buildRequest(ops, options);
7225
7033
  const baseHookArguments = {
7226
7034
  credentials: this.credentials,
7227
- method: "CampaignExperimentService.PromoteCampaignExperiment",
7228
- requestOptions: request,
7035
+ method: "CampaignDraftService.mutateCampaignDrafts",
7036
+ mutation: request,
7037
+ isServiceCall: true,
7229
7038
  };
7230
- if (this.hooks.onServiceStart) {
7231
- const serviceCancellation = { cancelled: false };
7232
- await this.hooks.onServiceStart({
7039
+ if (this.hooks.onMutationStart) {
7040
+ const mutationCancellation = { cancelled: false };
7041
+ await this.hooks.onMutationStart({
7233
7042
  ...baseHookArguments,
7234
7043
  cancel: (res) => {
7235
- serviceCancellation.cancelled = true;
7236
- serviceCancellation.res = res;
7044
+ mutationCancellation.cancelled = true;
7045
+ mutationCancellation.res = res;
7237
7046
  },
7238
7047
  editOptions: (options) => {
7239
7048
  Object.entries(options).forEach(([key, val]) => {
@@ -7242,38 +7051,38 @@ class ServiceFactory extends service_1.Service {
7242
7051
  });
7243
7052
  },
7244
7053
  });
7245
- if (serviceCancellation.cancelled) {
7246
- return serviceCancellation.res;
7054
+ if (mutationCancellation.cancelled) {
7055
+ return mutationCancellation.res;
7247
7056
  }
7248
7057
  }
7249
7058
  try {
7250
7059
  // @ts-expect-error Response is an array type
7251
- const [response] = await service.promoteCampaignExperiment(request, {
7060
+ const [response] = await service.mutateCampaignDrafts(request, {
7252
7061
  // @ts-expect-error This arg doesn't exist in the type definitions
7253
7062
  otherArgs: {
7254
7063
  headers: this.callHeaders,
7255
7064
  },
7256
7065
  });
7257
- if (this.hooks.onServiceEnd) {
7258
- const serviceResolution = { resolved: false };
7259
- await this.hooks.onServiceEnd({
7066
+ if (this.hooks.onMutationEnd) {
7067
+ const mutationResolution = { resolved: false };
7068
+ await this.hooks.onMutationEnd({
7260
7069
  ...baseHookArguments,
7261
- response,
7070
+ response: this.decodePartialFailureError(response),
7262
7071
  resolve: (res) => {
7263
- serviceResolution.resolved = true;
7264
- serviceResolution.res = res;
7072
+ mutationResolution.resolved = true;
7073
+ mutationResolution.res = res;
7265
7074
  },
7266
7075
  });
7267
- if (serviceResolution.resolved) {
7268
- return serviceResolution.res;
7076
+ if (mutationResolution.resolved) {
7077
+ return mutationResolution.res;
7269
7078
  }
7270
7079
  }
7271
- return response;
7080
+ return this.decodePartialFailureError(response);
7272
7081
  }
7273
7082
  catch (err) {
7274
7083
  const googleAdsError = this.getGoogleAdsError(err);
7275
- if (this.hooks.onServiceError) {
7276
- await this.hooks.onServiceError({
7084
+ if (this.hooks.onMutationError) {
7085
+ await this.hooks.onMutationError({
7277
7086
  ...baseHookArguments,
7278
7087
  error: googleAdsError,
7279
7088
  });
@@ -7282,12 +7091,12 @@ class ServiceFactory extends service_1.Service {
7282
7091
  }
7283
7092
  },
7284
7093
  /**
7285
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignExperimentService#endcampaignexperiment
7094
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CampaignDraftService#promotecampaigndraft
7286
7095
  */
7287
- endCampaignExperiment: async (request) => {
7096
+ promoteCampaignDraft: async (request) => {
7288
7097
  const baseHookArguments = {
7289
7098
  credentials: this.credentials,
7290
- method: "CampaignExperimentService.EndCampaignExperiment",
7099
+ method: "CampaignDraftService.PromoteCampaignDraft",
7291
7100
  requestOptions: request,
7292
7101
  };
7293
7102
  if (this.hooks.onServiceStart) {
@@ -7311,7 +7120,7 @@ class ServiceFactory extends service_1.Service {
7311
7120
  }
7312
7121
  try {
7313
7122
  // @ts-expect-error Response is an array type
7314
- const [response] = await service.endCampaignExperiment(request, {
7123
+ const [response] = await service.promoteCampaignDraft(request, {
7315
7124
  // @ts-expect-error This arg doesn't exist in the type definitions
7316
7125
  otherArgs: {
7317
7126
  headers: this.callHeaders,
@@ -7345,12 +7154,12 @@ class ServiceFactory extends service_1.Service {
7345
7154
  }
7346
7155
  },
7347
7156
  /**
7348
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignExperimentService#listcampaignexperimentasyncerrors
7157
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CampaignDraftService#listcampaigndraftasyncerrors
7349
7158
  */
7350
- listCampaignExperimentAsyncErrors: async (request) => {
7159
+ listCampaignDraftAsyncErrors: async (request) => {
7351
7160
  const baseHookArguments = {
7352
7161
  credentials: this.credentials,
7353
- method: "CampaignExperimentService.ListCampaignExperimentAsyncErrors",
7162
+ method: "CampaignDraftService.ListCampaignDraftAsyncErrors",
7354
7163
  requestOptions: request,
7355
7164
  };
7356
7165
  if (this.hooks.onServiceStart) {
@@ -7374,7 +7183,7 @@ class ServiceFactory extends service_1.Service {
7374
7183
  }
7375
7184
  try {
7376
7185
  // @ts-expect-error Response is an array type
7377
- const [response] = await service.listCampaignExperimentAsyncErrors(request, {
7186
+ const [response] = await service.listCampaignDraftAsyncErrors(request, {
7378
7187
  // @ts-expect-error This arg doesn't exist in the type definitions
7379
7188
  otherArgs: {
7380
7189
  headers: this.callHeaders,
@@ -7410,7 +7219,7 @@ class ServiceFactory extends service_1.Service {
7410
7219
  };
7411
7220
  }
7412
7221
  /**
7413
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignExtensionSettingService
7222
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CampaignExtensionSettingService
7414
7223
  */
7415
7224
  get campaignExtensionSettings() {
7416
7225
  const service = this.loadService("CampaignExtensionSettingServiceClient");
@@ -7621,7 +7430,7 @@ class ServiceFactory extends service_1.Service {
7621
7430
  };
7622
7431
  }
7623
7432
  /**
7624
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignFeedService
7433
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CampaignFeedService
7625
7434
  */
7626
7435
  get campaignFeeds() {
7627
7436
  const service = this.loadService("CampaignFeedServiceClient");
@@ -7832,7 +7641,7 @@ class ServiceFactory extends service_1.Service {
7832
7641
  };
7833
7642
  }
7834
7643
  /**
7835
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignGroupService
7644
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CampaignGroupService
7836
7645
  */
7837
7646
  get campaignGroups() {
7838
7647
  const service = this.loadService("CampaignGroupServiceClient");
@@ -8043,7 +7852,7 @@ class ServiceFactory extends service_1.Service {
8043
7852
  };
8044
7853
  }
8045
7854
  /**
8046
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignLabelService
7855
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CampaignLabelService
8047
7856
  */
8048
7857
  get campaignLabels() {
8049
7858
  const service = this.loadService("CampaignLabelServiceClient");
@@ -8185,7 +7994,7 @@ class ServiceFactory extends service_1.Service {
8185
7994
  };
8186
7995
  }
8187
7996
  /**
8188
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignService
7997
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CampaignService
8189
7998
  */
8190
7999
  get campaigns() {
8191
8000
  const service = this.loadService("CampaignServiceClient");
@@ -8396,7 +8205,7 @@ class ServiceFactory extends service_1.Service {
8396
8205
  };
8397
8206
  }
8398
8207
  /**
8399
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CampaignSharedSetService
8208
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CampaignSharedSetService
8400
8209
  */
8401
8210
  get campaignSharedSets() {
8402
8211
  const service = this.loadService("CampaignSharedSetServiceClient");
@@ -8538,7 +8347,7 @@ class ServiceFactory extends service_1.Service {
8538
8347
  };
8539
8348
  }
8540
8349
  /**
8541
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ConversionActionService
8350
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ConversionActionService
8542
8351
  */
8543
8352
  get conversionActions() {
8544
8353
  const service = this.loadService("ConversionActionServiceClient");
@@ -8749,7 +8558,7 @@ class ServiceFactory extends service_1.Service {
8749
8558
  };
8750
8559
  }
8751
8560
  /**
8752
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ConversionCustomVariableService
8561
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ConversionCustomVariableService
8753
8562
  */
8754
8563
  get conversionCustomVariables() {
8755
8564
  const service = this.loadService("ConversionCustomVariableServiceClient");
@@ -8893,7 +8702,7 @@ class ServiceFactory extends service_1.Service {
8893
8702
  };
8894
8703
  }
8895
8704
  /**
8896
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ConversionGoalCampaignConfigService
8705
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ConversionGoalCampaignConfigService
8897
8706
  */
8898
8707
  get conversionGoalCampaignConfigs() {
8899
8708
  const service = this.loadService("ConversionGoalCampaignConfigServiceClient");
@@ -8970,7 +8779,7 @@ class ServiceFactory extends service_1.Service {
8970
8779
  };
8971
8780
  }
8972
8781
  /**
8973
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ConversionValueRuleService
8782
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ConversionValueRuleService
8974
8783
  */
8975
8784
  get conversionValueRules() {
8976
8785
  const service = this.loadService("ConversionValueRuleServiceClient");
@@ -9181,7 +8990,7 @@ class ServiceFactory extends service_1.Service {
9181
8990
  };
9182
8991
  }
9183
8992
  /**
9184
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ConversionValueRuleSetService
8993
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ConversionValueRuleSetService
9185
8994
  */
9186
8995
  get conversionValueRuleSets() {
9187
8996
  const service = this.loadService("ConversionValueRuleSetServiceClient");
@@ -9392,7 +9201,7 @@ class ServiceFactory extends service_1.Service {
9392
9201
  };
9393
9202
  }
9394
9203
  /**
9395
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomConversionGoalService
9204
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomConversionGoalService
9396
9205
  */
9397
9206
  get customConversionGoals() {
9398
9207
  const service = this.loadService("CustomConversionGoalServiceClient");
@@ -9603,7 +9412,7 @@ class ServiceFactory extends service_1.Service {
9603
9412
  };
9604
9413
  }
9605
9414
  /**
9606
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomerAssetService
9415
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomerAssetService
9607
9416
  */
9608
9417
  get customerAssets() {
9609
9418
  const service = this.loadService("CustomerAssetServiceClient");
@@ -9814,7 +9623,7 @@ class ServiceFactory extends service_1.Service {
9814
9623
  };
9815
9624
  }
9816
9625
  /**
9817
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomerConversionGoalService
9626
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomerConversionGoalService
9818
9627
  */
9819
9628
  get customerConversionGoals() {
9820
9629
  const service = this.loadService("CustomerConversionGoalServiceClient");
@@ -9891,7 +9700,7 @@ class ServiceFactory extends service_1.Service {
9891
9700
  };
9892
9701
  }
9893
9702
  /**
9894
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomerCustomizerService
9703
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomerCustomizerService
9895
9704
  */
9896
9705
  get customerCustomizers() {
9897
9706
  const service = this.loadService("CustomerCustomizerServiceClient");
@@ -10033,7 +9842,7 @@ class ServiceFactory extends service_1.Service {
10033
9842
  };
10034
9843
  }
10035
9844
  /**
10036
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomerExtensionSettingService
9845
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomerExtensionSettingService
10037
9846
  */
10038
9847
  get customerExtensionSettings() {
10039
9848
  const service = this.loadService("CustomerExtensionSettingServiceClient");
@@ -10244,7 +10053,7 @@ class ServiceFactory extends service_1.Service {
10244
10053
  };
10245
10054
  }
10246
10055
  /**
10247
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomerFeedService
10056
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomerFeedService
10248
10057
  */
10249
10058
  get customerFeeds() {
10250
10059
  const service = this.loadService("CustomerFeedServiceClient");
@@ -10455,7 +10264,7 @@ class ServiceFactory extends service_1.Service {
10455
10264
  };
10456
10265
  }
10457
10266
  /**
10458
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomerLabelService
10267
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomerLabelService
10459
10268
  */
10460
10269
  get customerLabels() {
10461
10270
  const service = this.loadService("CustomerLabelServiceClient");
@@ -10597,7 +10406,7 @@ class ServiceFactory extends service_1.Service {
10597
10406
  };
10598
10407
  }
10599
10408
  /**
10600
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomerNegativeCriterionService
10409
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomerNegativeCriterionService
10601
10410
  */
10602
10411
  get customerNegativeCriteria() {
10603
10412
  const service = this.loadService("CustomerNegativeCriterionServiceClient");
@@ -10739,7 +10548,7 @@ class ServiceFactory extends service_1.Service {
10739
10548
  };
10740
10549
  }
10741
10550
  /**
10742
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomerService
10551
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomerService
10743
10552
  */
10744
10553
  get customers() {
10745
10554
  const service = this.loadService("CustomerServiceClient");
@@ -10814,7 +10623,7 @@ class ServiceFactory extends service_1.Service {
10814
10623
  }
10815
10624
  },
10816
10625
  /**
10817
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomerService#listaccessiblecustomers
10626
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomerService#listaccessiblecustomers
10818
10627
  */
10819
10628
  listAccessibleCustomers: async (request) => {
10820
10629
  const baseHookArguments = {
@@ -10877,7 +10686,7 @@ class ServiceFactory extends service_1.Service {
10877
10686
  }
10878
10687
  },
10879
10688
  /**
10880
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomerService#createcustomerclient
10689
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomerService#createcustomerclient
10881
10690
  */
10882
10691
  createCustomerClient: async (request) => {
10883
10692
  const baseHookArguments = {
@@ -10942,7 +10751,7 @@ class ServiceFactory extends service_1.Service {
10942
10751
  };
10943
10752
  }
10944
10753
  /**
10945
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomizerAttributeService
10754
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomizerAttributeService
10946
10755
  */
10947
10756
  get customizerAttributes() {
10948
10757
  const service = this.loadService("CustomizerAttributeServiceClient");
@@ -11084,7 +10893,7 @@ class ServiceFactory extends service_1.Service {
11084
10893
  };
11085
10894
  }
11086
10895
  /**
11087
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ExperimentArmService
10896
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ExperimentArmService
11088
10897
  */
11089
10898
  get experimentArms() {
11090
10899
  const service = this.loadService("ExperimentArmServiceClient");
@@ -11295,7 +11104,7 @@ class ServiceFactory extends service_1.Service {
11295
11104
  };
11296
11105
  }
11297
11106
  /**
11298
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ExperimentService
11107
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ExperimentService
11299
11108
  */
11300
11109
  get experiments() {
11301
11110
  const service = this.loadService("ExperimentServiceClient");
@@ -11504,7 +11313,7 @@ class ServiceFactory extends service_1.Service {
11504
11313
  }
11505
11314
  },
11506
11315
  /**
11507
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ExperimentService#endexperiment
11316
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ExperimentService#endexperiment
11508
11317
  */
11509
11318
  endExperiment: async (request) => {
11510
11319
  const baseHookArguments = {
@@ -11567,7 +11376,7 @@ class ServiceFactory extends service_1.Service {
11567
11376
  }
11568
11377
  },
11569
11378
  /**
11570
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ExperimentService#listexperimentasyncerrors
11379
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ExperimentService#listexperimentasyncerrors
11571
11380
  */
11572
11381
  listExperimentAsyncErrors: async (request) => {
11573
11382
  const baseHookArguments = {
@@ -11630,7 +11439,7 @@ class ServiceFactory extends service_1.Service {
11630
11439
  }
11631
11440
  },
11632
11441
  /**
11633
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ExperimentService#graduateexperiment
11442
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ExperimentService#graduateexperiment
11634
11443
  */
11635
11444
  graduateExperiment: async (request) => {
11636
11445
  const baseHookArguments = {
@@ -11693,7 +11502,7 @@ class ServiceFactory extends service_1.Service {
11693
11502
  }
11694
11503
  },
11695
11504
  /**
11696
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ExperimentService#scheduleexperiment
11505
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ExperimentService#scheduleexperiment
11697
11506
  */
11698
11507
  scheduleExperiment: async (request) => {
11699
11508
  const baseHookArguments = {
@@ -11756,7 +11565,7 @@ class ServiceFactory extends service_1.Service {
11756
11565
  }
11757
11566
  },
11758
11567
  /**
11759
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ExperimentService#promoteexperiment
11568
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ExperimentService#promoteexperiment
11760
11569
  */
11761
11570
  promoteExperiment: async (request) => {
11762
11571
  const baseHookArguments = {
@@ -11821,7 +11630,7 @@ class ServiceFactory extends service_1.Service {
11821
11630
  };
11822
11631
  }
11823
11632
  /**
11824
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ExtensionFeedItemService
11633
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ExtensionFeedItemService
11825
11634
  */
11826
11635
  get extensionFeedItems() {
11827
11636
  const service = this.loadService("ExtensionFeedItemServiceClient");
@@ -12032,7 +11841,7 @@ class ServiceFactory extends service_1.Service {
12032
11841
  };
12033
11842
  }
12034
11843
  /**
12035
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/FeedItemService
11844
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/FeedItemService
12036
11845
  */
12037
11846
  get feedItems() {
12038
11847
  const service = this.loadService("FeedItemServiceClient");
@@ -12243,7 +12052,7 @@ class ServiceFactory extends service_1.Service {
12243
12052
  };
12244
12053
  }
12245
12054
  /**
12246
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/FeedItemSetLinkService
12055
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/FeedItemSetLinkService
12247
12056
  */
12248
12057
  get feedItemSetLinks() {
12249
12058
  const service = this.loadService("FeedItemSetLinkServiceClient");
@@ -12385,7 +12194,7 @@ class ServiceFactory extends service_1.Service {
12385
12194
  };
12386
12195
  }
12387
12196
  /**
12388
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/FeedItemSetService
12197
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/FeedItemSetService
12389
12198
  */
12390
12199
  get feedItemSets() {
12391
12200
  const service = this.loadService("FeedItemSetServiceClient");
@@ -12596,7 +12405,7 @@ class ServiceFactory extends service_1.Service {
12596
12405
  };
12597
12406
  }
12598
12407
  /**
12599
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/FeedItemTargetService
12408
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/FeedItemTargetService
12600
12409
  */
12601
12410
  get feedItemTargets() {
12602
12411
  const service = this.loadService("FeedItemTargetServiceClient");
@@ -12738,7 +12547,7 @@ class ServiceFactory extends service_1.Service {
12738
12547
  };
12739
12548
  }
12740
12549
  /**
12741
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/FeedMappingService
12550
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/FeedMappingService
12742
12551
  */
12743
12552
  get feedMappings() {
12744
12553
  const service = this.loadService("FeedMappingServiceClient");
@@ -12880,7 +12689,7 @@ class ServiceFactory extends service_1.Service {
12880
12689
  };
12881
12690
  }
12882
12691
  /**
12883
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/FeedService
12692
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/FeedService
12884
12693
  */
12885
12694
  get feeds() {
12886
12695
  const service = this.loadService("FeedServiceClient");
@@ -13091,7 +12900,7 @@ class ServiceFactory extends service_1.Service {
13091
12900
  };
13092
12901
  }
13093
12902
  /**
13094
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/KeywordPlanAdGroupKeywordService
12903
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/KeywordPlanAdGroupKeywordService
13095
12904
  */
13096
12905
  get keywordPlanAdGroupKeywords() {
13097
12906
  const service = this.loadService("KeywordPlanAdGroupKeywordServiceClient");
@@ -13302,7 +13111,7 @@ class ServiceFactory extends service_1.Service {
13302
13111
  };
13303
13112
  }
13304
13113
  /**
13305
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/KeywordPlanAdGroupService
13114
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/KeywordPlanAdGroupService
13306
13115
  */
13307
13116
  get keywordPlanAdGroups() {
13308
13117
  const service = this.loadService("KeywordPlanAdGroupServiceClient");
@@ -13513,7 +13322,7 @@ class ServiceFactory extends service_1.Service {
13513
13322
  };
13514
13323
  }
13515
13324
  /**
13516
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/KeywordPlanCampaignKeywordService
13325
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/KeywordPlanCampaignKeywordService
13517
13326
  */
13518
13327
  get keywordPlanCampaignKeywords() {
13519
13328
  const service = this.loadService("KeywordPlanCampaignKeywordServiceClient");
@@ -13724,7 +13533,7 @@ class ServiceFactory extends service_1.Service {
13724
13533
  };
13725
13534
  }
13726
13535
  /**
13727
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/KeywordPlanCampaignService
13536
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/KeywordPlanCampaignService
13728
13537
  */
13729
13538
  get keywordPlanCampaigns() {
13730
13539
  const service = this.loadService("KeywordPlanCampaignServiceClient");
@@ -13935,7 +13744,7 @@ class ServiceFactory extends service_1.Service {
13935
13744
  };
13936
13745
  }
13937
13746
  /**
13938
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/KeywordPlanService
13747
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/KeywordPlanService
13939
13748
  */
13940
13749
  get keywordPlans() {
13941
13750
  const service = this.loadService("KeywordPlanServiceClient");
@@ -14144,7 +13953,7 @@ class ServiceFactory extends service_1.Service {
14144
13953
  }
14145
13954
  },
14146
13955
  /**
14147
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/KeywordPlanService#generateforecastcurve
13956
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/KeywordPlanService#generateforecastcurve
14148
13957
  */
14149
13958
  generateForecastCurve: async (request) => {
14150
13959
  const baseHookArguments = {
@@ -14207,7 +14016,7 @@ class ServiceFactory extends service_1.Service {
14207
14016
  }
14208
14017
  },
14209
14018
  /**
14210
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/KeywordPlanService#generateforecasttimeseries
14019
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/KeywordPlanService#generateforecasttimeseries
14211
14020
  */
14212
14021
  generateForecastTimeSeries: async (request) => {
14213
14022
  const baseHookArguments = {
@@ -14270,7 +14079,7 @@ class ServiceFactory extends service_1.Service {
14270
14079
  }
14271
14080
  },
14272
14081
  /**
14273
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/KeywordPlanService#generateforecastmetrics
14082
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/KeywordPlanService#generateforecastmetrics
14274
14083
  */
14275
14084
  generateForecastMetrics: async (request) => {
14276
14085
  const baseHookArguments = {
@@ -14333,7 +14142,7 @@ class ServiceFactory extends service_1.Service {
14333
14142
  }
14334
14143
  },
14335
14144
  /**
14336
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/KeywordPlanService#generatehistoricalmetrics
14145
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/KeywordPlanService#generatehistoricalmetrics
14337
14146
  */
14338
14147
  generateHistoricalMetrics: async (request) => {
14339
14148
  const baseHookArguments = {
@@ -14398,7 +14207,7 @@ class ServiceFactory extends service_1.Service {
14398
14207
  };
14399
14208
  }
14400
14209
  /**
14401
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/LabelService
14210
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/LabelService
14402
14211
  */
14403
14212
  get labels() {
14404
14213
  const service = this.loadService("LabelServiceClient");
@@ -14609,7 +14418,7 @@ class ServiceFactory extends service_1.Service {
14609
14418
  };
14610
14419
  }
14611
14420
  /**
14612
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/MediaFileService
14421
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/MediaFileService
14613
14422
  */
14614
14423
  get mediaFiles() {
14615
14424
  const service = this.loadService("MediaFileServiceClient");
@@ -14684,7 +14493,7 @@ class ServiceFactory extends service_1.Service {
14684
14493
  };
14685
14494
  }
14686
14495
  /**
14687
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/RemarketingActionService
14496
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/RemarketingActionService
14688
14497
  */
14689
14498
  get remarketingActions() {
14690
14499
  const service = this.loadService("RemarketingActionServiceClient");
@@ -14828,7 +14637,7 @@ class ServiceFactory extends service_1.Service {
14828
14637
  };
14829
14638
  }
14830
14639
  /**
14831
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/SharedCriterionService
14640
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/SharedCriterionService
14832
14641
  */
14833
14642
  get sharedCriteria() {
14834
14643
  const service = this.loadService("SharedCriterionServiceClient");
@@ -14970,7 +14779,7 @@ class ServiceFactory extends service_1.Service {
14970
14779
  };
14971
14780
  }
14972
14781
  /**
14973
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/SharedSetService
14782
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/SharedSetService
14974
14783
  */
14975
14784
  get sharedSets() {
14976
14785
  const service = this.loadService("SharedSetServiceClient");
@@ -15181,7 +14990,7 @@ class ServiceFactory extends service_1.Service {
15181
14990
  };
15182
14991
  }
15183
14992
  /**
15184
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/SmartCampaignSettingService
14993
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/SmartCampaignSettingService
15185
14994
  */
15186
14995
  get smartCampaignSettings() {
15187
14996
  const service = this.loadService("SmartCampaignSettingServiceClient");
@@ -15258,7 +15067,7 @@ class ServiceFactory extends service_1.Service {
15258
15067
  };
15259
15068
  }
15260
15069
  /**
15261
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/UserListService
15070
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/UserListService
15262
15071
  */
15263
15072
  get userLists() {
15264
15073
  const service = this.loadService("UserListServiceClient");
@@ -15469,7 +15278,7 @@ class ServiceFactory extends service_1.Service {
15469
15278
  };
15470
15279
  }
15471
15280
  /**
15472
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/BillingSetupService
15281
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/BillingSetupService
15473
15282
  */
15474
15283
  get billingSetups() {
15475
15284
  const service = this.loadService("BillingSetupServiceClient");
@@ -15611,13 +15420,13 @@ class ServiceFactory extends service_1.Service {
15611
15420
  };
15612
15421
  }
15613
15422
  /**
15614
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ConversionAdjustmentUploadService
15423
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ConversionAdjustmentUploadService
15615
15424
  */
15616
15425
  get conversionAdjustmentUploads() {
15617
15426
  const service = this.loadService("ConversionAdjustmentUploadServiceClient");
15618
15427
  return {
15619
15428
  /**
15620
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ConversionAdjustmentUploadService#uploadconversionadjustments
15429
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ConversionAdjustmentUploadService#uploadconversionadjustments
15621
15430
  */
15622
15431
  uploadConversionAdjustments: async (request) => {
15623
15432
  const baseHookArguments = {
@@ -15682,13 +15491,13 @@ class ServiceFactory extends service_1.Service {
15682
15491
  };
15683
15492
  }
15684
15493
  /**
15685
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ConversionUploadService
15494
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ConversionUploadService
15686
15495
  */
15687
15496
  get conversionUploads() {
15688
15497
  const service = this.loadService("ConversionUploadServiceClient");
15689
15498
  return {
15690
15499
  /**
15691
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ConversionUploadService#uploadclickconversions
15500
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ConversionUploadService#uploadclickconversions
15692
15501
  */
15693
15502
  uploadClickConversions: async (request) => {
15694
15503
  const baseHookArguments = {
@@ -15751,7 +15560,7 @@ class ServiceFactory extends service_1.Service {
15751
15560
  }
15752
15561
  },
15753
15562
  /**
15754
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ConversionUploadService#uploadcallconversions
15563
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ConversionUploadService#uploadcallconversions
15755
15564
  */
15756
15565
  uploadCallConversions: async (request) => {
15757
15566
  const baseHookArguments = {
@@ -15816,7 +15625,7 @@ class ServiceFactory extends service_1.Service {
15816
15625
  };
15817
15626
  }
15818
15627
  /**
15819
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomAudienceService
15628
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomAudienceService
15820
15629
  */
15821
15630
  get customAudiences() {
15822
15631
  const service = this.loadService("CustomAudienceServiceClient");
@@ -16027,7 +15836,7 @@ class ServiceFactory extends service_1.Service {
16027
15836
  };
16028
15837
  }
16029
15838
  /**
16030
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomInterestService
15839
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomInterestService
16031
15840
  */
16032
15841
  get customInterests() {
16033
15842
  const service = this.loadService("CustomInterestServiceClient");
@@ -16171,7 +15980,149 @@ class ServiceFactory extends service_1.Service {
16171
15980
  };
16172
15981
  }
16173
15982
  /**
16174
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomerClientLinkService
15983
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomerAssetSetService
15984
+ */
15985
+ get customerAssetSets() {
15986
+ const service = this.loadService("CustomerAssetSetServiceClient");
15987
+ return {
15988
+ /**
15989
+ * @description create resources of type resources.ICustomerAssetSet
15990
+ * @returns services.MutateCustomerAssetSetsResponse
15991
+ */
15992
+ create: async (customerAssetSets, options) => {
15993
+ const ops = this.buildOperations("create", customerAssetSets);
15994
+ const request = this.buildRequest(ops, options);
15995
+ const baseHookArguments = {
15996
+ credentials: this.credentials,
15997
+ method: "CustomerAssetSetService.mutateCustomerAssetSets",
15998
+ mutation: request,
15999
+ isServiceCall: true,
16000
+ };
16001
+ if (this.hooks.onMutationStart) {
16002
+ const mutationCancellation = { cancelled: false };
16003
+ await this.hooks.onMutationStart({
16004
+ ...baseHookArguments,
16005
+ cancel: (res) => {
16006
+ mutationCancellation.cancelled = true;
16007
+ mutationCancellation.res = res;
16008
+ },
16009
+ editOptions: (options) => {
16010
+ Object.entries(options).forEach(([key, val]) => {
16011
+ // @ts-expect-error Index with key type is fine
16012
+ request[key] = val;
16013
+ });
16014
+ },
16015
+ });
16016
+ if (mutationCancellation.cancelled) {
16017
+ return mutationCancellation.res;
16018
+ }
16019
+ }
16020
+ try {
16021
+ // @ts-expect-error Response is an array type
16022
+ const [response] = await service.mutateCustomerAssetSets(request, {
16023
+ // @ts-expect-error This arg doesn't exist in the type definitions
16024
+ otherArgs: {
16025
+ headers: this.callHeaders,
16026
+ },
16027
+ });
16028
+ if (this.hooks.onMutationEnd) {
16029
+ const mutationResolution = { resolved: false };
16030
+ await this.hooks.onMutationEnd({
16031
+ ...baseHookArguments,
16032
+ response: this.decodePartialFailureError(response),
16033
+ resolve: (res) => {
16034
+ mutationResolution.resolved = true;
16035
+ mutationResolution.res = res;
16036
+ },
16037
+ });
16038
+ if (mutationResolution.resolved) {
16039
+ return mutationResolution.res;
16040
+ }
16041
+ }
16042
+ return this.decodePartialFailureError(response);
16043
+ }
16044
+ catch (err) {
16045
+ const googleAdsError = this.getGoogleAdsError(err);
16046
+ if (this.hooks.onMutationError) {
16047
+ await this.hooks.onMutationError({
16048
+ ...baseHookArguments,
16049
+ error: googleAdsError,
16050
+ });
16051
+ }
16052
+ throw googleAdsError;
16053
+ }
16054
+ },
16055
+ /**
16056
+ * @description remove resources of type string
16057
+ * @returns services.MutateCustomerAssetSetsResponse
16058
+ */
16059
+ remove: async (customerAssetSets, options) => {
16060
+ const ops = this.buildOperations("remove", customerAssetSets);
16061
+ const request = this.buildRequest(ops, options);
16062
+ const baseHookArguments = {
16063
+ credentials: this.credentials,
16064
+ method: "CustomerAssetSetService.mutateCustomerAssetSets",
16065
+ mutation: request,
16066
+ isServiceCall: true,
16067
+ };
16068
+ if (this.hooks.onMutationStart) {
16069
+ const mutationCancellation = { cancelled: false };
16070
+ await this.hooks.onMutationStart({
16071
+ ...baseHookArguments,
16072
+ cancel: (res) => {
16073
+ mutationCancellation.cancelled = true;
16074
+ mutationCancellation.res = res;
16075
+ },
16076
+ editOptions: (options) => {
16077
+ Object.entries(options).forEach(([key, val]) => {
16078
+ // @ts-expect-error Index with key type is fine
16079
+ request[key] = val;
16080
+ });
16081
+ },
16082
+ });
16083
+ if (mutationCancellation.cancelled) {
16084
+ return mutationCancellation.res;
16085
+ }
16086
+ }
16087
+ try {
16088
+ // @ts-expect-error Response is an array type
16089
+ const [response] = await service.mutateCustomerAssetSets(request, {
16090
+ // @ts-expect-error This arg doesn't exist in the type definitions
16091
+ otherArgs: {
16092
+ headers: this.callHeaders,
16093
+ },
16094
+ });
16095
+ if (this.hooks.onMutationEnd) {
16096
+ const mutationResolution = { resolved: false };
16097
+ await this.hooks.onMutationEnd({
16098
+ ...baseHookArguments,
16099
+ response: this.decodePartialFailureError(response),
16100
+ resolve: (res) => {
16101
+ mutationResolution.resolved = true;
16102
+ mutationResolution.res = res;
16103
+ },
16104
+ });
16105
+ if (mutationResolution.resolved) {
16106
+ return mutationResolution.res;
16107
+ }
16108
+ }
16109
+ return this.decodePartialFailureError(response);
16110
+ }
16111
+ catch (err) {
16112
+ const googleAdsError = this.getGoogleAdsError(err);
16113
+ if (this.hooks.onMutationError) {
16114
+ await this.hooks.onMutationError({
16115
+ ...baseHookArguments,
16116
+ error: googleAdsError,
16117
+ });
16118
+ }
16119
+ throw googleAdsError;
16120
+ }
16121
+ },
16122
+ };
16123
+ }
16124
+ /**
16125
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomerClientLinkService
16175
16126
  */
16176
16127
  get customerClientLinks() {
16177
16128
  const service = this.loadService("CustomerClientLinkServiceClient");
@@ -16315,7 +16266,7 @@ class ServiceFactory extends service_1.Service {
16315
16266
  };
16316
16267
  }
16317
16268
  /**
16318
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomerManagerLinkService
16269
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomerManagerLinkService
16319
16270
  */
16320
16271
  get customerManagerLinks() {
16321
16272
  const service = this.loadService("CustomerManagerLinkServiceClient");
@@ -16390,7 +16341,7 @@ class ServiceFactory extends service_1.Service {
16390
16341
  }
16391
16342
  },
16392
16343
  /**
16393
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomerManagerLinkService#movemanagerlink
16344
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomerManagerLinkService#movemanagerlink
16394
16345
  */
16395
16346
  moveManagerLink: async (request) => {
16396
16347
  const baseHookArguments = {
@@ -16455,7 +16406,7 @@ class ServiceFactory extends service_1.Service {
16455
16406
  };
16456
16407
  }
16457
16408
  /**
16458
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomerUserAccessInvitationService
16409
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomerUserAccessInvitationService
16459
16410
  */
16460
16411
  get customerUserAccessInvitations() {
16461
16412
  const service = this.loadService("CustomerUserAccessInvitationServiceClient");
@@ -16597,7 +16548,7 @@ class ServiceFactory extends service_1.Service {
16597
16548
  };
16598
16549
  }
16599
16550
  /**
16600
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/CustomerUserAccessService
16551
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/CustomerUserAccessService
16601
16552
  */
16602
16553
  get customerUserAccesses() {
16603
16554
  const service = this.loadService("CustomerUserAccessServiceClient");
@@ -16741,13 +16692,13 @@ class ServiceFactory extends service_1.Service {
16741
16692
  };
16742
16693
  }
16743
16694
  /**
16744
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/GeoTargetConstantService
16695
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/GeoTargetConstantService
16745
16696
  */
16746
16697
  get geoTargetConstants() {
16747
16698
  const service = this.loadService("GeoTargetConstantServiceClient");
16748
16699
  return {
16749
16700
  /**
16750
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/GeoTargetConstantService#suggestgeotargetconstants
16701
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/GeoTargetConstantService#suggestgeotargetconstants
16751
16702
  */
16752
16703
  suggestGeoTargetConstants: async (request) => {
16753
16704
  const baseHookArguments = {
@@ -16812,13 +16763,13 @@ class ServiceFactory extends service_1.Service {
16812
16763
  };
16813
16764
  }
16814
16765
  /**
16815
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/InvoiceService
16766
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/InvoiceService
16816
16767
  */
16817
16768
  get invoices() {
16818
16769
  const service = this.loadService("InvoiceServiceClient");
16819
16770
  return {
16820
16771
  /**
16821
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/InvoiceService#listinvoices
16772
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/InvoiceService#listinvoices
16822
16773
  */
16823
16774
  listInvoices: async (request) => {
16824
16775
  const baseHookArguments = {
@@ -16883,13 +16834,13 @@ class ServiceFactory extends service_1.Service {
16883
16834
  };
16884
16835
  }
16885
16836
  /**
16886
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/KeywordPlanIdeaService
16837
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/KeywordPlanIdeaService
16887
16838
  */
16888
16839
  get keywordPlanIdeas() {
16889
16840
  const service = this.loadService("KeywordPlanIdeaServiceClient");
16890
16841
  return {
16891
16842
  /**
16892
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/KeywordPlanIdeaService#generatekeywordideas
16843
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/KeywordPlanIdeaService#generatekeywordideas
16893
16844
  */
16894
16845
  generateKeywordIdeas: async (request) => {
16895
16846
  const baseHookArguments = {
@@ -16952,7 +16903,7 @@ class ServiceFactory extends service_1.Service {
16952
16903
  }
16953
16904
  },
16954
16905
  /**
16955
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/KeywordPlanIdeaService#generatekeywordhistoricalmetrics
16906
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/KeywordPlanIdeaService#generatekeywordhistoricalmetrics
16956
16907
  */
16957
16908
  generateKeywordHistoricalMetrics: async (request) => {
16958
16909
  const baseHookArguments = {
@@ -17015,7 +16966,7 @@ class ServiceFactory extends service_1.Service {
17015
16966
  }
17016
16967
  },
17017
16968
  /**
17018
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/KeywordPlanIdeaService#generateadgroupthemes
16969
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/KeywordPlanIdeaService#generateadgroupthemes
17019
16970
  */
17020
16971
  generateAdGroupThemes: async (request) => {
17021
16972
  const baseHookArguments = {
@@ -17080,13 +17031,13 @@ class ServiceFactory extends service_1.Service {
17080
17031
  };
17081
17032
  }
17082
17033
  /**
17083
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/KeywordThemeConstantService
17034
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/KeywordThemeConstantService
17084
17035
  */
17085
17036
  get keywordThemeConstants() {
17086
17037
  const service = this.loadService("KeywordThemeConstantServiceClient");
17087
17038
  return {
17088
17039
  /**
17089
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/KeywordThemeConstantService#suggestkeywordthemeconstants
17040
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/KeywordThemeConstantService#suggestkeywordthemeconstants
17090
17041
  */
17091
17042
  suggestKeywordThemeConstants: async (request) => {
17092
17043
  const baseHookArguments = {
@@ -17151,13 +17102,13 @@ class ServiceFactory extends service_1.Service {
17151
17102
  };
17152
17103
  }
17153
17104
  /**
17154
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/MerchantCenterLinkService
17105
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/MerchantCenterLinkService
17155
17106
  */
17156
17107
  get merchantCenterLinks() {
17157
17108
  const service = this.loadService("MerchantCenterLinkServiceClient");
17158
17109
  return {
17159
17110
  /**
17160
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/MerchantCenterLinkService#listmerchantcenterlinks
17111
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/MerchantCenterLinkService#listmerchantcenterlinks
17161
17112
  */
17162
17113
  listMerchantCenterLinks: async (request) => {
17163
17114
  const baseHookArguments = {
@@ -17220,7 +17171,7 @@ class ServiceFactory extends service_1.Service {
17220
17171
  }
17221
17172
  },
17222
17173
  /**
17223
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/MerchantCenterLinkService#getmerchantcenterlink
17174
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/MerchantCenterLinkService#getmerchantcenterlink
17224
17175
  */
17225
17176
  getMerchantCenterLink: async (request) => {
17226
17177
  const baseHookArguments = {
@@ -17421,13 +17372,13 @@ class ServiceFactory extends service_1.Service {
17421
17372
  };
17422
17373
  }
17423
17374
  /**
17424
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/OfflineUserDataJobService
17375
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/OfflineUserDataJobService
17425
17376
  */
17426
17377
  get offlineUserDataJobs() {
17427
17378
  const service = this.loadService("OfflineUserDataJobServiceClient");
17428
17379
  return {
17429
17380
  /**
17430
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/OfflineUserDataJobService#createofflineuserdatajob
17381
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/OfflineUserDataJobService#createofflineuserdatajob
17431
17382
  */
17432
17383
  createOfflineUserDataJob: async (request) => {
17433
17384
  const baseHookArguments = {
@@ -17490,7 +17441,7 @@ class ServiceFactory extends service_1.Service {
17490
17441
  }
17491
17442
  },
17492
17443
  /**
17493
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/OfflineUserDataJobService#addofflineuserdatajoboperations
17444
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/OfflineUserDataJobService#addofflineuserdatajoboperations
17494
17445
  */
17495
17446
  addOfflineUserDataJobOperations: async (request) => {
17496
17447
  const baseHookArguments = {
@@ -17553,7 +17504,7 @@ class ServiceFactory extends service_1.Service {
17553
17504
  }
17554
17505
  },
17555
17506
  /**
17556
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/OfflineUserDataJobService#runofflineuserdatajob
17507
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/OfflineUserDataJobService#runofflineuserdatajob
17557
17508
  */
17558
17509
  runOfflineUserDataJob: async (request) => {
17559
17510
  const baseHookArguments = {
@@ -17618,13 +17569,13 @@ class ServiceFactory extends service_1.Service {
17618
17569
  };
17619
17570
  }
17620
17571
  /**
17621
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/PaymentsAccountService
17572
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/PaymentsAccountService
17622
17573
  */
17623
17574
  get paymentsAccounts() {
17624
17575
  const service = this.loadService("PaymentsAccountServiceClient");
17625
17576
  return {
17626
17577
  /**
17627
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/PaymentsAccountService#listpaymentsaccounts
17578
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/PaymentsAccountService#listpaymentsaccounts
17628
17579
  */
17629
17580
  listPaymentsAccounts: async (request) => {
17630
17581
  const baseHookArguments = {
@@ -17689,13 +17640,13 @@ class ServiceFactory extends service_1.Service {
17689
17640
  };
17690
17641
  }
17691
17642
  /**
17692
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ReachPlanService
17643
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ReachPlanService
17693
17644
  */
17694
17645
  get reachPlans() {
17695
17646
  const service = this.loadService("ReachPlanServiceClient");
17696
17647
  return {
17697
17648
  /**
17698
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ReachPlanService#listplannablelocations
17649
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ReachPlanService#listplannablelocations
17699
17650
  */
17700
17651
  listPlannableLocations: async (request) => {
17701
17652
  const baseHookArguments = {
@@ -17758,7 +17709,7 @@ class ServiceFactory extends service_1.Service {
17758
17709
  }
17759
17710
  },
17760
17711
  /**
17761
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ReachPlanService#listplannableproducts
17712
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ReachPlanService#listplannableproducts
17762
17713
  */
17763
17714
  listPlannableProducts: async (request) => {
17764
17715
  const baseHookArguments = {
@@ -17821,70 +17772,7 @@ class ServiceFactory extends service_1.Service {
17821
17772
  }
17822
17773
  },
17823
17774
  /**
17824
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ReachPlanService#generateproductmixideas
17825
- */
17826
- generateProductMixIdeas: async (request) => {
17827
- const baseHookArguments = {
17828
- credentials: this.credentials,
17829
- method: "ReachPlanService.GenerateProductMixIdeas",
17830
- requestOptions: request,
17831
- };
17832
- if (this.hooks.onServiceStart) {
17833
- const serviceCancellation = { cancelled: false };
17834
- await this.hooks.onServiceStart({
17835
- ...baseHookArguments,
17836
- cancel: (res) => {
17837
- serviceCancellation.cancelled = true;
17838
- serviceCancellation.res = res;
17839
- },
17840
- editOptions: (options) => {
17841
- Object.entries(options).forEach(([key, val]) => {
17842
- // @ts-expect-error Index with key type is fine
17843
- request[key] = val;
17844
- });
17845
- },
17846
- });
17847
- if (serviceCancellation.cancelled) {
17848
- return serviceCancellation.res;
17849
- }
17850
- }
17851
- try {
17852
- // @ts-expect-error Response is an array type
17853
- const [response] = await service.generateProductMixIdeas(request, {
17854
- // @ts-expect-error This arg doesn't exist in the type definitions
17855
- otherArgs: {
17856
- headers: this.callHeaders,
17857
- },
17858
- });
17859
- if (this.hooks.onServiceEnd) {
17860
- const serviceResolution = { resolved: false };
17861
- await this.hooks.onServiceEnd({
17862
- ...baseHookArguments,
17863
- response,
17864
- resolve: (res) => {
17865
- serviceResolution.resolved = true;
17866
- serviceResolution.res = res;
17867
- },
17868
- });
17869
- if (serviceResolution.resolved) {
17870
- return serviceResolution.res;
17871
- }
17872
- }
17873
- return response;
17874
- }
17875
- catch (err) {
17876
- const googleAdsError = this.getGoogleAdsError(err);
17877
- if (this.hooks.onServiceError) {
17878
- await this.hooks.onServiceError({
17879
- ...baseHookArguments,
17880
- error: googleAdsError,
17881
- });
17882
- }
17883
- throw googleAdsError;
17884
- }
17885
- },
17886
- /**
17887
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ReachPlanService#generatereachforecast
17775
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ReachPlanService#generatereachforecast
17888
17776
  */
17889
17777
  generateReachForecast: async (request) => {
17890
17778
  const baseHookArguments = {
@@ -17949,13 +17837,13 @@ class ServiceFactory extends service_1.Service {
17949
17837
  };
17950
17838
  }
17951
17839
  /**
17952
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/RecommendationService
17840
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/RecommendationService
17953
17841
  */
17954
17842
  get recommendations() {
17955
17843
  const service = this.loadService("RecommendationServiceClient");
17956
17844
  return {
17957
17845
  /**
17958
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/RecommendationService#applyrecommendation
17846
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/RecommendationService#applyrecommendation
17959
17847
  */
17960
17848
  applyRecommendation: async (request) => {
17961
17849
  const baseHookArguments = {
@@ -18018,7 +17906,7 @@ class ServiceFactory extends service_1.Service {
18018
17906
  }
18019
17907
  },
18020
17908
  /**
18021
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/RecommendationService#dismissrecommendation
17909
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/RecommendationService#dismissrecommendation
18022
17910
  */
18023
17911
  dismissRecommendation: async (request) => {
18024
17912
  const baseHookArguments = {
@@ -18083,13 +17971,13 @@ class ServiceFactory extends service_1.Service {
18083
17971
  };
18084
17972
  }
18085
17973
  /**
18086
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/SmartCampaignSuggestService
17974
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/SmartCampaignSuggestService
18087
17975
  */
18088
17976
  get smartCampaignSuggests() {
18089
17977
  const service = this.loadService("SmartCampaignSuggestServiceClient");
18090
17978
  return {
18091
17979
  /**
18092
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/SmartCampaignSuggestService#suggestsmartcampaignbudgetoptions
17980
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/SmartCampaignSuggestService#suggestsmartcampaignbudgetoptions
18093
17981
  */
18094
17982
  suggestSmartCampaignBudgetOptions: async (request) => {
18095
17983
  const baseHookArguments = {
@@ -18152,7 +18040,7 @@ class ServiceFactory extends service_1.Service {
18152
18040
  }
18153
18041
  },
18154
18042
  /**
18155
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/SmartCampaignSuggestService#suggestsmartcampaignad
18043
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/SmartCampaignSuggestService#suggestsmartcampaignad
18156
18044
  */
18157
18045
  suggestSmartCampaignAd: async (request) => {
18158
18046
  const baseHookArguments = {
@@ -18215,7 +18103,7 @@ class ServiceFactory extends service_1.Service {
18215
18103
  }
18216
18104
  },
18217
18105
  /**
18218
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/SmartCampaignSuggestService#suggestkeywordthemes
18106
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/SmartCampaignSuggestService#suggestkeywordthemes
18219
18107
  */
18220
18108
  suggestKeywordThemes: async (request) => {
18221
18109
  const baseHookArguments = {
@@ -18280,13 +18168,13 @@ class ServiceFactory extends service_1.Service {
18280
18168
  };
18281
18169
  }
18282
18170
  /**
18283
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ThirdPartyAppAnalyticsLinkService
18171
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ThirdPartyAppAnalyticsLinkService
18284
18172
  */
18285
18173
  get thirdPartyAppAnalyticsLinks() {
18286
18174
  const service = this.loadService("ThirdPartyAppAnalyticsLinkServiceClient");
18287
18175
  return {
18288
18176
  /**
18289
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/ThirdPartyAppAnalyticsLinkService#regenerateshareablelinkid
18177
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/ThirdPartyAppAnalyticsLinkService#regenerateshareablelinkid
18290
18178
  */
18291
18179
  regenerateShareableLinkId: async (request) => {
18292
18180
  const baseHookArguments = {
@@ -18351,13 +18239,13 @@ class ServiceFactory extends service_1.Service {
18351
18239
  };
18352
18240
  }
18353
18241
  /**
18354
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/UserDataService
18242
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/UserDataService
18355
18243
  */
18356
18244
  get userData() {
18357
18245
  const service = this.loadService("UserDataServiceClient");
18358
18246
  return {
18359
18247
  /**
18360
- * @link https://developers.google.com/google-ads/api/reference/rpc/v11/UserDataService#uploaduserdata
18248
+ * @link https://developers.google.com/google-ads/api/reference/rpc/v12/UserDataService#uploaduserdata
18361
18249
  */
18362
18250
  uploadUserData: async (request) => {
18363
18251
  const baseHookArguments = {