xref: /aosp_15_r20/external/googleapis/google/ads/searchads360/v0/resources/asset_group.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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.searchads360.v0.resources;
18
19import "google/ads/searchads360/v0/enums/ad_strength.proto";
20import "google/ads/searchads360/v0/enums/asset_group_status.proto";
21import "google/api/field_behavior.proto";
22import "google/api/resource.proto";
23
24option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources";
25option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources";
26option java_multiple_files = true;
27option java_outer_classname = "AssetGroupProto";
28option java_package = "com.google.ads.searchads360.v0.resources";
29option objc_class_prefix = "GASA360";
30option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources";
31option ruby_package = "Google::Ads::SearchAds360::V0::Resources";
32
33// An asset group.
34// AssetGroupAsset is used to link an asset to the asset group.
35// AssetGroupSignal is used to associate a signal to an asset group.
36message AssetGroup {
37  option (google.api.resource) = {
38    type: "searchads360.googleapis.com/AssetGroup"
39    pattern: "customers/{customer_id}/assetGroups/{asset_group_id}"
40  };
41
42  // Immutable. The resource name of the asset group.
43  // Asset group resource names have the form:
44  //
45  // `customers/{customer_id}/assetGroups/{asset_group_id}`
46  string resource_name = 1 [
47    (google.api.field_behavior) = IMMUTABLE,
48    (google.api.resource_reference) = {
49      type: "searchads360.googleapis.com/AssetGroup"
50    }
51  ];
52
53  // Output only. The ID of the asset group.
54  int64 id = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
55
56  // Immutable. The campaign with which this asset group is associated.
57  // The asset which is linked to the asset group.
58  string campaign = 2 [
59    (google.api.field_behavior) = IMMUTABLE,
60    (google.api.resource_reference) = {
61      type: "searchads360.googleapis.com/Campaign"
62    }
63  ];
64
65  // Required. Name of the asset group. Required. It must have a minimum length
66  // of 1 and maximum length of 128. It must be unique under a campaign.
67  string name = 3 [(google.api.field_behavior) = REQUIRED];
68
69  // A list of final URLs after all cross domain redirects. In performance max,
70  // by default, the urls are eligible for expansion unless opted out.
71  repeated string final_urls = 4;
72
73  // A list of final mobile URLs after all cross domain redirects. In
74  // performance max, by default, the urls are eligible for expansion
75  // unless opted out.
76  repeated string final_mobile_urls = 5;
77
78  // The status of the asset group.
79  google.ads.searchads360.v0.enums.AssetGroupStatusEnum.AssetGroupStatus
80      status = 6;
81
82  // First part of text that may appear appended to the url displayed in
83  // the ad.
84  string path1 = 7;
85
86  // Second part of text that may appear appended to the url displayed in
87  // the ad. This field can only be set when path1 is set.
88  string path2 = 8;
89
90  // Output only. Overall ad strength of this asset group.
91  google.ads.searchads360.v0.enums.AdStrengthEnum.AdStrength ad_strength = 10
92      [(google.api.field_behavior) = OUTPUT_ONLY];
93}
94