• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/enums/google_ads_field_category.proto";
20import "google/ads/googleads/v16/enums/google_ads_field_data_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 = "GoogleAdsFieldProto";
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 Google Ads Field resource.
34
35// A field or resource (artifact) used by GoogleAdsService.
36message GoogleAdsField {
37  option (google.api.resource) = {
38    type: "googleads.googleapis.com/GoogleAdsField"
39    pattern: "googleAdsFields/{google_ads_field}"
40  };
41
42  // Output only. The resource name of the artifact.
43  // Artifact resource names have the form:
44  //
45  // `googleAdsFields/{name}`
46  string resource_name = 1 [
47    (google.api.field_behavior) = OUTPUT_ONLY,
48    (google.api.resource_reference) = {
49      type: "googleads.googleapis.com/GoogleAdsField"
50    }
51  ];
52
53  // Output only. The name of the artifact.
54  optional string name = 21 [(google.api.field_behavior) = OUTPUT_ONLY];
55
56  // Output only. The category of the artifact.
57  google.ads.googleads.v16.enums.GoogleAdsFieldCategoryEnum
58      .GoogleAdsFieldCategory category = 3
59      [(google.api.field_behavior) = OUTPUT_ONLY];
60
61  // Output only. Whether the artifact can be used in a SELECT clause in search
62  // queries.
63  optional bool selectable = 22 [(google.api.field_behavior) = OUTPUT_ONLY];
64
65  // Output only. Whether the artifact can be used in a WHERE clause in search
66  // queries.
67  optional bool filterable = 23 [(google.api.field_behavior) = OUTPUT_ONLY];
68
69  // Output only. Whether the artifact can be used in a ORDER BY clause in
70  // search queries.
71  optional bool sortable = 24 [(google.api.field_behavior) = OUTPUT_ONLY];
72
73  // Output only. The names of all resources, segments, and metrics that are
74  // selectable with the described artifact.
75  repeated string selectable_with = 25
76      [(google.api.field_behavior) = OUTPUT_ONLY];
77
78  // Output only. The names of all resources that are selectable with the
79  // described artifact. Fields from these resources do not segment metrics when
80  // included in search queries.
81  //
82  // This field is only set for artifacts whose category is RESOURCE.
83  repeated string attribute_resources = 26
84      [(google.api.field_behavior) = OUTPUT_ONLY];
85
86  // Output only. This field lists the names of all metrics that are selectable
87  // with the described artifact when it is used in the FROM clause. It is only
88  // set for artifacts whose category is RESOURCE.
89  repeated string metrics = 27 [(google.api.field_behavior) = OUTPUT_ONLY];
90
91  // Output only. This field lists the names of all artifacts, whether a segment
92  // or another resource, that segment metrics when included in search queries
93  // and when the described artifact is used in the FROM clause. It is only set
94  // for artifacts whose category is RESOURCE.
95  repeated string segments = 28 [(google.api.field_behavior) = OUTPUT_ONLY];
96
97  // Output only. Values the artifact can assume if it is a field of type ENUM.
98  //
99  // This field is only set for artifacts of category SEGMENT or ATTRIBUTE.
100  repeated string enum_values = 29 [(google.api.field_behavior) = OUTPUT_ONLY];
101
102  // Output only. This field determines the operators that can be used with the
103  // artifact in WHERE clauses.
104  google.ads.googleads.v16.enums.GoogleAdsFieldDataTypeEnum
105      .GoogleAdsFieldDataType data_type = 12
106      [(google.api.field_behavior) = OUTPUT_ONLY];
107
108  // Output only. The URL of proto describing the artifact's data type.
109  optional string type_url = 30 [(google.api.field_behavior) = OUTPUT_ONLY];
110
111  // Output only. Whether the field artifact is repeated.
112  optional bool is_repeated = 31 [(google.api.field_behavior) = OUTPUT_ONLY];
113}
114