xref: /aosp_15_r20/external/googleapis/google/ads/googleads/v16/resources/shared_criterion.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.googleads.v16.resources;
18
19import "google/ads/googleads/v16/common/criteria.proto";
20import "google/ads/googleads/v16/enums/criterion_type.proto";
21import "google/api/field_behavior.proto";
22import "google/api/resource.proto";
23
24option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources";
25option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources";
26option java_multiple_files = true;
27option java_outer_classname = "SharedCriterionProto";
28option java_package = "com.google.ads.googleads.v16.resources";
29option objc_class_prefix = "GAA";
30option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources";
31option ruby_package = "Google::Ads::GoogleAds::V16::Resources";
32
33// Proto file describing the SharedCriterion resource.
34
35// A criterion belonging to a shared set.
36message SharedCriterion {
37  option (google.api.resource) = {
38    type: "googleads.googleapis.com/SharedCriterion"
39    pattern: "customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}"
40  };
41
42  // Immutable. The resource name of the shared criterion.
43  // Shared set resource names have the form:
44  //
45  // `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
46  string resource_name = 1 [
47    (google.api.field_behavior) = IMMUTABLE,
48    (google.api.resource_reference) = {
49      type: "googleads.googleapis.com/SharedCriterion"
50    }
51  ];
52
53  // Immutable. The shared set to which the shared criterion belongs.
54  optional string shared_set = 10 [
55    (google.api.field_behavior) = IMMUTABLE,
56    (google.api.resource_reference) = {
57      type: "googleads.googleapis.com/SharedSet"
58    }
59  ];
60
61  // Output only. The ID of the criterion.
62  //
63  // This field is ignored for mutates.
64  optional int64 criterion_id = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
65
66  // Output only. The type of the criterion.
67  google.ads.googleads.v16.enums.CriterionTypeEnum.CriterionType type = 4
68      [(google.api.field_behavior) = OUTPUT_ONLY];
69
70  // The criterion.
71  //
72  // Exactly one must be set.
73  oneof criterion {
74    // Immutable. Keyword.
75    google.ads.googleads.v16.common.KeywordInfo keyword = 3
76        [(google.api.field_behavior) = IMMUTABLE];
77
78    // Immutable. YouTube Video.
79    google.ads.googleads.v16.common.YouTubeVideoInfo youtube_video = 5
80        [(google.api.field_behavior) = IMMUTABLE];
81
82    // Immutable. YouTube Channel.
83    google.ads.googleads.v16.common.YouTubeChannelInfo youtube_channel = 6
84        [(google.api.field_behavior) = IMMUTABLE];
85
86    // Immutable. Placement.
87    google.ads.googleads.v16.common.PlacementInfo placement = 7
88        [(google.api.field_behavior) = IMMUTABLE];
89
90    // Immutable. Mobile App Category.
91    google.ads.googleads.v16.common.MobileAppCategoryInfo mobile_app_category =
92        8 [(google.api.field_behavior) = IMMUTABLE];
93
94    // Immutable. Mobile application.
95    google.ads.googleads.v16.common.MobileApplicationInfo mobile_application = 9
96        [(google.api.field_behavior) = IMMUTABLE];
97
98    // Immutable. Brand.
99    google.ads.googleads.v16.common.BrandInfo brand = 12
100        [(google.api.field_behavior) = IMMUTABLE];
101  }
102}
103