1// Copyright 2020 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Code generated by protoc-gen-go. DO NOT EDIT. 16// versions: 17// protoc-gen-go v1.22.0 18// protoc v3.11.2 19// source: google/ads/googleads/v2/resources/feed_item.proto 20 21package resources 22 23import ( 24 reflect "reflect" 25 sync "sync" 26 27 proto "github.com/golang/protobuf/proto" 28 wrappers "github.com/golang/protobuf/ptypes/wrappers" 29 common "google.golang.org/genproto/googleapis/ads/googleads/v2/common" 30 enums "google.golang.org/genproto/googleapis/ads/googleads/v2/enums" 31 errors "google.golang.org/genproto/googleapis/ads/googleads/v2/errors" 32 _ "google.golang.org/genproto/googleapis/api/annotations" 33 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 34 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 35) 36 37const ( 38 // Verify that this generated code is sufficiently up-to-date. 39 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 40 // Verify that runtime/protoimpl is sufficiently up-to-date. 41 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 42) 43 44// This is a compile-time assertion that a sufficiently up-to-date version 45// of the legacy proto package is being used. 46const _ = proto.ProtoPackageIsVersion4 47 48// A feed item. 49type FeedItem struct { 50 state protoimpl.MessageState 51 sizeCache protoimpl.SizeCache 52 unknownFields protoimpl.UnknownFields 53 54 // Immutable. The resource name of the feed item. 55 // Feed item resource names have the form: 56 // 57 // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}` 58 ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"` 59 // Immutable. The feed to which this feed item belongs. 60 Feed *wrappers.StringValue `protobuf:"bytes,2,opt,name=feed,proto3" json:"feed,omitempty"` 61 // Output only. The ID of this feed item. 62 Id *wrappers.Int64Value `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` 63 // Start time in which this feed item is effective and can begin serving. The 64 // time is in the customer's time zone. 65 // The format is "YYYY-MM-DD HH:MM:SS". 66 // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" 67 StartDateTime *wrappers.StringValue `protobuf:"bytes,4,opt,name=start_date_time,json=startDateTime,proto3" json:"start_date_time,omitempty"` 68 // End time in which this feed item is no longer effective and will stop 69 // serving. The time is in the customer's time zone. 70 // The format is "YYYY-MM-DD HH:MM:SS". 71 // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" 72 EndDateTime *wrappers.StringValue `protobuf:"bytes,5,opt,name=end_date_time,json=endDateTime,proto3" json:"end_date_time,omitempty"` 73 // The feed item's attribute values. 74 AttributeValues []*FeedItemAttributeValue `protobuf:"bytes,6,rep,name=attribute_values,json=attributeValues,proto3" json:"attribute_values,omitempty"` 75 // Geo targeting restriction specifies the type of location that can be used 76 // for targeting. 77 GeoTargetingRestriction enums.GeoTargetingRestrictionEnum_GeoTargetingRestriction `protobuf:"varint,7,opt,name=geo_targeting_restriction,json=geoTargetingRestriction,proto3,enum=google.ads.googleads.v2.enums.GeoTargetingRestrictionEnum_GeoTargetingRestriction" json:"geo_targeting_restriction,omitempty"` 78 // The list of mappings used to substitute custom parameter tags in a 79 // `tracking_url_template`, `final_urls`, or `mobile_final_urls`. 80 UrlCustomParameters []*common.CustomParameter `protobuf:"bytes,8,rep,name=url_custom_parameters,json=urlCustomParameters,proto3" json:"url_custom_parameters,omitempty"` 81 // Output only. Status of the feed item. 82 // This field is read-only. 83 Status enums.FeedItemStatusEnum_FeedItemStatus `protobuf:"varint,9,opt,name=status,proto3,enum=google.ads.googleads.v2.enums.FeedItemStatusEnum_FeedItemStatus" json:"status,omitempty"` 84 // Output only. List of info about a feed item's validation and approval state for active 85 // feed mappings. There will be an entry in the list for each type of feed 86 // mapping associated with the feed, e.g. a feed with a sitelink and a call 87 // feed mapping would cause every feed item associated with that feed to have 88 // an entry in this list for both sitelink and call. 89 // This field is read-only. 90 PolicyInfos []*FeedItemPlaceholderPolicyInfo `protobuf:"bytes,10,rep,name=policy_infos,json=policyInfos,proto3" json:"policy_infos,omitempty"` 91} 92 93func (x *FeedItem) Reset() { 94 *x = FeedItem{} 95 if protoimpl.UnsafeEnabled { 96 mi := &file_google_ads_googleads_v2_resources_feed_item_proto_msgTypes[0] 97 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 98 ms.StoreMessageInfo(mi) 99 } 100} 101 102func (x *FeedItem) String() string { 103 return protoimpl.X.MessageStringOf(x) 104} 105 106func (*FeedItem) ProtoMessage() {} 107 108func (x *FeedItem) ProtoReflect() protoreflect.Message { 109 mi := &file_google_ads_googleads_v2_resources_feed_item_proto_msgTypes[0] 110 if protoimpl.UnsafeEnabled && x != nil { 111 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 112 if ms.LoadMessageInfo() == nil { 113 ms.StoreMessageInfo(mi) 114 } 115 return ms 116 } 117 return mi.MessageOf(x) 118} 119 120// Deprecated: Use FeedItem.ProtoReflect.Descriptor instead. 121func (*FeedItem) Descriptor() ([]byte, []int) { 122 return file_google_ads_googleads_v2_resources_feed_item_proto_rawDescGZIP(), []int{0} 123} 124 125func (x *FeedItem) GetResourceName() string { 126 if x != nil { 127 return x.ResourceName 128 } 129 return "" 130} 131 132func (x *FeedItem) GetFeed() *wrappers.StringValue { 133 if x != nil { 134 return x.Feed 135 } 136 return nil 137} 138 139func (x *FeedItem) GetId() *wrappers.Int64Value { 140 if x != nil { 141 return x.Id 142 } 143 return nil 144} 145 146func (x *FeedItem) GetStartDateTime() *wrappers.StringValue { 147 if x != nil { 148 return x.StartDateTime 149 } 150 return nil 151} 152 153func (x *FeedItem) GetEndDateTime() *wrappers.StringValue { 154 if x != nil { 155 return x.EndDateTime 156 } 157 return nil 158} 159 160func (x *FeedItem) GetAttributeValues() []*FeedItemAttributeValue { 161 if x != nil { 162 return x.AttributeValues 163 } 164 return nil 165} 166 167func (x *FeedItem) GetGeoTargetingRestriction() enums.GeoTargetingRestrictionEnum_GeoTargetingRestriction { 168 if x != nil { 169 return x.GeoTargetingRestriction 170 } 171 return enums.GeoTargetingRestrictionEnum_UNSPECIFIED 172} 173 174func (x *FeedItem) GetUrlCustomParameters() []*common.CustomParameter { 175 if x != nil { 176 return x.UrlCustomParameters 177 } 178 return nil 179} 180 181func (x *FeedItem) GetStatus() enums.FeedItemStatusEnum_FeedItemStatus { 182 if x != nil { 183 return x.Status 184 } 185 return enums.FeedItemStatusEnum_UNSPECIFIED 186} 187 188func (x *FeedItem) GetPolicyInfos() []*FeedItemPlaceholderPolicyInfo { 189 if x != nil { 190 return x.PolicyInfos 191 } 192 return nil 193} 194 195// A feed item attribute value. 196type FeedItemAttributeValue struct { 197 state protoimpl.MessageState 198 sizeCache protoimpl.SizeCache 199 unknownFields protoimpl.UnknownFields 200 201 // Id of the feed attribute for which the value is associated with. 202 FeedAttributeId *wrappers.Int64Value `protobuf:"bytes,1,opt,name=feed_attribute_id,json=feedAttributeId,proto3" json:"feed_attribute_id,omitempty"` 203 // Int64 value. Should be set if feed_attribute_id refers to a feed attribute 204 // of type INT64. 205 IntegerValue *wrappers.Int64Value `protobuf:"bytes,2,opt,name=integer_value,json=integerValue,proto3" json:"integer_value,omitempty"` 206 // Bool value. Should be set if feed_attribute_id refers to a feed attribute 207 // of type BOOLEAN. 208 BooleanValue *wrappers.BoolValue `protobuf:"bytes,3,opt,name=boolean_value,json=booleanValue,proto3" json:"boolean_value,omitempty"` 209 // String value. Should be set if feed_attribute_id refers to a feed attribute 210 // of type STRING, URL or DATE_TIME. 211 // For STRING the maximum length is 1500 characters. For URL the maximum 212 // length is 2076 characters. For DATE_TIME the string must be in the format 213 // "YYYYMMDD HHMMSS". 214 StringValue *wrappers.StringValue `protobuf:"bytes,4,opt,name=string_value,json=stringValue,proto3" json:"string_value,omitempty"` 215 // Double value. Should be set if feed_attribute_id refers to a feed attribute 216 // of type DOUBLE. 217 DoubleValue *wrappers.DoubleValue `protobuf:"bytes,5,opt,name=double_value,json=doubleValue,proto3" json:"double_value,omitempty"` 218 // Price value. Should be set if feed_attribute_id refers to a feed attribute 219 // of type PRICE. 220 PriceValue *common.Money `protobuf:"bytes,6,opt,name=price_value,json=priceValue,proto3" json:"price_value,omitempty"` 221 // Repeated int64 value. Should be set if feed_attribute_id refers to a feed 222 // attribute of type INT64_LIST. 223 IntegerValues []*wrappers.Int64Value `protobuf:"bytes,7,rep,name=integer_values,json=integerValues,proto3" json:"integer_values,omitempty"` 224 // Repeated bool value. Should be set if feed_attribute_id refers to a feed 225 // attribute of type BOOLEAN_LIST. 226 BooleanValues []*wrappers.BoolValue `protobuf:"bytes,8,rep,name=boolean_values,json=booleanValues,proto3" json:"boolean_values,omitempty"` 227 // Repeated string value. Should be set if feed_attribute_id refers to a feed 228 // attribute of type STRING_LIST, URL_LIST or DATE_TIME_LIST. 229 // For STRING_LIST and URL_LIST the total size of the list in bytes may not 230 // exceed 3000. For DATE_TIME_LIST the number of elements may not exceed 200. 231 // 232 // For STRING_LIST the maximum length of each string element is 1500 233 // characters. For URL_LIST the maximum length is 2076 characters. For 234 // DATE_TIME the format of the string must be the same as start and end time 235 // for the feed item. 236 StringValues []*wrappers.StringValue `protobuf:"bytes,9,rep,name=string_values,json=stringValues,proto3" json:"string_values,omitempty"` 237 // Repeated double value. Should be set if feed_attribute_id refers to a feed 238 // attribute of type DOUBLE_LIST. 239 DoubleValues []*wrappers.DoubleValue `protobuf:"bytes,10,rep,name=double_values,json=doubleValues,proto3" json:"double_values,omitempty"` 240} 241 242func (x *FeedItemAttributeValue) Reset() { 243 *x = FeedItemAttributeValue{} 244 if protoimpl.UnsafeEnabled { 245 mi := &file_google_ads_googleads_v2_resources_feed_item_proto_msgTypes[1] 246 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 247 ms.StoreMessageInfo(mi) 248 } 249} 250 251func (x *FeedItemAttributeValue) String() string { 252 return protoimpl.X.MessageStringOf(x) 253} 254 255func (*FeedItemAttributeValue) ProtoMessage() {} 256 257func (x *FeedItemAttributeValue) ProtoReflect() protoreflect.Message { 258 mi := &file_google_ads_googleads_v2_resources_feed_item_proto_msgTypes[1] 259 if protoimpl.UnsafeEnabled && x != nil { 260 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 261 if ms.LoadMessageInfo() == nil { 262 ms.StoreMessageInfo(mi) 263 } 264 return ms 265 } 266 return mi.MessageOf(x) 267} 268 269// Deprecated: Use FeedItemAttributeValue.ProtoReflect.Descriptor instead. 270func (*FeedItemAttributeValue) Descriptor() ([]byte, []int) { 271 return file_google_ads_googleads_v2_resources_feed_item_proto_rawDescGZIP(), []int{1} 272} 273 274func (x *FeedItemAttributeValue) GetFeedAttributeId() *wrappers.Int64Value { 275 if x != nil { 276 return x.FeedAttributeId 277 } 278 return nil 279} 280 281func (x *FeedItemAttributeValue) GetIntegerValue() *wrappers.Int64Value { 282 if x != nil { 283 return x.IntegerValue 284 } 285 return nil 286} 287 288func (x *FeedItemAttributeValue) GetBooleanValue() *wrappers.BoolValue { 289 if x != nil { 290 return x.BooleanValue 291 } 292 return nil 293} 294 295func (x *FeedItemAttributeValue) GetStringValue() *wrappers.StringValue { 296 if x != nil { 297 return x.StringValue 298 } 299 return nil 300} 301 302func (x *FeedItemAttributeValue) GetDoubleValue() *wrappers.DoubleValue { 303 if x != nil { 304 return x.DoubleValue 305 } 306 return nil 307} 308 309func (x *FeedItemAttributeValue) GetPriceValue() *common.Money { 310 if x != nil { 311 return x.PriceValue 312 } 313 return nil 314} 315 316func (x *FeedItemAttributeValue) GetIntegerValues() []*wrappers.Int64Value { 317 if x != nil { 318 return x.IntegerValues 319 } 320 return nil 321} 322 323func (x *FeedItemAttributeValue) GetBooleanValues() []*wrappers.BoolValue { 324 if x != nil { 325 return x.BooleanValues 326 } 327 return nil 328} 329 330func (x *FeedItemAttributeValue) GetStringValues() []*wrappers.StringValue { 331 if x != nil { 332 return x.StringValues 333 } 334 return nil 335} 336 337func (x *FeedItemAttributeValue) GetDoubleValues() []*wrappers.DoubleValue { 338 if x != nil { 339 return x.DoubleValues 340 } 341 return nil 342} 343 344// Policy, validation, and quality approval info for a feed item for the 345// specified placeholder type. 346type FeedItemPlaceholderPolicyInfo struct { 347 state protoimpl.MessageState 348 sizeCache protoimpl.SizeCache 349 unknownFields protoimpl.UnknownFields 350 351 // Output only. The placeholder type. 352 PlaceholderTypeEnum enums.PlaceholderTypeEnum_PlaceholderType `protobuf:"varint,10,opt,name=placeholder_type_enum,json=placeholderTypeEnum,proto3,enum=google.ads.googleads.v2.enums.PlaceholderTypeEnum_PlaceholderType" json:"placeholder_type_enum,omitempty"` 353 // Output only. The FeedMapping that contains the placeholder type. 354 FeedMappingResourceName *wrappers.StringValue `protobuf:"bytes,2,opt,name=feed_mapping_resource_name,json=feedMappingResourceName,proto3" json:"feed_mapping_resource_name,omitempty"` 355 // Output only. Where the placeholder type is in the review process. 356 ReviewStatus enums.PolicyReviewStatusEnum_PolicyReviewStatus `protobuf:"varint,3,opt,name=review_status,json=reviewStatus,proto3,enum=google.ads.googleads.v2.enums.PolicyReviewStatusEnum_PolicyReviewStatus" json:"review_status,omitempty"` 357 // Output only. The overall approval status of the placeholder type, calculated based on 358 // the status of its individual policy topic entries. 359 ApprovalStatus enums.PolicyApprovalStatusEnum_PolicyApprovalStatus `protobuf:"varint,4,opt,name=approval_status,json=approvalStatus,proto3,enum=google.ads.googleads.v2.enums.PolicyApprovalStatusEnum_PolicyApprovalStatus" json:"approval_status,omitempty"` 360 // Output only. The list of policy findings for the placeholder type. 361 PolicyTopicEntries []*common.PolicyTopicEntry `protobuf:"bytes,5,rep,name=policy_topic_entries,json=policyTopicEntries,proto3" json:"policy_topic_entries,omitempty"` 362 // Output only. The validation status of the palceholder type. 363 ValidationStatus enums.FeedItemValidationStatusEnum_FeedItemValidationStatus `protobuf:"varint,6,opt,name=validation_status,json=validationStatus,proto3,enum=google.ads.googleads.v2.enums.FeedItemValidationStatusEnum_FeedItemValidationStatus" json:"validation_status,omitempty"` 364 // Output only. List of placeholder type validation errors. 365 ValidationErrors []*FeedItemValidationError `protobuf:"bytes,7,rep,name=validation_errors,json=validationErrors,proto3" json:"validation_errors,omitempty"` 366 // Output only. Placeholder type quality evaluation approval status. 367 QualityApprovalStatus enums.FeedItemQualityApprovalStatusEnum_FeedItemQualityApprovalStatus `protobuf:"varint,8,opt,name=quality_approval_status,json=qualityApprovalStatus,proto3,enum=google.ads.googleads.v2.enums.FeedItemQualityApprovalStatusEnum_FeedItemQualityApprovalStatus" json:"quality_approval_status,omitempty"` 368 // Output only. List of placeholder type quality evaluation disapproval reasons. 369 QualityDisapprovalReasons []enums.FeedItemQualityDisapprovalReasonEnum_FeedItemQualityDisapprovalReason `protobuf:"varint,9,rep,packed,name=quality_disapproval_reasons,json=qualityDisapprovalReasons,proto3,enum=google.ads.googleads.v2.enums.FeedItemQualityDisapprovalReasonEnum_FeedItemQualityDisapprovalReason" json:"quality_disapproval_reasons,omitempty"` 370} 371 372func (x *FeedItemPlaceholderPolicyInfo) Reset() { 373 *x = FeedItemPlaceholderPolicyInfo{} 374 if protoimpl.UnsafeEnabled { 375 mi := &file_google_ads_googleads_v2_resources_feed_item_proto_msgTypes[2] 376 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 377 ms.StoreMessageInfo(mi) 378 } 379} 380 381func (x *FeedItemPlaceholderPolicyInfo) String() string { 382 return protoimpl.X.MessageStringOf(x) 383} 384 385func (*FeedItemPlaceholderPolicyInfo) ProtoMessage() {} 386 387func (x *FeedItemPlaceholderPolicyInfo) ProtoReflect() protoreflect.Message { 388 mi := &file_google_ads_googleads_v2_resources_feed_item_proto_msgTypes[2] 389 if protoimpl.UnsafeEnabled && x != nil { 390 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 391 if ms.LoadMessageInfo() == nil { 392 ms.StoreMessageInfo(mi) 393 } 394 return ms 395 } 396 return mi.MessageOf(x) 397} 398 399// Deprecated: Use FeedItemPlaceholderPolicyInfo.ProtoReflect.Descriptor instead. 400func (*FeedItemPlaceholderPolicyInfo) Descriptor() ([]byte, []int) { 401 return file_google_ads_googleads_v2_resources_feed_item_proto_rawDescGZIP(), []int{2} 402} 403 404func (x *FeedItemPlaceholderPolicyInfo) GetPlaceholderTypeEnum() enums.PlaceholderTypeEnum_PlaceholderType { 405 if x != nil { 406 return x.PlaceholderTypeEnum 407 } 408 return enums.PlaceholderTypeEnum_UNSPECIFIED 409} 410 411func (x *FeedItemPlaceholderPolicyInfo) GetFeedMappingResourceName() *wrappers.StringValue { 412 if x != nil { 413 return x.FeedMappingResourceName 414 } 415 return nil 416} 417 418func (x *FeedItemPlaceholderPolicyInfo) GetReviewStatus() enums.PolicyReviewStatusEnum_PolicyReviewStatus { 419 if x != nil { 420 return x.ReviewStatus 421 } 422 return enums.PolicyReviewStatusEnum_UNSPECIFIED 423} 424 425func (x *FeedItemPlaceholderPolicyInfo) GetApprovalStatus() enums.PolicyApprovalStatusEnum_PolicyApprovalStatus { 426 if x != nil { 427 return x.ApprovalStatus 428 } 429 return enums.PolicyApprovalStatusEnum_UNSPECIFIED 430} 431 432func (x *FeedItemPlaceholderPolicyInfo) GetPolicyTopicEntries() []*common.PolicyTopicEntry { 433 if x != nil { 434 return x.PolicyTopicEntries 435 } 436 return nil 437} 438 439func (x *FeedItemPlaceholderPolicyInfo) GetValidationStatus() enums.FeedItemValidationStatusEnum_FeedItemValidationStatus { 440 if x != nil { 441 return x.ValidationStatus 442 } 443 return enums.FeedItemValidationStatusEnum_UNSPECIFIED 444} 445 446func (x *FeedItemPlaceholderPolicyInfo) GetValidationErrors() []*FeedItemValidationError { 447 if x != nil { 448 return x.ValidationErrors 449 } 450 return nil 451} 452 453func (x *FeedItemPlaceholderPolicyInfo) GetQualityApprovalStatus() enums.FeedItemQualityApprovalStatusEnum_FeedItemQualityApprovalStatus { 454 if x != nil { 455 return x.QualityApprovalStatus 456 } 457 return enums.FeedItemQualityApprovalStatusEnum_UNSPECIFIED 458} 459 460func (x *FeedItemPlaceholderPolicyInfo) GetQualityDisapprovalReasons() []enums.FeedItemQualityDisapprovalReasonEnum_FeedItemQualityDisapprovalReason { 461 if x != nil { 462 return x.QualityDisapprovalReasons 463 } 464 return nil 465} 466 467// Stores a validation error and the set of offending feed attributes which 468// together are responsible for causing a feed item validation error. 469type FeedItemValidationError struct { 470 state protoimpl.MessageState 471 sizeCache protoimpl.SizeCache 472 unknownFields protoimpl.UnknownFields 473 474 // Output only. Error code indicating what validation error was triggered. The description 475 // of the error can be found in the 'description' field. 476 ValidationError errors.FeedItemValidationErrorEnum_FeedItemValidationError `protobuf:"varint,1,opt,name=validation_error,json=validationError,proto3,enum=google.ads.googleads.v2.errors.FeedItemValidationErrorEnum_FeedItemValidationError" json:"validation_error,omitempty"` 477 // Output only. The description of the validation error. 478 Description *wrappers.StringValue `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 479 // Output only. Set of feed attributes in the feed item flagged during validation. If 480 // empty, no specific feed attributes can be associated with the error 481 // (e.g. error across the entire feed item). 482 FeedAttributeIds []*wrappers.Int64Value `protobuf:"bytes,3,rep,name=feed_attribute_ids,json=feedAttributeIds,proto3" json:"feed_attribute_ids,omitempty"` 483 // Output only. Any extra information related to this error which is not captured by 484 // validation_error and feed_attribute_id (e.g. placeholder field IDs when 485 // feed_attribute_id is not mapped). Note that extra_info is not localized. 486 ExtraInfo *wrappers.StringValue `protobuf:"bytes,5,opt,name=extra_info,json=extraInfo,proto3" json:"extra_info,omitempty"` 487} 488 489func (x *FeedItemValidationError) Reset() { 490 *x = FeedItemValidationError{} 491 if protoimpl.UnsafeEnabled { 492 mi := &file_google_ads_googleads_v2_resources_feed_item_proto_msgTypes[3] 493 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 494 ms.StoreMessageInfo(mi) 495 } 496} 497 498func (x *FeedItemValidationError) String() string { 499 return protoimpl.X.MessageStringOf(x) 500} 501 502func (*FeedItemValidationError) ProtoMessage() {} 503 504func (x *FeedItemValidationError) ProtoReflect() protoreflect.Message { 505 mi := &file_google_ads_googleads_v2_resources_feed_item_proto_msgTypes[3] 506 if protoimpl.UnsafeEnabled && x != nil { 507 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 508 if ms.LoadMessageInfo() == nil { 509 ms.StoreMessageInfo(mi) 510 } 511 return ms 512 } 513 return mi.MessageOf(x) 514} 515 516// Deprecated: Use FeedItemValidationError.ProtoReflect.Descriptor instead. 517func (*FeedItemValidationError) Descriptor() ([]byte, []int) { 518 return file_google_ads_googleads_v2_resources_feed_item_proto_rawDescGZIP(), []int{3} 519} 520 521func (x *FeedItemValidationError) GetValidationError() errors.FeedItemValidationErrorEnum_FeedItemValidationError { 522 if x != nil { 523 return x.ValidationError 524 } 525 return errors.FeedItemValidationErrorEnum_UNSPECIFIED 526} 527 528func (x *FeedItemValidationError) GetDescription() *wrappers.StringValue { 529 if x != nil { 530 return x.Description 531 } 532 return nil 533} 534 535func (x *FeedItemValidationError) GetFeedAttributeIds() []*wrappers.Int64Value { 536 if x != nil { 537 return x.FeedAttributeIds 538 } 539 return nil 540} 541 542func (x *FeedItemValidationError) GetExtraInfo() *wrappers.StringValue { 543 if x != nil { 544 return x.ExtraInfo 545 } 546 return nil 547} 548 549var File_google_ads_googleads_v2_resources_feed_item_proto protoreflect.FileDescriptor 550 551var file_google_ads_googleads_v2_resources_feed_item_proto_rawDesc = []byte{ 552 0x0a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 553 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 554 0x63, 0x65, 0x73, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 555 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 556 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x73, 557 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 558 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 559 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x61, 560 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 561 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 562 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x66, 0x65, 563 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 564 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 565 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 566 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x45, 0x67, 0x6f, 567 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 568 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x66, 0x65, 0x65, 0x64, 569 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x70, 570 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 571 0x6f, 0x74, 0x6f, 0x1a, 0x48, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 572 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 573 0x6d, 0x73, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x71, 0x75, 0x61, 574 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 575 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x67, 576 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 577 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x66, 0x65, 0x65, 578 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 579 0x6f, 0x74, 0x6f, 0x1a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 580 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 581 0x6d, 0x73, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 582 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 583 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 584 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 585 0x75, 0x6d, 0x73, 0x2f, 0x67, 0x65, 0x6f, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 586 0x67, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 587 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 588 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 589 0x6d, 0x73, 0x2f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x74, 590 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 591 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 592 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 593 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 594 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 595 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 596 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x69, 597 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 598 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 599 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x2f, 600 0x66, 0x65, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 601 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 602 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 603 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 604 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 605 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 606 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 607 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 608 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 609 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe6, 0x07, 0x0a, 0x08, 0x46, 610 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x4e, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 611 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 612 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 613 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 614 0x2f, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 615 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x04, 0x66, 0x65, 0x65, 0x64, 0x18, 616 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 617 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 618 0x6c, 0x75, 0x65, 0x42, 0x25, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x67, 0x6f, 0x6f, 619 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 620 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x65, 0x64, 0x52, 0x04, 0x66, 0x65, 0x65, 0x64, 621 0x12, 0x30, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 622 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 623 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x02, 624 0x69, 0x64, 0x12, 0x44, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 625 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 626 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 627 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 628 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x5f, 629 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 630 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 631 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x65, 632 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x64, 0x0a, 0x10, 0x61, 0x74, 633 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x06, 634 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 635 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 636 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 637 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 638 0x0f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 639 0x12, 0x8e, 0x01, 0x0a, 0x19, 0x67, 0x65, 0x6f, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 640 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 641 0x20, 0x01, 0x28, 0x0e, 0x32, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 642 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 643 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 644 0x67, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 645 0x2e, 0x47, 0x65, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 646 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x67, 0x65, 0x6f, 0x54, 0x61, 0x72, 647 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 648 0x6e, 0x12, 0x63, 0x0a, 0x15, 0x75, 0x72, 0x6c, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 649 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 650 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 651 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 652 0x6e, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 653 0x72, 0x52, 0x13, 0x75, 0x72, 0x6c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x61, 654 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x5d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 655 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 656 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 657 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x53, 658 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 659 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x73, 660 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x68, 0x0a, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 661 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 662 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 663 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 664 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 665 0x64, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 666 0x41, 0x03, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x3a, 667 0x52, 0xea, 0x41, 0x4f, 0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 668 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 669 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x2a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 670 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x7d, 0x2f, 0x66, 0x65, 671 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x69, 0x74, 672 0x65, 0x6d, 0x7d, 0x22, 0xbb, 0x05, 0x0a, 0x16, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 673 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x47, 674 0x0a, 0x11, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 675 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 676 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 677 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, 678 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x67, 679 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 680 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 681 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x69, 0x6e, 0x74, 682 0x65, 0x67, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 683 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 684 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 685 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x62, 0x6f, 686 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x74, 687 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 688 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 689 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 690 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x64, 691 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 692 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 693 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 694 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x46, 0x0a, 0x0b, 695 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 696 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 697 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 698 0x6f, 0x6e, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x63, 0x65, 0x56, 699 0x61, 0x6c, 0x75, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f, 700 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 701 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 702 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x67, 703 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0e, 0x62, 0x6f, 0x6f, 0x6c, 704 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 705 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 706 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x62, 0x6f, 707 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0d, 0x73, 708 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 709 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 710 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 711 0x52, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x41, 712 0x0a, 0x0d, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 713 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 714 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 715 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 716 0x73, 0x22, 0x96, 0x09, 0x0a, 0x1d, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x6c, 717 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 718 0x6e, 0x66, 0x6f, 0x12, 0x7b, 0x0a, 0x15, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 719 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 720 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 721 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 722 0x6d, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x54, 0x79, 723 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 724 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x70, 0x6c, 0x61, 725 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 726 0x12, 0x5e, 0x0a, 0x1a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 727 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 728 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 729 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 730 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x17, 0x66, 0x65, 0x65, 0x64, 0x4d, 0x61, 0x70, 731 0x70, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 732 0x12, 0x72, 0x0a, 0x0d, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 733 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 734 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 735 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 736 0x76, 0x69, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x50, 737 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 738 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x53, 0x74, 739 0x61, 0x74, 0x75, 0x73, 0x12, 0x7a, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 740 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4c, 0x2e, 741 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 742 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x50, 0x6f, 743 0x6c, 0x69, 0x63, 0x79, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 744 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x70, 0x70, 745 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 746 0x52, 0x0e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 747 0x12, 0x67, 0x0a, 0x14, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 748 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 749 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 750 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 751 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 752 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x6f, 0x70, 753 0x69, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x11, 0x76, 0x61, 754 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 755 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 756 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 757 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x56, 0x61, 758 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 759 0x75, 0x6d, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x56, 0x61, 0x6c, 0x69, 0x64, 760 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 761 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 762 0x75, 0x73, 0x12, 0x6c, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 763 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 764 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 765 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 766 0x73, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 767 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 768 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 769 0x12, 0x9b, 0x01, 0x0a, 0x17, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x70, 0x70, 770 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 771 0x28, 0x0e, 0x32, 0x5e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 772 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x75, 773 0x6d, 0x73, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x51, 0x75, 0x61, 0x6c, 0x69, 774 0x74, 0x79, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 775 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x51, 0x75, 0x61, 776 0x6c, 0x69, 0x74, 0x79, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 777 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 778 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0xa9, 779 0x01, 0x0a, 0x1b, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x70, 780 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x18, 0x09, 781 0x20, 0x03, 0x28, 0x0e, 0x32, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 782 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 783 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x51, 0x75, 0x61, 784 0x6c, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 785 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 786 0x65, 0x6d, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, 0x72, 787 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 788 0x19, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, 0x72, 0x6f, 789 0x76, 0x61, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x22, 0xf6, 0x02, 0x0a, 0x17, 0x46, 790 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 791 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x83, 0x01, 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 792 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 793 0x0e, 0x32, 0x53, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 794 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x72, 0x72, 0x6f, 795 0x72, 0x73, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x56, 0x61, 0x6c, 0x69, 0x64, 796 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x46, 797 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 798 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x76, 0x61, 0x6c, 799 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x0b, 800 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 801 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 802 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 803 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 804 0x6e, 0x12, 0x4e, 0x0a, 0x12, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 805 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 806 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 807 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 808 0x10, 0x66, 0x65, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x64, 809 0x73, 0x12, 0x40, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 810 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 811 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 812 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x49, 813 0x6e, 0x66, 0x6f, 0x42, 0xfa, 0x01, 0x0a, 0x25, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 814 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 815 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x0d, 0x46, 816 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 817 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 818 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 819 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 820 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 821 0x3b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x41, 0x41, 822 0xaa, 0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x41, 0x64, 0x73, 0x2e, 0x47, 0x6f, 823 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x2e, 0x56, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 824 0x72, 0x63, 0x65, 0x73, 0xca, 0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x64, 825 0x73, 0x5c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x5c, 0x56, 0x32, 0x5c, 0x52, 826 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0xea, 0x02, 0x25, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 827 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x73, 0x3a, 0x3a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 828 0x73, 0x3a, 0x3a, 0x56, 0x32, 0x3a, 0x3a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 829 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 830} 831 832var ( 833 file_google_ads_googleads_v2_resources_feed_item_proto_rawDescOnce sync.Once 834 file_google_ads_googleads_v2_resources_feed_item_proto_rawDescData = file_google_ads_googleads_v2_resources_feed_item_proto_rawDesc 835) 836 837func file_google_ads_googleads_v2_resources_feed_item_proto_rawDescGZIP() []byte { 838 file_google_ads_googleads_v2_resources_feed_item_proto_rawDescOnce.Do(func() { 839 file_google_ads_googleads_v2_resources_feed_item_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_ads_googleads_v2_resources_feed_item_proto_rawDescData) 840 }) 841 return file_google_ads_googleads_v2_resources_feed_item_proto_rawDescData 842} 843 844var file_google_ads_googleads_v2_resources_feed_item_proto_msgTypes = make([]protoimpl.MessageInfo, 4) 845var file_google_ads_googleads_v2_resources_feed_item_proto_goTypes = []interface{}{ 846 (*FeedItem)(nil), // 0: google.ads.googleads.v2.resources.FeedItem 847 (*FeedItemAttributeValue)(nil), // 1: google.ads.googleads.v2.resources.FeedItemAttributeValue 848 (*FeedItemPlaceholderPolicyInfo)(nil), // 2: google.ads.googleads.v2.resources.FeedItemPlaceholderPolicyInfo 849 (*FeedItemValidationError)(nil), // 3: google.ads.googleads.v2.resources.FeedItemValidationError 850 (*wrappers.StringValue)(nil), // 4: google.protobuf.StringValue 851 (*wrappers.Int64Value)(nil), // 5: google.protobuf.Int64Value 852 (enums.GeoTargetingRestrictionEnum_GeoTargetingRestriction)(0), // 6: google.ads.googleads.v2.enums.GeoTargetingRestrictionEnum.GeoTargetingRestriction 853 (*common.CustomParameter)(nil), // 7: google.ads.googleads.v2.common.CustomParameter 854 (enums.FeedItemStatusEnum_FeedItemStatus)(0), // 8: google.ads.googleads.v2.enums.FeedItemStatusEnum.FeedItemStatus 855 (*wrappers.BoolValue)(nil), // 9: google.protobuf.BoolValue 856 (*wrappers.DoubleValue)(nil), // 10: google.protobuf.DoubleValue 857 (*common.Money)(nil), // 11: google.ads.googleads.v2.common.Money 858 (enums.PlaceholderTypeEnum_PlaceholderType)(0), // 12: google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType 859 (enums.PolicyReviewStatusEnum_PolicyReviewStatus)(0), // 13: google.ads.googleads.v2.enums.PolicyReviewStatusEnum.PolicyReviewStatus 860 (enums.PolicyApprovalStatusEnum_PolicyApprovalStatus)(0), // 14: google.ads.googleads.v2.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus 861 (*common.PolicyTopicEntry)(nil), // 15: google.ads.googleads.v2.common.PolicyTopicEntry 862 (enums.FeedItemValidationStatusEnum_FeedItemValidationStatus)(0), // 16: google.ads.googleads.v2.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus 863 (enums.FeedItemQualityApprovalStatusEnum_FeedItemQualityApprovalStatus)(0), // 17: google.ads.googleads.v2.enums.FeedItemQualityApprovalStatusEnum.FeedItemQualityApprovalStatus 864 (enums.FeedItemQualityDisapprovalReasonEnum_FeedItemQualityDisapprovalReason)(0), // 18: google.ads.googleads.v2.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason 865 (errors.FeedItemValidationErrorEnum_FeedItemValidationError)(0), // 19: google.ads.googleads.v2.errors.FeedItemValidationErrorEnum.FeedItemValidationError 866} 867var file_google_ads_googleads_v2_resources_feed_item_proto_depIdxs = []int32{ 868 4, // 0: google.ads.googleads.v2.resources.FeedItem.feed:type_name -> google.protobuf.StringValue 869 5, // 1: google.ads.googleads.v2.resources.FeedItem.id:type_name -> google.protobuf.Int64Value 870 4, // 2: google.ads.googleads.v2.resources.FeedItem.start_date_time:type_name -> google.protobuf.StringValue 871 4, // 3: google.ads.googleads.v2.resources.FeedItem.end_date_time:type_name -> google.protobuf.StringValue 872 1, // 4: google.ads.googleads.v2.resources.FeedItem.attribute_values:type_name -> google.ads.googleads.v2.resources.FeedItemAttributeValue 873 6, // 5: google.ads.googleads.v2.resources.FeedItem.geo_targeting_restriction:type_name -> google.ads.googleads.v2.enums.GeoTargetingRestrictionEnum.GeoTargetingRestriction 874 7, // 6: google.ads.googleads.v2.resources.FeedItem.url_custom_parameters:type_name -> google.ads.googleads.v2.common.CustomParameter 875 8, // 7: google.ads.googleads.v2.resources.FeedItem.status:type_name -> google.ads.googleads.v2.enums.FeedItemStatusEnum.FeedItemStatus 876 2, // 8: google.ads.googleads.v2.resources.FeedItem.policy_infos:type_name -> google.ads.googleads.v2.resources.FeedItemPlaceholderPolicyInfo 877 5, // 9: google.ads.googleads.v2.resources.FeedItemAttributeValue.feed_attribute_id:type_name -> google.protobuf.Int64Value 878 5, // 10: google.ads.googleads.v2.resources.FeedItemAttributeValue.integer_value:type_name -> google.protobuf.Int64Value 879 9, // 11: google.ads.googleads.v2.resources.FeedItemAttributeValue.boolean_value:type_name -> google.protobuf.BoolValue 880 4, // 12: google.ads.googleads.v2.resources.FeedItemAttributeValue.string_value:type_name -> google.protobuf.StringValue 881 10, // 13: google.ads.googleads.v2.resources.FeedItemAttributeValue.double_value:type_name -> google.protobuf.DoubleValue 882 11, // 14: google.ads.googleads.v2.resources.FeedItemAttributeValue.price_value:type_name -> google.ads.googleads.v2.common.Money 883 5, // 15: google.ads.googleads.v2.resources.FeedItemAttributeValue.integer_values:type_name -> google.protobuf.Int64Value 884 9, // 16: google.ads.googleads.v2.resources.FeedItemAttributeValue.boolean_values:type_name -> google.protobuf.BoolValue 885 4, // 17: google.ads.googleads.v2.resources.FeedItemAttributeValue.string_values:type_name -> google.protobuf.StringValue 886 10, // 18: google.ads.googleads.v2.resources.FeedItemAttributeValue.double_values:type_name -> google.protobuf.DoubleValue 887 12, // 19: google.ads.googleads.v2.resources.FeedItemPlaceholderPolicyInfo.placeholder_type_enum:type_name -> google.ads.googleads.v2.enums.PlaceholderTypeEnum.PlaceholderType 888 4, // 20: google.ads.googleads.v2.resources.FeedItemPlaceholderPolicyInfo.feed_mapping_resource_name:type_name -> google.protobuf.StringValue 889 13, // 21: google.ads.googleads.v2.resources.FeedItemPlaceholderPolicyInfo.review_status:type_name -> google.ads.googleads.v2.enums.PolicyReviewStatusEnum.PolicyReviewStatus 890 14, // 22: google.ads.googleads.v2.resources.FeedItemPlaceholderPolicyInfo.approval_status:type_name -> google.ads.googleads.v2.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus 891 15, // 23: google.ads.googleads.v2.resources.FeedItemPlaceholderPolicyInfo.policy_topic_entries:type_name -> google.ads.googleads.v2.common.PolicyTopicEntry 892 16, // 24: google.ads.googleads.v2.resources.FeedItemPlaceholderPolicyInfo.validation_status:type_name -> google.ads.googleads.v2.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus 893 3, // 25: google.ads.googleads.v2.resources.FeedItemPlaceholderPolicyInfo.validation_errors:type_name -> google.ads.googleads.v2.resources.FeedItemValidationError 894 17, // 26: google.ads.googleads.v2.resources.FeedItemPlaceholderPolicyInfo.quality_approval_status:type_name -> google.ads.googleads.v2.enums.FeedItemQualityApprovalStatusEnum.FeedItemQualityApprovalStatus 895 18, // 27: google.ads.googleads.v2.resources.FeedItemPlaceholderPolicyInfo.quality_disapproval_reasons:type_name -> google.ads.googleads.v2.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason 896 19, // 28: google.ads.googleads.v2.resources.FeedItemValidationError.validation_error:type_name -> google.ads.googleads.v2.errors.FeedItemValidationErrorEnum.FeedItemValidationError 897 4, // 29: google.ads.googleads.v2.resources.FeedItemValidationError.description:type_name -> google.protobuf.StringValue 898 5, // 30: google.ads.googleads.v2.resources.FeedItemValidationError.feed_attribute_ids:type_name -> google.protobuf.Int64Value 899 4, // 31: google.ads.googleads.v2.resources.FeedItemValidationError.extra_info:type_name -> google.protobuf.StringValue 900 32, // [32:32] is the sub-list for method output_type 901 32, // [32:32] is the sub-list for method input_type 902 32, // [32:32] is the sub-list for extension type_name 903 32, // [32:32] is the sub-list for extension extendee 904 0, // [0:32] is the sub-list for field type_name 905} 906 907func init() { file_google_ads_googleads_v2_resources_feed_item_proto_init() } 908func file_google_ads_googleads_v2_resources_feed_item_proto_init() { 909 if File_google_ads_googleads_v2_resources_feed_item_proto != nil { 910 return 911 } 912 if !protoimpl.UnsafeEnabled { 913 file_google_ads_googleads_v2_resources_feed_item_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 914 switch v := v.(*FeedItem); i { 915 case 0: 916 return &v.state 917 case 1: 918 return &v.sizeCache 919 case 2: 920 return &v.unknownFields 921 default: 922 return nil 923 } 924 } 925 file_google_ads_googleads_v2_resources_feed_item_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 926 switch v := v.(*FeedItemAttributeValue); i { 927 case 0: 928 return &v.state 929 case 1: 930 return &v.sizeCache 931 case 2: 932 return &v.unknownFields 933 default: 934 return nil 935 } 936 } 937 file_google_ads_googleads_v2_resources_feed_item_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 938 switch v := v.(*FeedItemPlaceholderPolicyInfo); i { 939 case 0: 940 return &v.state 941 case 1: 942 return &v.sizeCache 943 case 2: 944 return &v.unknownFields 945 default: 946 return nil 947 } 948 } 949 file_google_ads_googleads_v2_resources_feed_item_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 950 switch v := v.(*FeedItemValidationError); i { 951 case 0: 952 return &v.state 953 case 1: 954 return &v.sizeCache 955 case 2: 956 return &v.unknownFields 957 default: 958 return nil 959 } 960 } 961 } 962 type x struct{} 963 out := protoimpl.TypeBuilder{ 964 File: protoimpl.DescBuilder{ 965 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 966 RawDescriptor: file_google_ads_googleads_v2_resources_feed_item_proto_rawDesc, 967 NumEnums: 0, 968 NumMessages: 4, 969 NumExtensions: 0, 970 NumServices: 0, 971 }, 972 GoTypes: file_google_ads_googleads_v2_resources_feed_item_proto_goTypes, 973 DependencyIndexes: file_google_ads_googleads_v2_resources_feed_item_proto_depIdxs, 974 MessageInfos: file_google_ads_googleads_v2_resources_feed_item_proto_msgTypes, 975 }.Build() 976 File_google_ads_googleads_v2_resources_feed_item_proto = out.File 977 file_google_ads_googleads_v2_resources_feed_item_proto_rawDesc = nil 978 file_google_ads_googleads_v2_resources_feed_item_proto_goTypes = nil 979 file_google_ads_googleads_v2_resources_feed_item_proto_depIdxs = nil 980} 981