Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / google-proto-files / google / ads / googleads / v1 / common / policy.proto
diff --git a/legacy-libs/google-proto-files/google/ads/googleads/v1/common/policy.proto b/legacy-libs/google-proto-files/google/ads/googleads/v1/common/policy.proto
new file mode 100644 (file)
index 0000000..c71bb01
--- /dev/null
@@ -0,0 +1,205 @@
+// Copyright 2019 Google LLC.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+syntax = "proto3";
+
+package google.ads.googleads.v1.common;
+
+import "google/ads/googleads/v1/enums/policy_topic_entry_type.proto";
+import "google/ads/googleads/v1/enums/policy_topic_evidence_destination_mismatch_url_type.proto";
+import "google/protobuf/wrappers.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V1.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "PolicyProto";
+option java_package = "com.google.ads.googleads.v1.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Common";
+option ruby_package = "Google::Ads::GoogleAds::V1::Common";
+// Proto file describing policy information.
+
+// Key of the violation. The key is used for referring to a violation
+// when filing an exemption request.
+message PolicyViolationKey {
+  // Unique ID of the violated policy.
+  google.protobuf.StringValue policy_name = 1;
+
+  // The text that violates the policy if specified.
+  // Otherwise, refers to the policy in general
+  // (e.g., when requesting to be exempt from the whole policy).
+  // If not specified for criterion exemptions, the whole policy is implied.
+  // Must be specified for ad exemptions.
+  google.protobuf.StringValue violating_text = 2;
+}
+
+// Parameter for controlling how policy exemption is done. Ignorable policy
+// topics are only usable with expanded text ads and responsive search ads. All
+// other ad types must use policy violation keys.
+message PolicyValidationParameter {
+  // The list of policy topics that should not cause a PolicyFindingError to
+  // be reported. This field is currently only compatible with Enhanced Text Ad.
+  // It corresponds to the PolicyTopicEntry.topic field.
+  //
+  // Resources violating these policies will be saved, but will not be eligible
+  // to serve. They may begin serving at a later time due to a change in
+  // policies, re-review of the resource, or a change in advertiser
+  // certificates.
+  repeated google.protobuf.StringValue ignorable_policy_topics = 1;
+}
+
+// Policy finding attached to a resource (e.g. alcohol policy associated with
+// a site that sells alcohol).
+//
+// Each PolicyTopicEntry has a topic that indicates the specific ads policy
+// the entry is about and a type to indicate the effect that the entry will have
+// on serving. It may optionally have one or more evidences that indicate the
+// reason for the finding. It may also optionally have one or more constraints
+// that provide details about how serving may be restricted.
+//
+// Next tag: 5
+message PolicyTopicEntry {
+  // Policy topic this finding refers to. For example, "ALCOHOL",
+  // "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible
+  // policy topics is not fixed for a particular API version and may change
+  // at any time.
+  google.protobuf.StringValue topic = 1;
+
+  // Describes the negative or positive effect this policy will have on serving.
+  google.ads.googleads.v1.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType type = 2;
+
+  // Additional information that explains policy finding
+  // (e.g. the brand name for a trademark finding).
+  repeated PolicyTopicEvidence evidences = 3;
+
+  // Indicates how serving of this resource may be affected (e.g. not serving
+  // in a country).
+  repeated PolicyTopicConstraint constraints = 4;
+}
+
+// Additional information that explains a policy finding.
+//
+// Next Id: 8
+message PolicyTopicEvidence {
+  // A list of fragments of text that violated a policy.
+  //
+  // Next Id: 2
+  message TextList {
+    // The fragments of text from the resource that caused the policy finding.
+    repeated google.protobuf.StringValue texts = 1;
+  }
+
+  // A list of websites that caused a policy finding. Used for
+  // ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more
+  // than five websites, only the top five (those that appear in resources the
+  // most) will be listed here.
+  //
+  // Next Id: 2
+  message WebsiteList {
+    // Websites that caused the policy finding.
+    repeated google.protobuf.StringValue websites = 1;
+  }
+
+  // A list of strings found in a destination page that caused a policy
+  // finding.
+  //
+  // Next Id: 2
+  message DestinationTextList {
+    // List of text found in the resource's destination page.
+    repeated google.protobuf.StringValue destination_texts = 1;
+  }
+
+  // Evidence of mismatches between the URLs of a resource.
+  //
+  // Next Id: 2
+  message DestinationMismatch {
+    // The set of URLs that did not match each other.
+    repeated google.ads.googleads.v1.enums.PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType url_types = 1;
+  }
+
+  // Specific evidence information depending on the evidence type.
+  oneof value {
+    // HTTP code returned when the final URL was crawled.
+    google.protobuf.Int32Value http_code = 2;
+
+    // List of websites linked with this resource.
+    WebsiteList website_list = 3;
+
+    // List of evidence found in the text of a resource.
+    TextList text_list = 4;
+
+    // The language the resource was detected to be written in.
+    // This is an IETF language tag such as "en-US".
+    google.protobuf.StringValue language_code = 5;
+
+    // The text in the destination of the resource that is causing a policy
+    // finding.
+    DestinationTextList destination_text_list = 6;
+
+    // Mismatch between the destinations of a resource's URLs.
+    DestinationMismatch destination_mismatch = 7;
+  }
+}
+
+// Describes the effect on serving that a policy topic entry will have.
+//
+// Next Id: 5
+message PolicyTopicConstraint {
+  // A list of countries where a resource's serving is constrained.
+  //
+  // Next Id: 3
+  message CountryConstraintList {
+    // Total number of countries targeted by the resource.
+    google.protobuf.Int32Value total_targeted_countries = 1;
+
+    // Countries in which serving is restricted.
+    repeated CountryConstraint countries = 2;
+  }
+
+  // Indicates that a policy topic was constrained due to disapproval of the
+  // website for reseller purposes.
+  //
+  // Next Id: 1
+  message ResellerConstraint {
+
+  }
+
+  // Indicates that a resource's ability to serve in a particular country is
+  // constrained.
+  //
+  // Next Id: 2
+  message CountryConstraint {
+    // Geo target constant resource name of the country in which serving is
+    // constrained.
+    google.protobuf.StringValue country_criterion = 1;
+  }
+
+  // Specific information about the constraint.
+  oneof value {
+    // Countries where the resource cannot serve.
+    CountryConstraintList country_constraint_list = 1;
+
+    // Reseller constraint.
+    ResellerConstraint reseller_constraint = 2;
+
+    // Countries where a certificate is required for serving.
+    CountryConstraintList certificate_missing_in_country_list = 3;
+
+    // Countries where the resource's domain is not covered by the
+    // certificates associated with it.
+    CountryConstraintList certificate_domain_mismatch_in_country_list = 4;
+  }
+}