1// Copyright 2023 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 15syntax = "proto3"; 16 17package google.ads.googleads.v14.resources; 18 19import "google/ads/googleads/v14/common/asset_set_types.proto"; 20import "google/ads/googleads/v14/enums/asset_set_status.proto"; 21import "google/ads/googleads/v14/enums/asset_set_type.proto"; 22import "google/api/field_behavior.proto"; 23import "google/api/resource.proto"; 24 25option csharp_namespace = "Google.Ads.GoogleAds.V14.Resources"; 26option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/resources;resources"; 27option java_multiple_files = true; 28option java_outer_classname = "AssetSetProto"; 29option java_package = "com.google.ads.googleads.v14.resources"; 30option objc_class_prefix = "GAA"; 31option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Resources"; 32option ruby_package = "Google::Ads::GoogleAds::V14::Resources"; 33 34// An asset set representing a collection of assets. 35// Use AssetSetAsset to link an asset to the asset set. 36message AssetSet { 37 option (google.api.resource) = { 38 type: "googleads.googleapis.com/AssetSet" 39 pattern: "customers/{customer_id}/assetSets/{asset_set_id}" 40 }; 41 42 // Merchant ID and Feed Label from Google Merchant Center. 43 message MerchantCenterFeed { 44 // Required. Merchant ID from Google Merchant Center 45 int64 merchant_id = 1 [(google.api.field_behavior) = REQUIRED]; 46 47 // Optional. Feed Label from Google Merchant Center. 48 optional string feed_label = 2 [(google.api.field_behavior) = OPTIONAL]; 49 } 50 51 // For Performance Max for travel goals campaigns with a Hotel 52 // Center account link. Read-only. 53 message HotelPropertyData { 54 // Output only. The hotel center ID of the partner. 55 optional int64 hotel_center_id = 1 56 [(google.api.field_behavior) = OUTPUT_ONLY]; 57 58 // Output only. Name of the hotel partner. 59 optional string partner_name = 2 60 [(google.api.field_behavior) = OUTPUT_ONLY]; 61 } 62 63 // Output only. The ID of the asset set. 64 int64 id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; 65 66 // Immutable. The resource name of the asset set. 67 // Asset set resource names have the form: 68 // 69 // `customers/{customer_id}/assetSets/{asset_set_id}` 70 string resource_name = 1 [ 71 (google.api.field_behavior) = IMMUTABLE, 72 (google.api.resource_reference) = { 73 type: "googleads.googleapis.com/AssetSet" 74 } 75 ]; 76 77 // Required. Name of the asset set. Required. It must have a minimum length of 78 // 1 and maximum length of 128. 79 string name = 2 [(google.api.field_behavior) = REQUIRED]; 80 81 // Required. Immutable. The type of the asset set. Required. 82 google.ads.googleads.v14.enums.AssetSetTypeEnum.AssetSetType type = 3 [ 83 (google.api.field_behavior) = REQUIRED, 84 (google.api.field_behavior) = IMMUTABLE 85 ]; 86 87 // Output only. The status of the asset set. Read-only. 88 google.ads.googleads.v14.enums.AssetSetStatusEnum.AssetSetStatus status = 4 89 [(google.api.field_behavior) = OUTPUT_ONLY]; 90 91 // Merchant ID and Feed Label from Google Merchant Center. 92 MerchantCenterFeed merchant_center_feed = 5; 93 94 // Immutable. Parent asset set id for the asset set where the elements of this 95 // asset set come from. For example: the sync level location AssetSet id where 96 // the the elements in LocationGroup AssetSet come from. This field is 97 // required and only applicable for Location Group typed AssetSet. 98 int64 location_group_parent_asset_set_id = 10 99 [(google.api.field_behavior) = IMMUTABLE]; 100 101 // Output only. For Performance Max for travel goals campaigns with a Hotel 102 // Center account link. Read-only. 103 HotelPropertyData hotel_property_data = 11 104 [(google.api.field_behavior) = OUTPUT_ONLY]; 105 106 // Asset set data specific to each asset set type. Not all types have specific 107 // data. 108 oneof asset_set_source { 109 // Location asset set data. This will be used for sync level location 110 // set. This can only be set if AssetSet's type is LOCATION_SYNC. 111 google.ads.googleads.v14.common.LocationSet location_set = 7; 112 113 // Business Profile location group asset set data. 114 google.ads.googleads.v14.common.BusinessProfileLocationGroup 115 business_profile_location_group = 8; 116 117 // Represents information about a Chain dynamic location group. 118 // Only applicable if the sync level AssetSet's type is LOCATION_SYNC and 119 // sync source is chain. 120 google.ads.googleads.v14.common.ChainLocationGroup chain_location_group = 9; 121 } 122} 123