search_ads360_field.proto 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. // Copyright 2022 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. syntax = "proto3";
  15. package google.ads.searchads360.v0.resources;
  16. import "google/ads/searchads360/v0/enums/search_ads360_field_category.proto";
  17. import "google/ads/searchads360/v0/enums/search_ads360_field_data_type.proto";
  18. import "google/api/field_behavior.proto";
  19. import "google/api/resource.proto";
  20. option csharp_namespace = "Google.Ads.SearchAds360.V0.Resources";
  21. option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/resources;resources";
  22. option java_multiple_files = true;
  23. option java_outer_classname = "SearchAds360FieldProto";
  24. option java_package = "com.google.ads.searchads360.v0.resources";
  25. option objc_class_prefix = "GASA360";
  26. option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Resources";
  27. option ruby_package = "Google::Ads::SearchAds360::V0::Resources";
  28. // Proto file describing the Search Ads 360 Field resource.
  29. // A field or resource (artifact) used by SearchAds360Service.
  30. message SearchAds360Field {
  31. option (google.api.resource) = {
  32. type: "searchads360.googleapis.com/SearchAds360Field"
  33. pattern: "searchAds360Fields/{search_ads_360_field}"
  34. };
  35. // Output only. The resource name of the artifact.
  36. // Artifact resource names have the form:
  37. //
  38. // `SearchAds360Fields/{name}`
  39. string resource_name = 1 [
  40. (google.api.field_behavior) = OUTPUT_ONLY,
  41. (google.api.resource_reference) = {
  42. type: "searchads360.googleapis.com/SearchAds360Field"
  43. }
  44. ];
  45. // Output only. The name of the artifact.
  46. optional string name = 21 [(google.api.field_behavior) = OUTPUT_ONLY];
  47. // Output only. The category of the artifact.
  48. google.ads.searchads360.v0.enums.SearchAds360FieldCategoryEnum.SearchAds360FieldCategory category = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  49. // Output only. Whether the artifact can be used in a SELECT clause in search
  50. // queries.
  51. optional bool selectable = 22 [(google.api.field_behavior) = OUTPUT_ONLY];
  52. // Output only. Whether the artifact can be used in a WHERE clause in search
  53. // queries.
  54. optional bool filterable = 23 [(google.api.field_behavior) = OUTPUT_ONLY];
  55. // Output only. Whether the artifact can be used in a ORDER BY clause in search
  56. // queries.
  57. optional bool sortable = 24 [(google.api.field_behavior) = OUTPUT_ONLY];
  58. // Output only. The names of all resources, segments, and metrics that are selectable with
  59. // the described artifact.
  60. repeated string selectable_with = 25 [(google.api.field_behavior) = OUTPUT_ONLY];
  61. // Output only. The names of all resources that are selectable with the described
  62. // artifact. Fields from these resources do not segment metrics when included
  63. // in search queries.
  64. //
  65. // This field is only set for artifacts whose category is RESOURCE.
  66. repeated string attribute_resources = 26 [(google.api.field_behavior) = OUTPUT_ONLY];
  67. // Output only. This field lists the names of all metrics that are selectable with the
  68. // described artifact when it is used in the FROM clause.
  69. // It is only set for artifacts whose category is RESOURCE.
  70. repeated string metrics = 27 [(google.api.field_behavior) = OUTPUT_ONLY];
  71. // Output only. This field lists the names of all artifacts, whether a segment or another
  72. // resource, that segment metrics when included in search queries and when the
  73. // described artifact is used in the FROM clause. It is only set for artifacts
  74. // whose category is RESOURCE.
  75. repeated string segments = 28 [(google.api.field_behavior) = OUTPUT_ONLY];
  76. // Output only. Values the artifact can assume if it is a field of type ENUM.
  77. //
  78. // This field is only set for artifacts of category SEGMENT or ATTRIBUTE.
  79. repeated string enum_values = 29 [(google.api.field_behavior) = OUTPUT_ONLY];
  80. // Output only. This field determines the operators that can be used with the artifact
  81. // in WHERE clauses.
  82. google.ads.searchads360.v0.enums.SearchAds360FieldDataTypeEnum.SearchAds360FieldDataType data_type = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
  83. // Output only. The URL of proto describing the artifact's data type.
  84. optional string type_url = 30 [(google.api.field_behavior) = OUTPUT_ONLY];
  85. // Output only. Whether the field artifact is repeated.
  86. optional bool is_repeated = 31 [(google.api.field_behavior) = OUTPUT_ONLY];
  87. }