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.v15.resources; 18 19import "google/ads/googleads/v15/enums/google_ads_field_category.proto"; 20import "google/ads/googleads/v15/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.V15.Resources"; 25option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/resources;resources"; 26option java_multiple_files = true; 27option java_outer_classname = "GoogleAdsFieldProto"; 28option java_package = "com.google.ads.googleads.v15.resources"; 29option objc_class_prefix = "GAA"; 30option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Resources"; 31option ruby_package = "Google::Ads::GoogleAds::V15::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.v15.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.v15.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