google-cloud-recaptcha_enterprise-v1 1.9.1 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e00dfaf0203aea17ca5c17f8c5f2ee775341f4e10cede0bd87387fe3e0c0eac5
4
- data.tar.gz: 6e02d860400aabbc790a1c2da80483b38647a30cc43866f637aaa84d7add0b92
3
+ metadata.gz: 9874124ae2930cefa8a28380675322bd317fe4adfc49e87a629a6f4088ac793f
4
+ data.tar.gz: 91d3c1c9f2e94469ae86ac006df9ecc898707d879ff801753e8a1771d6d48269
5
5
  SHA512:
6
- metadata.gz: f48df3cee2bf035c7663b75012769749662c857b7d864227ce669544e04bb56ec9a28af1b05008bfd4b70fa92032ca5c3d00bba5ba19f52f620806a92c03b442
7
- data.tar.gz: e6de9bedb9e4527168ce71d4ca22922d2a9491aa0959f15f19d82fdebaa88c387d3aaf5bf92432e9b1704a73f3e7c910c782f76e8df27a51d319485f14362706
6
+ metadata.gz: 99c80f16a10ea3da99750d2aa2664fb6672ec930a19d487821092d6cdeaf578e08dd39705c8f3b0ed7d38777d5513b484fb85c8726c8451efa19b1c982731ee6
7
+ data.tar.gz: 0f13ececb1b81de0f17808f25f9f044960b4a979c0e1d4e81526945153f02cf2779224c103501c12fbd2678c1e859cbed69bfdb2513ad64def8af3ca50ca93fb
data/README.md CHANGED
@@ -86,7 +86,7 @@ To browse ready to use code samples check [Google Cloud Samples](https://cloud.g
86
86
 
87
87
  ## Supported Ruby Versions
88
88
 
89
- This library is supported on Ruby 3.0+.
89
+ This library is supported on Ruby 3.2+.
90
90
 
91
91
  Google provides official support for Ruby versions that are actively supported
92
92
  by Ruby Core—that is, Ruby versions that are either in normal maintenance or
@@ -299,7 +299,7 @@ module Google
299
299
  # @param options [::Gapic::CallOptions, ::Hash]
300
300
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
301
301
  #
302
- # @overload annotate_assessment(name: nil, annotation: nil, reasons: nil, account_id: nil, hashed_account_id: nil, transaction_event: nil)
302
+ # @overload annotate_assessment(name: nil, annotation: nil, reasons: nil, account_id: nil, hashed_account_id: nil, transaction_event: nil, phone_authentication_event: nil)
303
303
  # Pass arguments to `annotate_assessment` via keyword arguments. Note that at
304
304
  # least one keyword argument is required. To specify no parameters, or to keep all
305
305
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -325,6 +325,9 @@ module Google
325
325
  # @param transaction_event [::Google::Cloud::RecaptchaEnterprise::V1::TransactionEvent, ::Hash]
326
326
  # Optional. If the assessment is part of a payment transaction, provide
327
327
  # details on payment lifecycle events that occur in the transaction.
328
+ # @param phone_authentication_event [::Google::Cloud::RecaptchaEnterprise::V1::PhoneAuthenticationEvent, ::Hash]
329
+ # Optional. If using an external multi-factor authentication provider,
330
+ # provide phone authentication details for fraud detection purposes.
328
331
  #
329
332
  # @yield [response, operation] Access the result along with the RPC operation
330
333
  # @yieldparam response [::Google::Cloud::RecaptchaEnterprise::V1::AnnotateAssessmentResponse]
@@ -954,7 +957,7 @@ module Google
954
957
  # Optional. If true, skips the billing check.
955
958
  # A reCAPTCHA Enterprise key or migrated key behaves differently than a
956
959
  # reCAPTCHA (non-Enterprise version) key when you reach a quota limit (see
957
- # https://cloud.google.com/recaptcha/quotas#quota_limit). To avoid
960
+ # https://docs.cloud.google.com/recaptcha/quotas#quota_limit). To avoid
958
961
  # any disruption of your usage, we check that a billing account is present.
959
962
  # If your usage of reCAPTCHA is under the free quota, you can safely skip the
960
963
  # billing check and proceed with the migration. See
@@ -1026,7 +1029,7 @@ module Google
1026
1029
 
1027
1030
  ##
1028
1031
  # Adds an IP override to a key. The following restrictions hold:
1029
- # * The maximum number of IP overrides per key is 100.
1032
+ # * The maximum number of IP overrides per key is 1000.
1030
1033
  # * For any conflict (such as IP already exists or IP part of an existing
1031
1034
  # IP range), an error is returned.
1032
1035
  #
@@ -2349,6 +2352,7 @@ module Google
2349
2352
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
2350
2353
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
2351
2354
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
2355
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
2352
2356
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
2353
2357
  # trigger a retry.
2354
2358
  # @return [::Hash]
@@ -2432,6 +2436,7 @@ module Google
2432
2436
  # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
2433
2437
  # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
2434
2438
  # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
2439
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
2435
2440
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
2436
2441
  # trigger a retry.
2437
2442
  #
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module RecaptchaEnterprise
23
23
  module V1
24
- VERSION = "1.9.1"
24
+ VERSION = "1.12.0"
25
25
  end
26
26
  end
27
27
  end
@@ -15,34 +15,10 @@ require 'google/protobuf/timestamp_pb'
15
15
  require 'google/rpc/status_pb'
16
16
 
17
17
 
18
- descriptor_data = "\n=google/cloud/recaptchaenterprise/v1/recaptchaenterprise.proto\x12#google.cloud.recaptchaenterprise.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xa8\x01\n\x17\x43reateAssessmentRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12H\n\nassessment\x18\x02 \x01(\x0b\x32/.google.cloud.recaptchaenterprise.v1.AssessmentB\x03\xe0\x41\x02\"\x92\x05\n\x10TransactionEvent\x12\x63\n\nevent_type\x18\x01 \x01(\x0e\x32J.google.cloud.recaptchaenterprise.v1.TransactionEvent.TransactionEventTypeB\x03\xe0\x41\x01\x12\x13\n\x06reason\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05value\x18\x03 \x01(\x01\x42\x03\xe0\x41\x01\x12\x33\n\nevent_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\"\xba\x03\n\x14TransactionEventType\x12&\n\"TRANSACTION_EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10MERCHANT_APPROVE\x10\x01\x12\x11\n\rMERCHANT_DENY\x10\x02\x12\x11\n\rMANUAL_REVIEW\x10\x03\x12\x11\n\rAUTHORIZATION\x10\x04\x12\x19\n\x15\x41UTHORIZATION_DECLINE\x10\x05\x12\x13\n\x0fPAYMENT_CAPTURE\x10\x06\x12\x1b\n\x17PAYMENT_CAPTURE_DECLINE\x10\x07\x12\n\n\x06\x43\x41NCEL\x10\x08\x12\x16\n\x12\x43HARGEBACK_INQUIRY\x10\t\x12\x14\n\x10\x43HARGEBACK_ALERT\x10\n\x12\x16\n\x12\x46RAUD_NOTIFICATION\x10\x0b\x12\x0e\n\nCHARGEBACK\x10\x0c\x12\x1c\n\x18\x43HARGEBACK_REPRESENTMENT\x10\r\x12\x16\n\x12\x43HARGEBACK_REVERSE\x10\x0e\x12\x12\n\x0eREFUND_REQUEST\x10\x0f\x12\x12\n\x0eREFUND_DECLINE\x10\x10\x12\n\n\x06REFUND\x10\x11\x12\x12\n\x0eREFUND_REVERSE\x10\x12\"\x83\x07\n\x19\x41nnotateAssessmentRequest\x12\x43\n\x04name\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\n-recaptchaenterprise.googleapis.com/Assessment\x12\x62\n\nannotation\x18\x02 \x01(\x0e\x32I.google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest.AnnotationB\x03\xe0\x41\x01\x12[\n\x07reasons\x18\x03 \x03(\x0e\x32\x45.google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest.ReasonB\x03\xe0\x41\x01\x12\x17\n\naccount_id\x18\x07 \x01(\tB\x03\xe0\x41\x01\x12\x1e\n\x11hashed_account_id\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x01\x12U\n\x11transaction_event\x18\x05 \x01(\x0b\x32\x35.google.cloud.recaptchaenterprise.v1.TransactionEventB\x03\xe0\x41\x01\"~\n\nAnnotation\x12\x1a\n\x16\x41NNOTATION_UNSPECIFIED\x10\x00\x12\x0e\n\nLEGITIMATE\x10\x01\x12\x0e\n\nFRAUDULENT\x10\x02\x12\x18\n\x10PASSWORD_CORRECT\x10\x03\x1a\x02\x08\x01\x12\x1a\n\x12PASSWORD_INCORRECT\x10\x04\x1a\x02\x08\x01\"\xcf\x02\n\x06Reason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x0e\n\nCHARGEBACK\x10\x01\x12\x14\n\x10\x43HARGEBACK_FRAUD\x10\x08\x12\x16\n\x12\x43HARGEBACK_DISPUTE\x10\t\x12\n\n\x06REFUND\x10\n\x12\x10\n\x0cREFUND_FRAUD\x10\x0b\x12\x18\n\x14TRANSACTION_ACCEPTED\x10\x0c\x12\x18\n\x14TRANSACTION_DECLINED\x10\r\x12\x16\n\x12PAYMENT_HEURISTICS\x10\x02\x12\x18\n\x14INITIATED_TWO_FACTOR\x10\x07\x12\x15\n\x11PASSED_TWO_FACTOR\x10\x03\x12\x15\n\x11\x46\x41ILED_TWO_FACTOR\x10\x04\x12\x14\n\x10\x43ORRECT_PASSWORD\x10\x05\x12\x16\n\x12INCORRECT_PASSWORD\x10\x06\x12\x0f\n\x0bSOCIAL_SPAM\x10\x0e\"\x1c\n\x1a\x41nnotateAssessmentResponse\"\xb4\x01\n\x18\x45ndpointVerificationInfo\x12\x17\n\remail_address\x18\x01 \x01(\tH\x00\x12\x16\n\x0cphone_number\x18\x02 \x01(\tH\x00\x12\x1a\n\rrequest_token\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12?\n\x16last_verification_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x42\n\n\x08\x65ndpoint\"\xdb\x04\n\x17\x41\x63\x63ountVerificationInfo\x12U\n\tendpoints\x18\x01 \x03(\x0b\x32=.google.cloud.recaptchaenterprise.v1.EndpointVerificationInfoB\x03\xe0\x41\x01\x12\x1a\n\rlanguage_code\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12l\n\x1alatest_verification_result\x18\x07 \x01(\x0e\x32\x43.google.cloud.recaptchaenterprise.v1.AccountVerificationInfo.ResultB\x03\xe0\x41\x03\x12\x14\n\x08username\x18\x02 \x01(\tB\x02\x18\x01\"\xc8\x02\n\x06Result\x12\x16\n\x12RESULT_UNSPECIFIED\x10\x00\x12\x19\n\x15SUCCESS_USER_VERIFIED\x10\x01\x12\x1b\n\x17\x45RROR_USER_NOT_VERIFIED\x10\x02\x12$\n ERROR_SITE_ONBOARDING_INCOMPLETE\x10\x03\x12\x1f\n\x1b\x45RROR_RECIPIENT_NOT_ALLOWED\x10\x04\x12)\n%ERROR_RECIPIENT_ABUSE_LIMIT_EXHAUSTED\x10\x05\x12\x1b\n\x17\x45RROR_CRITICAL_INTERNAL\x10\x06\x12\"\n\x1e\x45RROR_CUSTOMER_QUOTA_EXHAUSTED\x10\x07\x12\x1f\n\x1b\x45RROR_VERIFICATION_BYPASSED\x10\x08\x12\x1a\n\x16\x45RROR_VERDICT_MISMATCH\x10\t\"\xcc\x01\n\x1fPrivatePasswordLeakVerification\x12\x1f\n\x12lookup_hash_prefix\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x02\x12,\n\x1f\x65ncrypted_user_credentials_hash\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x01\x12*\n\x1d\x65ncrypted_leak_match_prefixes\x18\x03 \x03(\x0c\x42\x03\xe0\x41\x03\x12.\n!reencrypted_user_credentials_hash\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x03\"\xa4\t\n\nAssessment\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x03\xe0\x41\x08\x12>\n\x05\x65vent\x18\x02 \x01(\x0b\x32*.google.cloud.recaptchaenterprise.v1.EventB\x03\xe0\x41\x01\x12M\n\rrisk_analysis\x18\x03 \x01(\x0b\x32\x31.google.cloud.recaptchaenterprise.v1.RiskAnalysisB\x03\xe0\x41\x03\x12S\n\x10token_properties\x18\x04 \x01(\x0b\x32\x34.google.cloud.recaptchaenterprise.v1.TokenPropertiesB\x03\xe0\x41\x03\x12_\n\x14\x61\x63\x63ount_verification\x18\x05 \x01(\x0b\x32<.google.cloud.recaptchaenterprise.v1.AccountVerificationInfoB\x03\xe0\x41\x01\x12h\n\x1b\x61\x63\x63ount_defender_assessment\x18\x06 \x01(\x0b\x32>.google.cloud.recaptchaenterprise.v1.AccountDefenderAssessmentB\x03\xe0\x41\x03\x12u\n\"private_password_leak_verification\x18\x08 \x01(\x0b\x32\x44.google.cloud.recaptchaenterprise.v1.PrivatePasswordLeakVerificationB\x03\xe0\x41\x01\x12\x66\n\x1a\x66irewall_policy_assessment\x18\n \x01(\x0b\x32=.google.cloud.recaptchaenterprise.v1.FirewallPolicyAssessmentB\x03\xe0\x41\x03\x12h\n\x1b\x66raud_prevention_assessment\x18\x0b \x01(\x0b\x32>.google.cloud.recaptchaenterprise.v1.FraudPreventionAssessmentB\x03\xe0\x41\x03\x12M\n\rfraud_signals\x18\r \x01(\x0b\x32\x31.google.cloud.recaptchaenterprise.v1.FraudSignalsB\x03\xe0\x41\x03\x12^\n\x16phone_fraud_assessment\x18\x0c \x01(\x0b\x32\x39.google.cloud.recaptchaenterprise.v1.PhoneFraudAssessmentB\x03\xe0\x41\x03\x12_\n\x16\x61ssessment_environment\x18\x0e \x01(\x0b\x32:.google.cloud.recaptchaenterprise.v1.AssessmentEnvironmentB\x03\xe0\x41\x01:x\xea\x41u\n-recaptchaenterprise.googleapis.com/Assessment\x12+projects/{project}/assessments/{assessment}*\x0b\x61ssessments2\nassessment\"\xb0\x05\n\x05\x45vent\x12\x12\n\x05token\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08site_key\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x17\n\nuser_agent\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12$\n\x0fuser_ip_address\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12\x1c\n\x0f\x65xpected_action\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12 \n\x11hashed_account_id\x18\x06 \x01(\x0c\x42\x05\x18\x01\xe0\x41\x01\x12\x14\n\x07\x65xpress\x18\x0e \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rrequested_uri\x18\x08 \x01(\tB\x03\xe0\x41\x01\x12!\n\x14waf_token_assessment\x18\t \x01(\x08\x42\x03\xe0\x41\x01\x12\x10\n\x03ja3\x18\n \x01(\tB\x03\xe0\x41\x01\x12\x10\n\x03ja4\x18\x12 \x01(\tB\x03\xe0\x41\x01\x12\x14\n\x07headers\x18\x0b \x03(\tB\x03\xe0\x41\x01\x12\'\n\x1a\x66irewall_policy_evaluation\x18\x0c \x01(\x08\x42\x03\xe0\x41\x01\x12S\n\x10transaction_data\x18\r \x01(\x0b\x32\x34.google.cloud.recaptchaenterprise.v1.TransactionDataB\x03\xe0\x41\x01\x12\x45\n\tuser_info\x18\x0f \x01(\x0b\x32-.google.cloud.recaptchaenterprise.v1.UserInfoB\x03\xe0\x41\x01\x12Y\n\x10\x66raud_prevention\x18\x11 \x01(\x0e\x32:.google.cloud.recaptchaenterprise.v1.Event.FraudPreventionB\x03\xe0\x41\x01\"N\n\x0f\x46raudPrevention\x12 \n\x1c\x46RAUD_PREVENTION_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\"\xa0\n\n\x0fTransactionData\x12\x1b\n\x0etransaction_id\x18\x0b \x01(\tH\x00\x88\x01\x01\x12\x1b\n\x0epayment_method\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08\x63\x61rd_bin\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1b\n\x0e\x63\x61rd_last_four\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rcurrency_code\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05value\x18\x05 \x01(\x01\x42\x03\xe0\x41\x01\x12\x1b\n\x0eshipping_value\x18\x0c \x01(\x01\x42\x03\xe0\x41\x01\x12[\n\x10shipping_address\x18\x06 \x01(\x0b\x32<.google.cloud.recaptchaenterprise.v1.TransactionData.AddressB\x03\xe0\x41\x01\x12Z\n\x0f\x62illing_address\x18\x07 \x01(\x0b\x32<.google.cloud.recaptchaenterprise.v1.TransactionData.AddressB\x03\xe0\x41\x01\x12L\n\x04user\x18\x08 \x01(\x0b\x32\x39.google.cloud.recaptchaenterprise.v1.TransactionData.UserB\x03\xe0\x41\x01\x12Q\n\tmerchants\x18\r \x03(\x0b\x32\x39.google.cloud.recaptchaenterprise.v1.TransactionData.UserB\x03\xe0\x41\x01\x12M\n\x05items\x18\x0e \x03(\x0b\x32\x39.google.cloud.recaptchaenterprise.v1.TransactionData.ItemB\x03\xe0\x41\x01\x12[\n\x0cgateway_info\x18\n \x01(\x0b\x32@.google.cloud.recaptchaenterprise.v1.TransactionData.GatewayInfoB\x03\xe0\x41\x01\x1a\xa4\x01\n\x07\x41\x64\x64ress\x12\x16\n\trecipient\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x14\n\x07\x61\x64\x64ress\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12\x15\n\x08locality\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12 \n\x13\x61\x64ministrative_area\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0bregion_code\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0bpostal_code\x18\x06 \x01(\tB\x03\xe0\x41\x01\x1a\xa2\x01\n\x04User\x12\x17\n\naccount_id\x18\x06 \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0b\x63reation_ms\x18\x01 \x01(\x03\x42\x03\xe0\x41\x01\x12\x12\n\x05\x65mail\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1b\n\x0e\x65mail_verified\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x19\n\x0cphone_number\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1b\n\x0ephone_verified\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\x1a\x66\n\x04Item\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05value\x18\x02 \x01(\x01\x42\x03\xe0\x41\x01\x12\x15\n\x08quantity\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01\x12 \n\x13merchant_account_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x1a\x84\x01\n\x0bGatewayInfo\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\"\n\x15gateway_response_code\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1e\n\x11\x61vs_response_code\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1e\n\x11\x63vv_response_code\x18\x04 \x01(\tB\x03\xe0\x41\x01\x42\x11\n\x0f_transaction_id\"\xa5\x01\n\x08UserInfo\x12<\n\x13\x63reate_account_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x12\x17\n\naccount_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x42\n\x08user_ids\x18\x03 \x03(\x0b\x32+.google.cloud.recaptchaenterprise.v1.UserIdB\x03\xe0\x41\x01\"`\n\x06UserId\x12\x14\n\x05\x65mail\x18\x01 \x01(\tB\x03\xe0\x41\x01H\x00\x12\x1b\n\x0cphone_number\x18\x02 \x01(\tB\x03\xe0\x41\x01H\x00\x12\x17\n\x08username\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x00\x42\n\n\x08id_oneof\"\xb7\x04\n\x0cRiskAnalysis\x12\x12\n\x05score\x18\x01 \x01(\x02\x42\x03\xe0\x41\x03\x12\\\n\x07reasons\x18\x02 \x03(\x0e\x32\x46.google.cloud.recaptchaenterprise.v1.RiskAnalysis.ClassificationReasonB\x03\xe0\x41\x03\x12%\n\x18\x65xtended_verdict_reasons\x18\x03 \x03(\tB\x03\xe0\x41\x03\x12S\n\tchallenge\x18\x04 \x01(\x0e\x32;.google.cloud.recaptchaenterprise.v1.RiskAnalysis.ChallengeB\x03\xe0\x41\x03\"\xe9\x01\n\x14\x43lassificationReason\x12%\n!CLASSIFICATION_REASON_UNSPECIFIED\x10\x00\x12\x0e\n\nAUTOMATION\x10\x01\x12\x1a\n\x16UNEXPECTED_ENVIRONMENT\x10\x02\x12\x14\n\x10TOO_MUCH_TRAFFIC\x10\x03\x12\x1d\n\x19UNEXPECTED_USAGE_PATTERNS\x10\x04\x12\x18\n\x14LOW_CONFIDENCE_SCORE\x10\x05\x12\x15\n\x11SUSPECTED_CARDING\x10\x06\x12\x18\n\x14SUSPECTED_CHARGEBACK\x10\x07\"M\n\tChallenge\x12\x19\n\x15\x43HALLENGE_UNSPECIFIED\x10\x00\x12\r\n\tNOCAPTCHA\x10\x01\x12\n\n\x06PASSED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"\xbb\x03\n\x0fTokenProperties\x12\x12\n\x05valid\x18\x01 \x01(\x08\x42\x03\xe0\x41\x03\x12_\n\x0einvalid_reason\x18\x02 \x01(\x0e\x32\x42.google.cloud.recaptchaenterprise.v1.TokenProperties.InvalidReasonB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x15\n\x08hostname\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12!\n\x14\x61ndroid_package_name\x18\x08 \x01(\tB\x03\xe0\x41\x03\x12\x1a\n\rios_bundle_id\x18\t \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x06\x61\x63tion\x18\x05 \x01(\tB\x03\xe0\x41\x03\"\x91\x01\n\rInvalidReason\x12\x1e\n\x1aINVALID_REASON_UNSPECIFIED\x10\x00\x12\x1a\n\x16UNKNOWN_INVALID_REASON\x10\x01\x12\r\n\tMALFORMED\x10\x02\x12\x0b\n\x07\x45XPIRED\x10\x03\x12\x08\n\x04\x44UPE\x10\x04\x12\x0b\n\x07MISSING\x10\x05\x12\x11\n\rBROWSER_ERROR\x10\x06\"\xb3\x04\n\x19\x46raudPreventionAssessment\x12\x1d\n\x10transaction_risk\x18\x01 \x01(\x02\x42\x03\xe0\x41\x03\x12~\n\x19stolen_instrument_verdict\x18\x02 \x01(\x0b\x32V.google.cloud.recaptchaenterprise.v1.FraudPreventionAssessment.StolenInstrumentVerdictB\x03\xe0\x41\x03\x12t\n\x14\x63\x61rd_testing_verdict\x18\x03 \x01(\x0b\x32Q.google.cloud.recaptchaenterprise.v1.FraudPreventionAssessment.CardTestingVerdictB\x03\xe0\x41\x03\x12|\n\x18\x62\x65havioral_trust_verdict\x18\x04 \x01(\x0b\x32U.google.cloud.recaptchaenterprise.v1.FraudPreventionAssessment.BehavioralTrustVerdictB\x03\xe0\x41\x03\x1a,\n\x17StolenInstrumentVerdict\x12\x11\n\x04risk\x18\x01 \x01(\x02\x42\x03\xe0\x41\x03\x1a\'\n\x12\x43\x61rdTestingVerdict\x12\x11\n\x04risk\x18\x01 \x01(\x02\x42\x03\xe0\x41\x03\x1a,\n\x16\x42\x65havioralTrustVerdict\x12\x12\n\x05trust\x18\x01 \x01(\x02\x42\x03\xe0\x41\x03\"\xe3\x03\n\x0c\x46raudSignals\x12X\n\x0cuser_signals\x18\x01 \x01(\x0b\x32=.google.cloud.recaptchaenterprise.v1.FraudSignals.UserSignalsB\x03\xe0\x41\x03\x12X\n\x0c\x63\x61rd_signals\x18\x02 \x01(\x0b\x32=.google.cloud.recaptchaenterprise.v1.FraudSignals.CardSignalsB\x03\xe0\x41\x03\x1aP\n\x0bUserSignals\x12$\n\x17\x61\x63tive_days_lower_bound\x18\x01 \x01(\x05\x42\x03\xe0\x41\x03\x12\x1b\n\x0esynthetic_risk\x18\x02 \x01(\x02\x42\x03\xe0\x41\x03\x1a\xcc\x01\n\x0b\x43\x61rdSignals\x12\x61\n\x0b\x63\x61rd_labels\x18\x01 \x03(\x0e\x32G.google.cloud.recaptchaenterprise.v1.FraudSignals.CardSignals.CardLabelB\x03\xe0\x41\x03\"Z\n\tCardLabel\x12\x1a\n\x16\x43\x41RD_LABEL_UNSPECIFIED\x10\x00\x12\x0b\n\x07PREPAID\x10\x01\x12\x0b\n\x07VIRTUAL\x10\x02\x12\x17\n\x13UNEXPECTED_LOCATION\x10\x03\"\xe2\x01\n\x13SmsTollFraudVerdict\x12\x11\n\x04risk\x18\x01 \x01(\x02\x42\x03\xe0\x41\x03\x12\x61\n\x07reasons\x18\x02 \x03(\x0e\x32K.google.cloud.recaptchaenterprise.v1.SmsTollFraudVerdict.SmsTollFraudReasonB\x03\xe0\x41\x03\"U\n\x12SmsTollFraudReason\x12%\n!SMS_TOLL_FRAUD_REASON_UNSPECIFIED\x10\x00\x12\x18\n\x14INVALID_PHONE_NUMBER\x10\x01\"u\n\x14PhoneFraudAssessment\x12]\n\x16sms_toll_fraud_verdict\x18\x01 \x01(\x0b\x32\x38.google.cloud.recaptchaenterprise.v1.SmsTollFraudVerdictB\x03\xe0\x41\x03\"\xbb\x02\n\x19\x41\x63\x63ountDefenderAssessment\x12h\n\x06labels\x18\x01 \x03(\x0e\x32S.google.cloud.recaptchaenterprise.v1.AccountDefenderAssessment.AccountDefenderLabelB\x03\xe0\x41\x03\"\xb3\x01\n\x14\x41\x63\x63ountDefenderLabel\x12&\n\"ACCOUNT_DEFENDER_LABEL_UNSPECIFIED\x10\x00\x12\x11\n\rPROFILE_MATCH\x10\x01\x12\x1d\n\x19SUSPICIOUS_LOGIN_ACTIVITY\x10\x02\x12\x1f\n\x1bSUSPICIOUS_ACCOUNT_CREATION\x10\x03\x12 \n\x1cRELATED_ACCOUNTS_NUMBER_HIGH\x10\x04\"\x93\x01\n\x10\x43reateKeyRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12:\n\x03key\x18\x02 \x01(\x0b\x32(.google.cloud.recaptchaenterprise.v1.KeyB\x03\xe0\x41\x02\"\x87\x01\n\x0fListKeysRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"c\n\x10ListKeysResponse\x12\x36\n\x04keys\x18\x01 \x03(\x0b\x32(.google.cloud.recaptchaenterprise.v1.Key\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"]\n\x1eRetrieveLegacySecretKeyRequest\x12;\n\x03key\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recaptchaenterprise.googleapis.com/Key\"M\n\rGetKeyRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recaptchaenterprise.googleapis.com/Key\"\x84\x01\n\x10UpdateKeyRequest\x12:\n\x03key\x18\x01 \x01(\x0b\x32(.google.cloud.recaptchaenterprise.v1.KeyB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\"P\n\x10\x44\x65leteKeyRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recaptchaenterprise.googleapis.com/Key\"\xb5\x01\n\x1b\x43reateFirewallPolicyRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12Q\n\x0f\x66irewall_policy\x18\x02 \x01(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.FirewallPolicyB\x03\xe0\x41\x02\"\x93\x01\n\x1bListFirewallPoliciesRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\x87\x01\n\x1cListFirewallPoliciesResponse\x12N\n\x11\x66irewall_policies\x18\x01 \x03(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.FirewallPolicy\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"c\n\x18GetFirewallPolicyRequest\x12G\n\x04name\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\n1recaptchaenterprise.googleapis.com/FirewallPolicy\"\xa6\x01\n\x1bUpdateFirewallPolicyRequest\x12Q\n\x0f\x66irewall_policy\x18\x01 \x01(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.FirewallPolicyB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\"f\n\x1b\x44\x65leteFirewallPolicyRequest\x12G\n\x04name\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\n1recaptchaenterprise.googleapis.com/FirewallPolicy\"\xaf\x01\n\x1eReorderFirewallPoliciesRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12H\n\x05names\x18\x02 \x03(\tB9\xe0\x41\x02\xfa\x41\x33\n1recaptchaenterprise.googleapis.com/FirewallPolicy\"!\n\x1fReorderFirewallPoliciesResponse\"r\n\x11MigrateKeyRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recaptchaenterprise.googleapis.com/Key\x12\x1f\n\x12skip_billing_check\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"U\n\x11GetMetricsRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*recaptchaenterprise.googleapis.com/Metrics\"\xd5\x02\n\x07Metrics\x12\x14\n\x04name\x18\x04 \x01(\tB\x06\xe0\x41\x08\xe0\x41\x03\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12H\n\rscore_metrics\x18\x02 \x03(\x0b\x32\x31.google.cloud.recaptchaenterprise.v1.ScoreMetrics\x12P\n\x11\x63hallenge_metrics\x18\x03 \x03(\x0b\x32\x35.google.cloud.recaptchaenterprise.v1.ChallengeMetrics:h\xea\x41\x65\n*recaptchaenterprise.googleapis.com/Metrics\x12%projects/{project}/keys/{key}/metrics*\x07metrics2\x07metrics\"<\n\x1fRetrieveLegacySecretKeyResponse\x12\x19\n\x11legacy_secret_key\x18\x01 \x01(\t\"\xb3\x06\n\x03Key\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x19\n\x0c\x64isplay_name\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12K\n\x0cweb_settings\x18\x03 \x01(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.WebKeySettingsH\x00\x12S\n\x10\x61ndroid_settings\x18\x04 \x01(\x0b\x32\x37.google.cloud.recaptchaenterprise.v1.AndroidKeySettingsH\x00\x12K\n\x0cios_settings\x18\x05 \x01(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.IOSKeySettingsH\x00\x12S\n\x10\x65xpress_settings\x18\x0b \x01(\x0b\x32\x37.google.cloud.recaptchaenterprise.v1.ExpressKeySettingsH\x00\x12I\n\x06labels\x18\x06 \x03(\x0b\x32\x34.google.cloud.recaptchaenterprise.v1.Key.LabelsEntryB\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12Q\n\x0ftesting_options\x18\t \x01(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.TestingOptionsB\x03\xe0\x41\x01\x12K\n\x0cwaf_settings\x18\n \x01(\x0b\x32\x30.google.cloud.recaptchaenterprise.v1.WafSettingsB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:U\xea\x41R\n&recaptchaenterprise.googleapis.com/Key\x12\x1dprojects/{project}/keys/{key}*\x04keys2\x03keyB\x13\n\x11platform_settings\"\xf2\x01\n\x0eTestingOptions\x12\x1a\n\rtesting_score\x18\x01 \x01(\x02\x42\x03\xe0\x41\x01\x12\x64\n\x11testing_challenge\x18\x02 \x01(\x0e\x32\x44.google.cloud.recaptchaenterprise.v1.TestingOptions.TestingChallengeB\x03\xe0\x41\x01\"^\n\x10TestingChallenge\x12!\n\x1dTESTING_CHALLENGE_UNSPECIFIED\x10\x00\x12\r\n\tNOCAPTCHA\x10\x01\x12\x18\n\x14UNSOLVABLE_CHALLENGE\x10\x02\"\xa4\x04\n\x0eWebKeySettings\x12\x1e\n\x11\x61llow_all_domains\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1c\n\x0f\x61llowed_domains\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12\x1e\n\x11\x61llow_amp_traffic\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\x12\x62\n\x10integration_type\x18\x04 \x01(\x0e\x32\x43.google.cloud.recaptchaenterprise.v1.WebKeySettings.IntegrationTypeB\x03\xe0\x41\x02\x12{\n\x1d\x63hallenge_security_preference\x18\x05 \x01(\x0e\x32O.google.cloud.recaptchaenterprise.v1.WebKeySettings.ChallengeSecurityPreferenceB\x03\xe0\x41\x01\"[\n\x0fIntegrationType\x12 \n\x1cINTEGRATION_TYPE_UNSPECIFIED\x10\x00\x12\t\n\x05SCORE\x10\x01\x12\x0c\n\x08\x43HECKBOX\x10\x02\x12\r\n\tINVISIBLE\x10\x03\"v\n\x1b\x43hallengeSecurityPreference\x12-\n)CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED\x10\x00\x12\r\n\tUSABILITY\x10\x01\x12\x0b\n\x07\x42\x41LANCE\x10\x02\x12\x0c\n\x08SECURITY\x10\x03\"\x96\x01\n\x12\x41ndroidKeySettings\x12$\n\x17\x61llow_all_package_names\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\x12\"\n\x15\x61llowed_package_names\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12\x36\n)support_non_google_app_store_distribution\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\"\xac\x01\n\x0eIOSKeySettings\x12!\n\x14\x61llow_all_bundle_ids\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1f\n\x12\x61llowed_bundle_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12V\n\x12\x61pple_developer_id\x18\x03 \x01(\x0b\x32\x35.google.cloud.recaptchaenterprise.v1.AppleDeveloperIdB\x03\xe0\x41\x01\"\x14\n\x12\x45xpressKeySettings\"Z\n\x10\x41ppleDeveloperId\x12\x1b\n\x0bprivate_key\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x04\x12\x13\n\x06key_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x14\n\x07team_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\"\xa9\x01\n\x11ScoreDistribution\x12_\n\rscore_buckets\x18\x01 \x03(\x0b\x32H.google.cloud.recaptchaenterprise.v1.ScoreDistribution.ScoreBucketsEntry\x1a\x33\n\x11ScoreBucketsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\"\xab\x02\n\x0cScoreMetrics\x12O\n\x0foverall_metrics\x18\x01 \x01(\x0b\x32\x36.google.cloud.recaptchaenterprise.v1.ScoreDistribution\x12\\\n\x0e\x61\x63tion_metrics\x18\x02 \x03(\x0b\x32\x44.google.cloud.recaptchaenterprise.v1.ScoreMetrics.ActionMetricsEntry\x1al\n\x12\x41\x63tionMetricsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x45\n\x05value\x18\x02 \x01(\x0b\x32\x36.google.cloud.recaptchaenterprise.v1.ScoreDistribution:\x02\x38\x01\"o\n\x10\x43hallengeMetrics\x12\x16\n\x0epageload_count\x18\x01 \x01(\x03\x12\x17\n\x0fnocaptcha_count\x18\x02 \x01(\x03\x12\x14\n\x0c\x66\x61iled_count\x18\x03 \x01(\x03\x12\x14\n\x0cpassed_count\x18\x04 \x01(\x03\"\x95\x01\n\x18\x46irewallPolicyAssessment\x12&\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03\x12Q\n\x0f\x66irewall_policy\x18\x08 \x01(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.FirewallPolicyB\x03\xe0\x41\x03\"\x82\x06\n\x0e\x46irewallAction\x12P\n\x05\x61llow\x18\x01 \x01(\x0b\x32?.google.cloud.recaptchaenterprise.v1.FirewallAction.AllowActionH\x00\x12P\n\x05\x62lock\x18\x02 \x01(\x0b\x32?.google.cloud.recaptchaenterprise.v1.FirewallAction.BlockActionH\x00\x12t\n\x18include_recaptcha_script\x18\x06 \x01(\x0b\x32P.google.cloud.recaptchaenterprise.v1.FirewallAction.IncludeRecaptchaScriptActionH\x00\x12V\n\x08redirect\x18\x05 \x01(\x0b\x32\x42.google.cloud.recaptchaenterprise.v1.FirewallAction.RedirectActionH\x00\x12Z\n\nsubstitute\x18\x03 \x01(\x0b\x32\x44.google.cloud.recaptchaenterprise.v1.FirewallAction.SubstituteActionH\x00\x12Y\n\nset_header\x18\x04 \x01(\x0b\x32\x43.google.cloud.recaptchaenterprise.v1.FirewallAction.SetHeaderActionH\x00\x1a\r\n\x0b\x41llowAction\x1a\r\n\x0b\x42lockAction\x1a\x1e\n\x1cIncludeRecaptchaScriptAction\x1a\x10\n\x0eRedirectAction\x1a%\n\x10SubstituteAction\x12\x11\n\x04path\x18\x01 \x01(\tB\x03\xe0\x41\x01\x1a\x37\n\x0fSetHeaderAction\x12\x10\n\x03key\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05value\x18\x02 \x01(\tB\x03\xe0\x41\x01\x42\x17\n\x15\x66irewall_action_oneof\"\xc5\x02\n\x0e\x46irewallPolicy\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x11\n\x04path\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tcondition\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12I\n\x07\x61\x63tions\x18\x06 \x03(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.FirewallActionB\x03\xe0\x41\x01:\x8f\x01\xea\x41\x8b\x01\n1recaptchaenterprise.googleapis.com/FirewallPolicy\x12\x34projects/{project}/firewallpolicies/{firewallpolicy}*\x10\x66irewallPolicies2\x0e\x66irewallPolicy\"\xb6\x01\n)ListRelatedAccountGroupMembershipsRequest\x12X\n\x06parent\x18\x01 \x01(\tBH\xe0\x41\x02\xfa\x41\x42\x12@recaptchaenterprise.googleapis.com/RelatedAccountGroupMembership\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\xb4\x01\n*ListRelatedAccountGroupMembershipsResponse\x12m\n!related_account_group_memberships\x18\x01 \x03(\x0b\x32\x42.google.cloud.recaptchaenterprise.v1.RelatedAccountGroupMembership\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xa2\x01\n\x1fListRelatedAccountGroupsRequest\x12N\n\x06parent\x18\x01 \x01(\tB>\xe0\x41\x02\xfa\x41\x38\x12\x36recaptchaenterprise.googleapis.com/RelatedAccountGroup\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\x95\x01\n ListRelatedAccountGroupsResponse\x12X\n\x16related_account_groups\x18\x01 \x03(\x0b\x32\x38.google.cloud.recaptchaenterprise.v1.RelatedAccountGroup\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xdf\x01\n+SearchRelatedAccountGroupMembershipsRequest\x12\x44\n\x07project\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x17\n\naccount_id\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12 \n\x11hashed_account_id\x18\x02 \x01(\x0c\x42\x05\x18\x01\xe0\x41\x01\x12\x16\n\tpage_size\x18\x03 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x04 \x01(\tB\x03\xe0\x41\x01\"\xb6\x01\n,SearchRelatedAccountGroupMembershipsResponse\x12m\n!related_account_group_memberships\x18\x01 \x03(\x0b\x32\x42.google.cloud.recaptchaenterprise.v1.RelatedAccountGroupMembership\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xa8\x01\n\x14\x41\x64\x64IpOverrideRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recaptchaenterprise.googleapis.com/Key\x12R\n\x10ip_override_data\x18\x02 \x01(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.IpOverrideDataB\x03\xe0\x41\x02\"\x17\n\x15\x41\x64\x64IpOverrideResponse\"\xab\x01\n\x17RemoveIpOverrideRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recaptchaenterprise.googleapis.com/Key\x12R\n\x10ip_override_data\x18\x02 \x01(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.IpOverrideDataB\x03\xe0\x41\x02\"\x1a\n\x18RemoveIpOverrideResponse\"\x89\x01\n\x16ListIpOverridesRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recaptchaenterprise.googleapis.com/Key\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"}\n\x17ListIpOverridesResponse\x12I\n\x0cip_overrides\x18\x01 \x03(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.IpOverrideData\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xc8\x02\n\x1dRelatedAccountGroupMembership\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x08\xe0\x41\x02\x12\x12\n\naccount_id\x18\x04 \x01(\t\x12\x1d\n\x11hashed_account_id\x18\x02 \x01(\x0c\x42\x02\x18\x01:\xdd\x01\xea\x41\xd9\x01\n@recaptchaenterprise.googleapis.com/RelatedAccountGroupMembership\x12Vprojects/{project}/relatedaccountgroups/{relatedaccountgroup}/memberships/{membership}*\x1erelatedAccountGroupMemberships2\x1drelatedAccountGroupMembership\"\xd4\x01\n\x13RelatedAccountGroup\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x08\xe0\x41\x02:\xa6\x01\xea\x41\xa2\x01\n6recaptchaenterprise.googleapis.com/RelatedAccountGroup\x12=projects/{project}/relatedaccountgroups/{relatedaccountgroup}*\x14relatedAccountGroups2\x13relatedAccountGroup\"\x87\x03\n\x0bWafSettings\x12U\n\x0bwaf_service\x18\x01 \x01(\x0e\x32;.google.cloud.recaptchaenterprise.v1.WafSettings.WafServiceB\x03\xe0\x41\x02\x12U\n\x0bwaf_feature\x18\x02 \x01(\x0e\x32;.google.cloud.recaptchaenterprise.v1.WafSettings.WafFeatureB\x03\xe0\x41\x02\"o\n\nWafFeature\x12\x1b\n\x17WAF_FEATURE_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x43HALLENGE_PAGE\x10\x01\x12\x11\n\rSESSION_TOKEN\x10\x02\x12\x10\n\x0c\x41\x43TION_TOKEN\x10\x03\x12\x0b\n\x07\x45XPRESS\x10\x05\"Y\n\nWafService\x12\x1b\n\x17WAF_SERVICE_UNSPECIFIED\x10\x00\x12\x06\n\x02\x43\x41\x10\x01\x12\n\n\x06\x46\x41STLY\x10\x03\x12\x0e\n\nCLOUDFLARE\x10\x04\x12\n\n\x06\x41KAMAI\x10\x05\"B\n\x15\x41ssessmentEnvironment\x12\x13\n\x06\x63lient\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x14\n\x07version\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\xc1\x01\n\x0eIpOverrideData\x12\x17\n\x02ip\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12\\\n\roverride_type\x18\x03 \x01(\x0e\x32@.google.cloud.recaptchaenterprise.v1.IpOverrideData.OverrideTypeB\x03\xe0\x41\x02\"8\n\x0cOverrideType\x12\x1d\n\x19OVERRIDE_TYPE_UNSPECIFIED\x10\x00\x12\t\n\x05\x41LLOW\x10\x01\x32\xe5$\n\x1aRecaptchaEnterpriseService\x12\xce\x01\n\x10\x43reateAssessment\x12<.google.cloud.recaptchaenterprise.v1.CreateAssessmentRequest\x1a/.google.cloud.recaptchaenterprise.v1.Assessment\"K\xda\x41\x11parent,assessment\x82\xd3\xe4\x93\x02\x31\"#/v1/{parent=projects/*}/assessments:\nassessment\x12\xe0\x01\n\x12\x41nnotateAssessment\x12>.google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest\x1a?.google.cloud.recaptchaenterprise.v1.AnnotateAssessmentResponse\"I\xda\x41\x0fname,annotation\x82\xd3\xe4\x93\x02\x31\",/v1/{name=projects/*/assessments/*}:annotate:\x01*\x12\xa4\x01\n\tCreateKey\x12\x35.google.cloud.recaptchaenterprise.v1.CreateKeyRequest\x1a(.google.cloud.recaptchaenterprise.v1.Key\"6\xda\x41\nparent,key\x82\xd3\xe4\x93\x02#\"\x1c/v1/{parent=projects/*}/keys:\x03key\x12\xa6\x01\n\x08ListKeys\x12\x34.google.cloud.recaptchaenterprise.v1.ListKeysRequest\x1a\x35.google.cloud.recaptchaenterprise.v1.ListKeysResponse\"-\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x1e\x12\x1c/v1/{parent=projects/*}/keys\x12\xe7\x01\n\x17RetrieveLegacySecretKey\x12\x43.google.cloud.recaptchaenterprise.v1.RetrieveLegacySecretKeyRequest\x1a\x44.google.cloud.recaptchaenterprise.v1.RetrieveLegacySecretKeyResponse\"A\xda\x41\x03key\x82\xd3\xe4\x93\x02\x35\x12\x33/v1/{key=projects/*/keys/*}:retrieveLegacySecretKey\x12\x93\x01\n\x06GetKey\x12\x32.google.cloud.recaptchaenterprise.v1.GetKeyRequest\x1a(.google.cloud.recaptchaenterprise.v1.Key\"+\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1e\x12\x1c/v1/{name=projects/*/keys/*}\x12\xad\x01\n\tUpdateKey\x12\x35.google.cloud.recaptchaenterprise.v1.UpdateKeyRequest\x1a(.google.cloud.recaptchaenterprise.v1.Key\"?\xda\x41\x0fkey,update_mask\x82\xd3\xe4\x93\x02\'2 /v1/{key.name=projects/*/keys/*}:\x03key\x12\x87\x01\n\tDeleteKey\x12\x35.google.cloud.recaptchaenterprise.v1.DeleteKeyRequest\x1a\x16.google.protobuf.Empty\"+\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1e*\x1c/v1/{name=projects/*/keys/*}\x12\x9f\x01\n\nMigrateKey\x12\x36.google.cloud.recaptchaenterprise.v1.MigrateKeyRequest\x1a(.google.cloud.recaptchaenterprise.v1.Key\"/\x82\xd3\xe4\x93\x02)\"$/v1/{name=projects/*/keys/*}:migrate:\x01*\x12\xd5\x01\n\rAddIpOverride\x12\x39.google.cloud.recaptchaenterprise.v1.AddIpOverrideRequest\x1a:.google.cloud.recaptchaenterprise.v1.AddIpOverrideResponse\"M\xda\x41\x15name,ip_override_data\x82\xd3\xe4\x93\x02/\"*/v1/{name=projects/*/keys/*}:addIpOverride:\x01*\x12\xe1\x01\n\x10RemoveIpOverride\x12<.google.cloud.recaptchaenterprise.v1.RemoveIpOverrideRequest\x1a=.google.cloud.recaptchaenterprise.v1.RemoveIpOverrideResponse\"P\xda\x41\x15name,ip_override_data\x82\xd3\xe4\x93\x02\x32\"-/v1/{name=projects/*/keys/*}:removeIpOverride:\x01*\x12\xcd\x01\n\x0fListIpOverrides\x12;.google.cloud.recaptchaenterprise.v1.ListIpOverridesRequest\x1a<.google.cloud.recaptchaenterprise.v1.ListIpOverridesResponse\"?\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x30\x12./v1/{parent=projects/*/keys/*}:listIpOverrides\x12\xa7\x01\n\nGetMetrics\x12\x36.google.cloud.recaptchaenterprise.v1.GetMetricsRequest\x1a,.google.cloud.recaptchaenterprise.v1.Metrics\"3\xda\x41\x04name\x82\xd3\xe4\x93\x02&\x12$/v1/{name=projects/*/keys/*/metrics}\x12\xe9\x01\n\x14\x43reateFirewallPolicy\x12@.google.cloud.recaptchaenterprise.v1.CreateFirewallPolicyRequest\x1a\x33.google.cloud.recaptchaenterprise.v1.FirewallPolicy\"Z\xda\x41\x16parent,firewall_policy\x82\xd3\xe4\x93\x02;\"(/v1/{parent=projects/*}/firewallpolicies:\x0f\x66irewall_policy\x12\xd6\x01\n\x14ListFirewallPolicies\x12@.google.cloud.recaptchaenterprise.v1.ListFirewallPoliciesRequest\x1a\x41.google.cloud.recaptchaenterprise.v1.ListFirewallPoliciesResponse\"9\xda\x41\x06parent\x82\xd3\xe4\x93\x02*\x12(/v1/{parent=projects/*}/firewallpolicies\x12\xc0\x01\n\x11GetFirewallPolicy\x12=.google.cloud.recaptchaenterprise.v1.GetFirewallPolicyRequest\x1a\x33.google.cloud.recaptchaenterprise.v1.FirewallPolicy\"7\xda\x41\x04name\x82\xd3\xe4\x93\x02*\x12(/v1/{name=projects/*/firewallpolicies/*}\x12\xfe\x01\n\x14UpdateFirewallPolicy\x12@.google.cloud.recaptchaenterprise.v1.UpdateFirewallPolicyRequest\x1a\x33.google.cloud.recaptchaenterprise.v1.FirewallPolicy\"o\xda\x41\x1b\x66irewall_policy,update_mask\x82\xd3\xe4\x93\x02K28/v1/{firewall_policy.name=projects/*/firewallpolicies/*}:\x0f\x66irewall_policy\x12\xa9\x01\n\x14\x44\x65leteFirewallPolicy\x12@.google.cloud.recaptchaenterprise.v1.DeleteFirewallPolicyRequest\x1a\x16.google.protobuf.Empty\"7\xda\x41\x04name\x82\xd3\xe4\x93\x02**(/v1/{name=projects/*/firewallpolicies/*}\x12\xf0\x01\n\x17ReorderFirewallPolicies\x12\x43.google.cloud.recaptchaenterprise.v1.ReorderFirewallPoliciesRequest\x1a\x44.google.cloud.recaptchaenterprise.v1.ReorderFirewallPoliciesResponse\"J\xda\x41\x0cparent,names\x82\xd3\xe4\x93\x02\x35\"0/v1/{parent=projects/*}/firewallpolicies:reorder:\x01*\x12\xe6\x01\n\x18ListRelatedAccountGroups\x12\x44.google.cloud.recaptchaenterprise.v1.ListRelatedAccountGroupsRequest\x1a\x45.google.cloud.recaptchaenterprise.v1.ListRelatedAccountGroupsResponse\"=\xda\x41\x06parent\x82\xd3\xe4\x93\x02.\x12,/v1/{parent=projects/*}/relatedaccountgroups\x12\x92\x02\n\"ListRelatedAccountGroupMemberships\x12N.google.cloud.recaptchaenterprise.v1.ListRelatedAccountGroupMembershipsRequest\x1aO.google.cloud.recaptchaenterprise.v1.ListRelatedAccountGroupMembershipsResponse\"K\xda\x41\x06parent\x82\xd3\xe4\x93\x02<\x12:/v1/{parent=projects/*/relatedaccountgroups/*}/memberships\x12\xb2\x02\n$SearchRelatedAccountGroupMemberships\x12P.google.cloud.recaptchaenterprise.v1.SearchRelatedAccountGroupMembershipsRequest\x1aQ.google.cloud.recaptchaenterprise.v1.SearchRelatedAccountGroupMembershipsResponse\"e\xda\x41\x19project,hashed_account_id\x82\xd3\xe4\x93\x02\x43\">/v1/{project=projects/*}/relatedaccountgroupmemberships:search:\x01*\x1aV\xca\x41\"recaptchaenterprise.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x99\x02\n!com.google.recaptchaenterprise.v1B\x18RecaptchaEnterpriseProtoP\x01Z\\cloud.google.com/go/recaptchaenterprise/v2/apiv1/recaptchaenterprisepb;recaptchaenterprisepb\xa2\x02\x04GCRE\xaa\x02#Google.Cloud.RecaptchaEnterprise.V1\xca\x02#Google\\Cloud\\RecaptchaEnterprise\\V1\xea\x02&Google::Cloud::RecaptchaEnterprise::V1b\x06proto3"
18
+ descriptor_data = "\n=google/cloud/recaptchaenterprise/v1/recaptchaenterprise.proto\x12#google.cloud.recaptchaenterprise.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xa8\x01\n\x17\x43reateAssessmentRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12H\n\nassessment\x18\x02 \x01(\x0b\x32/.google.cloud.recaptchaenterprise.v1.AssessmentB\x03\xe0\x41\x02\"\x92\x05\n\x10TransactionEvent\x12\x63\n\nevent_type\x18\x01 \x01(\x0e\x32J.google.cloud.recaptchaenterprise.v1.TransactionEvent.TransactionEventTypeB\x03\xe0\x41\x01\x12\x13\n\x06reason\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05value\x18\x03 \x01(\x01\x42\x03\xe0\x41\x01\x12\x33\n\nevent_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\"\xba\x03\n\x14TransactionEventType\x12&\n\"TRANSACTION_EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10MERCHANT_APPROVE\x10\x01\x12\x11\n\rMERCHANT_DENY\x10\x02\x12\x11\n\rMANUAL_REVIEW\x10\x03\x12\x11\n\rAUTHORIZATION\x10\x04\x12\x19\n\x15\x41UTHORIZATION_DECLINE\x10\x05\x12\x13\n\x0fPAYMENT_CAPTURE\x10\x06\x12\x1b\n\x17PAYMENT_CAPTURE_DECLINE\x10\x07\x12\n\n\x06\x43\x41NCEL\x10\x08\x12\x16\n\x12\x43HARGEBACK_INQUIRY\x10\t\x12\x14\n\x10\x43HARGEBACK_ALERT\x10\n\x12\x16\n\x12\x46RAUD_NOTIFICATION\x10\x0b\x12\x0e\n\nCHARGEBACK\x10\x0c\x12\x1c\n\x18\x43HARGEBACK_REPRESENTMENT\x10\r\x12\x16\n\x12\x43HARGEBACK_REVERSE\x10\x0e\x12\x12\n\x0eREFUND_REQUEST\x10\x0f\x12\x12\n\x0eREFUND_DECLINE\x10\x10\x12\n\n\x06REFUND\x10\x11\x12\x12\n\x0eREFUND_REVERSE\x10\x12\"j\n\x18PhoneAuthenticationEvent\x12\x19\n\x0cphone_number\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x33\n\nevent_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\"\xeb\x07\n\x19\x41nnotateAssessmentRequest\x12\x43\n\x04name\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\n-recaptchaenterprise.googleapis.com/Assessment\x12\x62\n\nannotation\x18\x02 \x01(\x0e\x32I.google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest.AnnotationB\x03\xe0\x41\x01\x12[\n\x07reasons\x18\x03 \x03(\x0e\x32\x45.google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest.ReasonB\x03\xe0\x41\x01\x12\x17\n\naccount_id\x18\x07 \x01(\tB\x03\xe0\x41\x01\x12\x1e\n\x11hashed_account_id\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x01\x12U\n\x11transaction_event\x18\x05 \x01(\x0b\x32\x35.google.cloud.recaptchaenterprise.v1.TransactionEventB\x03\xe0\x41\x01\x12\x66\n\x1aphone_authentication_event\x18\x06 \x01(\x0b\x32=.google.cloud.recaptchaenterprise.v1.PhoneAuthenticationEventB\x03\xe0\x41\x01\"~\n\nAnnotation\x12\x1a\n\x16\x41NNOTATION_UNSPECIFIED\x10\x00\x12\x0e\n\nLEGITIMATE\x10\x01\x12\x0e\n\nFRAUDULENT\x10\x02\x12\x18\n\x10PASSWORD_CORRECT\x10\x03\x1a\x02\x08\x01\x12\x1a\n\x12PASSWORD_INCORRECT\x10\x04\x1a\x02\x08\x01\"\xcf\x02\n\x06Reason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x0e\n\nCHARGEBACK\x10\x01\x12\x14\n\x10\x43HARGEBACK_FRAUD\x10\x08\x12\x16\n\x12\x43HARGEBACK_DISPUTE\x10\t\x12\n\n\x06REFUND\x10\n\x12\x10\n\x0cREFUND_FRAUD\x10\x0b\x12\x18\n\x14TRANSACTION_ACCEPTED\x10\x0c\x12\x18\n\x14TRANSACTION_DECLINED\x10\r\x12\x16\n\x12PAYMENT_HEURISTICS\x10\x02\x12\x18\n\x14INITIATED_TWO_FACTOR\x10\x07\x12\x15\n\x11PASSED_TWO_FACTOR\x10\x03\x12\x15\n\x11\x46\x41ILED_TWO_FACTOR\x10\x04\x12\x14\n\x10\x43ORRECT_PASSWORD\x10\x05\x12\x16\n\x12INCORRECT_PASSWORD\x10\x06\x12\x0f\n\x0bSOCIAL_SPAM\x10\x0e\"\x1c\n\x1a\x41nnotateAssessmentResponse\"\xb4\x01\n\x18\x45ndpointVerificationInfo\x12\x17\n\remail_address\x18\x01 \x01(\tH\x00\x12\x16\n\x0cphone_number\x18\x02 \x01(\tH\x00\x12\x1a\n\rrequest_token\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12?\n\x16last_verification_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x42\n\n\x08\x65ndpoint\"\xdb\x04\n\x17\x41\x63\x63ountVerificationInfo\x12U\n\tendpoints\x18\x01 \x03(\x0b\x32=.google.cloud.recaptchaenterprise.v1.EndpointVerificationInfoB\x03\xe0\x41\x01\x12\x1a\n\rlanguage_code\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12l\n\x1alatest_verification_result\x18\x07 \x01(\x0e\x32\x43.google.cloud.recaptchaenterprise.v1.AccountVerificationInfo.ResultB\x03\xe0\x41\x03\x12\x14\n\x08username\x18\x02 \x01(\tB\x02\x18\x01\"\xc8\x02\n\x06Result\x12\x16\n\x12RESULT_UNSPECIFIED\x10\x00\x12\x19\n\x15SUCCESS_USER_VERIFIED\x10\x01\x12\x1b\n\x17\x45RROR_USER_NOT_VERIFIED\x10\x02\x12$\n ERROR_SITE_ONBOARDING_INCOMPLETE\x10\x03\x12\x1f\n\x1b\x45RROR_RECIPIENT_NOT_ALLOWED\x10\x04\x12)\n%ERROR_RECIPIENT_ABUSE_LIMIT_EXHAUSTED\x10\x05\x12\x1b\n\x17\x45RROR_CRITICAL_INTERNAL\x10\x06\x12\"\n\x1e\x45RROR_CUSTOMER_QUOTA_EXHAUSTED\x10\x07\x12\x1f\n\x1b\x45RROR_VERIFICATION_BYPASSED\x10\x08\x12\x1a\n\x16\x45RROR_VERDICT_MISMATCH\x10\t\"\xcc\x01\n\x1fPrivatePasswordLeakVerification\x12\x1f\n\x12lookup_hash_prefix\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x02\x12,\n\x1f\x65ncrypted_user_credentials_hash\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x01\x12*\n\x1d\x65ncrypted_leak_match_prefixes\x18\x03 \x03(\x0c\x42\x03\xe0\x41\x03\x12.\n!reencrypted_user_credentials_hash\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x03\"\xa4\t\n\nAssessment\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x03\xe0\x41\x08\x12>\n\x05\x65vent\x18\x02 \x01(\x0b\x32*.google.cloud.recaptchaenterprise.v1.EventB\x03\xe0\x41\x01\x12M\n\rrisk_analysis\x18\x03 \x01(\x0b\x32\x31.google.cloud.recaptchaenterprise.v1.RiskAnalysisB\x03\xe0\x41\x03\x12S\n\x10token_properties\x18\x04 \x01(\x0b\x32\x34.google.cloud.recaptchaenterprise.v1.TokenPropertiesB\x03\xe0\x41\x03\x12_\n\x14\x61\x63\x63ount_verification\x18\x05 \x01(\x0b\x32<.google.cloud.recaptchaenterprise.v1.AccountVerificationInfoB\x03\xe0\x41\x01\x12h\n\x1b\x61\x63\x63ount_defender_assessment\x18\x06 \x01(\x0b\x32>.google.cloud.recaptchaenterprise.v1.AccountDefenderAssessmentB\x03\xe0\x41\x03\x12u\n\"private_password_leak_verification\x18\x08 \x01(\x0b\x32\x44.google.cloud.recaptchaenterprise.v1.PrivatePasswordLeakVerificationB\x03\xe0\x41\x01\x12\x66\n\x1a\x66irewall_policy_assessment\x18\n \x01(\x0b\x32=.google.cloud.recaptchaenterprise.v1.FirewallPolicyAssessmentB\x03\xe0\x41\x03\x12h\n\x1b\x66raud_prevention_assessment\x18\x0b \x01(\x0b\x32>.google.cloud.recaptchaenterprise.v1.FraudPreventionAssessmentB\x03\xe0\x41\x03\x12M\n\rfraud_signals\x18\r \x01(\x0b\x32\x31.google.cloud.recaptchaenterprise.v1.FraudSignalsB\x03\xe0\x41\x03\x12^\n\x16phone_fraud_assessment\x18\x0c \x01(\x0b\x32\x39.google.cloud.recaptchaenterprise.v1.PhoneFraudAssessmentB\x03\xe0\x41\x03\x12_\n\x16\x61ssessment_environment\x18\x0e \x01(\x0b\x32:.google.cloud.recaptchaenterprise.v1.AssessmentEnvironmentB\x03\xe0\x41\x01:x\xea\x41u\n-recaptchaenterprise.googleapis.com/Assessment\x12+projects/{project}/assessments/{assessment}*\x0b\x61ssessments2\nassessment\"\xb0\x05\n\x05\x45vent\x12\x12\n\x05token\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08site_key\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x17\n\nuser_agent\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12$\n\x0fuser_ip_address\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12\x1c\n\x0f\x65xpected_action\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12 \n\x11hashed_account_id\x18\x06 \x01(\x0c\x42\x05\x18\x01\xe0\x41\x01\x12\x14\n\x07\x65xpress\x18\x0e \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rrequested_uri\x18\x08 \x01(\tB\x03\xe0\x41\x01\x12!\n\x14waf_token_assessment\x18\t \x01(\x08\x42\x03\xe0\x41\x01\x12\x10\n\x03ja3\x18\n \x01(\tB\x03\xe0\x41\x01\x12\x10\n\x03ja4\x18\x12 \x01(\tB\x03\xe0\x41\x01\x12\x14\n\x07headers\x18\x0b \x03(\tB\x03\xe0\x41\x01\x12\'\n\x1a\x66irewall_policy_evaluation\x18\x0c \x01(\x08\x42\x03\xe0\x41\x01\x12S\n\x10transaction_data\x18\r \x01(\x0b\x32\x34.google.cloud.recaptchaenterprise.v1.TransactionDataB\x03\xe0\x41\x01\x12\x45\n\tuser_info\x18\x0f \x01(\x0b\x32-.google.cloud.recaptchaenterprise.v1.UserInfoB\x03\xe0\x41\x01\x12Y\n\x10\x66raud_prevention\x18\x11 \x01(\x0e\x32:.google.cloud.recaptchaenterprise.v1.Event.FraudPreventionB\x03\xe0\x41\x01\"N\n\x0f\x46raudPrevention\x12 \n\x1c\x46RAUD_PREVENTION_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\"\xa0\n\n\x0fTransactionData\x12\x1b\n\x0etransaction_id\x18\x0b \x01(\tH\x00\x88\x01\x01\x12\x1b\n\x0epayment_method\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08\x63\x61rd_bin\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1b\n\x0e\x63\x61rd_last_four\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rcurrency_code\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05value\x18\x05 \x01(\x01\x42\x03\xe0\x41\x01\x12\x1b\n\x0eshipping_value\x18\x0c \x01(\x01\x42\x03\xe0\x41\x01\x12[\n\x10shipping_address\x18\x06 \x01(\x0b\x32<.google.cloud.recaptchaenterprise.v1.TransactionData.AddressB\x03\xe0\x41\x01\x12Z\n\x0f\x62illing_address\x18\x07 \x01(\x0b\x32<.google.cloud.recaptchaenterprise.v1.TransactionData.AddressB\x03\xe0\x41\x01\x12L\n\x04user\x18\x08 \x01(\x0b\x32\x39.google.cloud.recaptchaenterprise.v1.TransactionData.UserB\x03\xe0\x41\x01\x12Q\n\tmerchants\x18\r \x03(\x0b\x32\x39.google.cloud.recaptchaenterprise.v1.TransactionData.UserB\x03\xe0\x41\x01\x12M\n\x05items\x18\x0e \x03(\x0b\x32\x39.google.cloud.recaptchaenterprise.v1.TransactionData.ItemB\x03\xe0\x41\x01\x12[\n\x0cgateway_info\x18\n \x01(\x0b\x32@.google.cloud.recaptchaenterprise.v1.TransactionData.GatewayInfoB\x03\xe0\x41\x01\x1a\xa4\x01\n\x07\x41\x64\x64ress\x12\x16\n\trecipient\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x14\n\x07\x61\x64\x64ress\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12\x15\n\x08locality\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12 \n\x13\x61\x64ministrative_area\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0bregion_code\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0bpostal_code\x18\x06 \x01(\tB\x03\xe0\x41\x01\x1a\xa2\x01\n\x04User\x12\x17\n\naccount_id\x18\x06 \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0b\x63reation_ms\x18\x01 \x01(\x03\x42\x03\xe0\x41\x01\x12\x12\n\x05\x65mail\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1b\n\x0e\x65mail_verified\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x19\n\x0cphone_number\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1b\n\x0ephone_verified\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\x1a\x66\n\x04Item\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05value\x18\x02 \x01(\x01\x42\x03\xe0\x41\x01\x12\x15\n\x08quantity\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01\x12 \n\x13merchant_account_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x1a\x84\x01\n\x0bGatewayInfo\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\"\n\x15gateway_response_code\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1e\n\x11\x61vs_response_code\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1e\n\x11\x63vv_response_code\x18\x04 \x01(\tB\x03\xe0\x41\x01\x42\x11\n\x0f_transaction_id\"\xa5\x01\n\x08UserInfo\x12<\n\x13\x63reate_account_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x12\x17\n\naccount_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x42\n\x08user_ids\x18\x03 \x03(\x0b\x32+.google.cloud.recaptchaenterprise.v1.UserIdB\x03\xe0\x41\x01\"`\n\x06UserId\x12\x14\n\x05\x65mail\x18\x01 \x01(\tB\x03\xe0\x41\x01H\x00\x12\x1b\n\x0cphone_number\x18\x02 \x01(\tB\x03\xe0\x41\x01H\x00\x12\x17\n\x08username\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x00\x42\n\n\x08id_oneof\"\xfd\x04\n\x0cRiskAnalysis\x12\x12\n\x05score\x18\x01 \x01(\x02\x42\x03\xe0\x41\x03\x12\\\n\x07reasons\x18\x02 \x03(\x0e\x32\x46.google.cloud.recaptchaenterprise.v1.RiskAnalysis.ClassificationReasonB\x03\xe0\x41\x03\x12%\n\x18\x65xtended_verdict_reasons\x18\x03 \x03(\tB\x03\xe0\x41\x03\x12S\n\tchallenge\x18\x04 \x01(\x0e\x32;.google.cloud.recaptchaenterprise.v1.RiskAnalysis.ChallengeB\x03\xe0\x41\x03\x12\x44\n\rverified_bots\x18\x05 \x03(\x0b\x32(.google.cloud.recaptchaenterprise.v1.BotB\x03\xe0\x41\x03\"\xe9\x01\n\x14\x43lassificationReason\x12%\n!CLASSIFICATION_REASON_UNSPECIFIED\x10\x00\x12\x0e\n\nAUTOMATION\x10\x01\x12\x1a\n\x16UNEXPECTED_ENVIRONMENT\x10\x02\x12\x14\n\x10TOO_MUCH_TRAFFIC\x10\x03\x12\x1d\n\x19UNEXPECTED_USAGE_PATTERNS\x10\x04\x12\x18\n\x14LOW_CONFIDENCE_SCORE\x10\x05\x12\x15\n\x11SUSPECTED_CARDING\x10\x06\x12\x18\n\x14SUSPECTED_CHARGEBACK\x10\x07\"M\n\tChallenge\x12\x19\n\x15\x43HALLENGE_UNSPECIFIED\x10\x00\x12\r\n\tNOCAPTCHA\x10\x01\x12\n\n\x06PASSED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"\xbd\x01\n\x03\x42ot\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12G\n\x08\x62ot_type\x18\x02 \x01(\x0e\x32\x30.google.cloud.recaptchaenterprise.v1.Bot.BotTypeB\x03\xe0\x41\x01\"Z\n\x07\x42otType\x12\x18\n\x14\x42OT_TYPE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x41I_AGENT\x10\x01\x12\x13\n\x0f\x43ONTENT_SCRAPER\x10\x02\x12\x12\n\x0eSEARCH_INDEXER\x10\x03\"\xd2\x03\n\x0fTokenProperties\x12\x12\n\x05valid\x18\x01 \x01(\x08\x42\x03\xe0\x41\x03\x12_\n\x0einvalid_reason\x18\x02 \x01(\x0e\x32\x42.google.cloud.recaptchaenterprise.v1.TokenProperties.InvalidReasonB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x15\n\x08hostname\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12!\n\x14\x61ndroid_package_name\x18\x08 \x01(\tB\x03\xe0\x41\x03\x12\x1a\n\rios_bundle_id\x18\t \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x06\x61\x63tion\x18\x05 \x01(\tB\x03\xe0\x41\x03\"\xa8\x01\n\rInvalidReason\x12\x1e\n\x1aINVALID_REASON_UNSPECIFIED\x10\x00\x12\x1a\n\x16UNKNOWN_INVALID_REASON\x10\x01\x12\r\n\tMALFORMED\x10\x02\x12\x0b\n\x07\x45XPIRED\x10\x03\x12\x08\n\x04\x44UPE\x10\x04\x12\x0b\n\x07MISSING\x10\x05\x12\x11\n\rBROWSER_ERROR\x10\x06\x12\x15\n\x11UNEXPECTED_ACTION\x10\x07\"\xd0\x07\n\x19\x46raudPreventionAssessment\x12\x1d\n\x10transaction_risk\x18\x01 \x01(\x02\x42\x03\xe0\x41\x03\x12\x64\n\x0crisk_reasons\x18\x06 \x03(\x0b\x32I.google.cloud.recaptchaenterprise.v1.FraudPreventionAssessment.RiskReasonB\x03\xe0\x41\x03\x12~\n\x19stolen_instrument_verdict\x18\x02 \x01(\x0b\x32V.google.cloud.recaptchaenterprise.v1.FraudPreventionAssessment.StolenInstrumentVerdictB\x03\xe0\x41\x03\x12t\n\x14\x63\x61rd_testing_verdict\x18\x03 \x01(\x0b\x32Q.google.cloud.recaptchaenterprise.v1.FraudPreventionAssessment.CardTestingVerdictB\x03\xe0\x41\x03\x12|\n\x18\x62\x65havioral_trust_verdict\x18\x04 \x01(\x0b\x32U.google.cloud.recaptchaenterprise.v1.FraudPreventionAssessment.BehavioralTrustVerdictB\x03\xe0\x41\x03\x1a\xb4\x02\n\nRiskReason\x12\x65\n\x06reason\x18\x01 \x01(\x0e\x32P.google.cloud.recaptchaenterprise.v1.FraudPreventionAssessment.RiskReason.ReasonB\x03\xe0\x41\x03\"\xbe\x01\n\x06Reason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x1d\n\x19HIGH_TRANSACTION_VELOCITY\x10\x01\x12!\n\x1d\x45XCESSIVE_ENUMERATION_PATTERN\x10\x02\x12\x1a\n\x16SHORT_IDENTITY_HISTORY\x10\x03\x12\x1b\n\x17GEOLOCATION_DISCREPANCY\x10\x04\x12!\n\x1d\x41SSOCIATED_WITH_FRAUD_CLUSTER\x10\x05\x1a,\n\x17StolenInstrumentVerdict\x12\x11\n\x04risk\x18\x01 \x01(\x02\x42\x03\xe0\x41\x03\x1a\'\n\x12\x43\x61rdTestingVerdict\x12\x11\n\x04risk\x18\x01 \x01(\x02\x42\x03\xe0\x41\x03\x1a,\n\x16\x42\x65havioralTrustVerdict\x12\x12\n\x05trust\x18\x01 \x01(\x02\x42\x03\xe0\x41\x03\"\xe3\x03\n\x0c\x46raudSignals\x12X\n\x0cuser_signals\x18\x01 \x01(\x0b\x32=.google.cloud.recaptchaenterprise.v1.FraudSignals.UserSignalsB\x03\xe0\x41\x03\x12X\n\x0c\x63\x61rd_signals\x18\x02 \x01(\x0b\x32=.google.cloud.recaptchaenterprise.v1.FraudSignals.CardSignalsB\x03\xe0\x41\x03\x1aP\n\x0bUserSignals\x12$\n\x17\x61\x63tive_days_lower_bound\x18\x01 \x01(\x05\x42\x03\xe0\x41\x03\x12\x1b\n\x0esynthetic_risk\x18\x02 \x01(\x02\x42\x03\xe0\x41\x03\x1a\xcc\x01\n\x0b\x43\x61rdSignals\x12\x61\n\x0b\x63\x61rd_labels\x18\x01 \x03(\x0e\x32G.google.cloud.recaptchaenterprise.v1.FraudSignals.CardSignals.CardLabelB\x03\xe0\x41\x03\"Z\n\tCardLabel\x12\x1a\n\x16\x43\x41RD_LABEL_UNSPECIFIED\x10\x00\x12\x0b\n\x07PREPAID\x10\x01\x12\x0b\n\x07VIRTUAL\x10\x02\x12\x17\n\x13UNEXPECTED_LOCATION\x10\x03\"\xe2\x01\n\x13SmsTollFraudVerdict\x12\x11\n\x04risk\x18\x01 \x01(\x02\x42\x03\xe0\x41\x03\x12\x61\n\x07reasons\x18\x02 \x03(\x0e\x32K.google.cloud.recaptchaenterprise.v1.SmsTollFraudVerdict.SmsTollFraudReasonB\x03\xe0\x41\x03\"U\n\x12SmsTollFraudReason\x12%\n!SMS_TOLL_FRAUD_REASON_UNSPECIFIED\x10\x00\x12\x18\n\x14INVALID_PHONE_NUMBER\x10\x01\"u\n\x14PhoneFraudAssessment\x12]\n\x16sms_toll_fraud_verdict\x18\x01 \x01(\x0b\x32\x38.google.cloud.recaptchaenterprise.v1.SmsTollFraudVerdictB\x03\xe0\x41\x03\"\xbb\x02\n\x19\x41\x63\x63ountDefenderAssessment\x12h\n\x06labels\x18\x01 \x03(\x0e\x32S.google.cloud.recaptchaenterprise.v1.AccountDefenderAssessment.AccountDefenderLabelB\x03\xe0\x41\x03\"\xb3\x01\n\x14\x41\x63\x63ountDefenderLabel\x12&\n\"ACCOUNT_DEFENDER_LABEL_UNSPECIFIED\x10\x00\x12\x11\n\rPROFILE_MATCH\x10\x01\x12\x1d\n\x19SUSPICIOUS_LOGIN_ACTIVITY\x10\x02\x12\x1f\n\x1bSUSPICIOUS_ACCOUNT_CREATION\x10\x03\x12 \n\x1cRELATED_ACCOUNTS_NUMBER_HIGH\x10\x04\"\x93\x01\n\x10\x43reateKeyRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12:\n\x03key\x18\x02 \x01(\x0b\x32(.google.cloud.recaptchaenterprise.v1.KeyB\x03\xe0\x41\x02\"\x87\x01\n\x0fListKeysRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"c\n\x10ListKeysResponse\x12\x36\n\x04keys\x18\x01 \x03(\x0b\x32(.google.cloud.recaptchaenterprise.v1.Key\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"]\n\x1eRetrieveLegacySecretKeyRequest\x12;\n\x03key\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recaptchaenterprise.googleapis.com/Key\"M\n\rGetKeyRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recaptchaenterprise.googleapis.com/Key\"\x84\x01\n\x10UpdateKeyRequest\x12:\n\x03key\x18\x01 \x01(\x0b\x32(.google.cloud.recaptchaenterprise.v1.KeyB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\"P\n\x10\x44\x65leteKeyRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recaptchaenterprise.googleapis.com/Key\"\xb5\x01\n\x1b\x43reateFirewallPolicyRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12Q\n\x0f\x66irewall_policy\x18\x02 \x01(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.FirewallPolicyB\x03\xe0\x41\x02\"\x93\x01\n\x1bListFirewallPoliciesRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\x87\x01\n\x1cListFirewallPoliciesResponse\x12N\n\x11\x66irewall_policies\x18\x01 \x03(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.FirewallPolicy\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"c\n\x18GetFirewallPolicyRequest\x12G\n\x04name\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\n1recaptchaenterprise.googleapis.com/FirewallPolicy\"\xa6\x01\n\x1bUpdateFirewallPolicyRequest\x12Q\n\x0f\x66irewall_policy\x18\x01 \x01(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.FirewallPolicyB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\"f\n\x1b\x44\x65leteFirewallPolicyRequest\x12G\n\x04name\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\n1recaptchaenterprise.googleapis.com/FirewallPolicy\"\xaf\x01\n\x1eReorderFirewallPoliciesRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12H\n\x05names\x18\x02 \x03(\tB9\xe0\x41\x02\xfa\x41\x33\n1recaptchaenterprise.googleapis.com/FirewallPolicy\"!\n\x1fReorderFirewallPoliciesResponse\"r\n\x11MigrateKeyRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recaptchaenterprise.googleapis.com/Key\x12\x1f\n\x12skip_billing_check\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"U\n\x11GetMetricsRequest\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x02\xfa\x41,\n*recaptchaenterprise.googleapis.com/Metrics\"\xd5\x02\n\x07Metrics\x12\x14\n\x04name\x18\x04 \x01(\tB\x06\xe0\x41\x08\xe0\x41\x03\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12H\n\rscore_metrics\x18\x02 \x03(\x0b\x32\x31.google.cloud.recaptchaenterprise.v1.ScoreMetrics\x12P\n\x11\x63hallenge_metrics\x18\x03 \x03(\x0b\x32\x35.google.cloud.recaptchaenterprise.v1.ChallengeMetrics:h\xea\x41\x65\n*recaptchaenterprise.googleapis.com/Metrics\x12%projects/{project}/keys/{key}/metrics*\x07metrics2\x07metrics\"<\n\x1fRetrieveLegacySecretKeyResponse\x12\x19\n\x11legacy_secret_key\x18\x01 \x01(\t\"\xb3\x06\n\x03Key\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x19\n\x0c\x64isplay_name\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12K\n\x0cweb_settings\x18\x03 \x01(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.WebKeySettingsH\x00\x12S\n\x10\x61ndroid_settings\x18\x04 \x01(\x0b\x32\x37.google.cloud.recaptchaenterprise.v1.AndroidKeySettingsH\x00\x12K\n\x0cios_settings\x18\x05 \x01(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.IOSKeySettingsH\x00\x12S\n\x10\x65xpress_settings\x18\x0b \x01(\x0b\x32\x37.google.cloud.recaptchaenterprise.v1.ExpressKeySettingsH\x00\x12I\n\x06labels\x18\x06 \x03(\x0b\x32\x34.google.cloud.recaptchaenterprise.v1.Key.LabelsEntryB\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12Q\n\x0ftesting_options\x18\t \x01(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.TestingOptionsB\x03\xe0\x41\x01\x12K\n\x0cwaf_settings\x18\n \x01(\x0b\x32\x30.google.cloud.recaptchaenterprise.v1.WafSettingsB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:U\xea\x41R\n&recaptchaenterprise.googleapis.com/Key\x12\x1dprojects/{project}/keys/{key}*\x04keys2\x03keyB\x13\n\x11platform_settings\"\xf2\x01\n\x0eTestingOptions\x12\x1a\n\rtesting_score\x18\x01 \x01(\x02\x42\x03\xe0\x41\x01\x12\x64\n\x11testing_challenge\x18\x02 \x01(\x0e\x32\x44.google.cloud.recaptchaenterprise.v1.TestingOptions.TestingChallengeB\x03\xe0\x41\x01\"^\n\x10TestingChallenge\x12!\n\x1dTESTING_CHALLENGE_UNSPECIFIED\x10\x00\x12\r\n\tNOCAPTCHA\x10\x01\x12\x18\n\x14UNSOLVABLE_CHALLENGE\x10\x02\"\xc5\x08\n\x0eWebKeySettings\x12\x1e\n\x11\x61llow_all_domains\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1c\n\x0f\x61llowed_domains\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12\x1e\n\x11\x61llow_amp_traffic\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\x12\x62\n\x10integration_type\x18\x04 \x01(\x0e\x32\x43.google.cloud.recaptchaenterprise.v1.WebKeySettings.IntegrationTypeB\x03\xe0\x41\x02\x12{\n\x1d\x63hallenge_security_preference\x18\x05 \x01(\x0e\x32O.google.cloud.recaptchaenterprise.v1.WebKeySettings.ChallengeSecurityPreferenceB\x03\xe0\x41\x01\x12\x66\n\x12\x63hallenge_settings\x18\x06 \x01(\x0b\x32\x45.google.cloud.recaptchaenterprise.v1.WebKeySettings.ChallengeSettingsB\x03\xe0\x41\x01\x1a.\n\x0e\x41\x63tionSettings\x12\x1c\n\x0fscore_threshold\x18\x01 \x01(\x02\x42\x03\xe0\x41\x02\x1a\xea\x02\n\x11\x43hallengeSettings\x12\x61\n\x10\x64\x65\x66\x61ult_settings\x18\x01 \x01(\x0b\x32\x42.google.cloud.recaptchaenterprise.v1.WebKeySettings.ActionSettingsB\x03\xe0\x41\x02\x12w\n\x0f\x61\x63tion_settings\x18\x02 \x03(\x0b\x32Y.google.cloud.recaptchaenterprise.v1.WebKeySettings.ChallengeSettings.ActionSettingsEntryB\x03\xe0\x41\x01\x1ay\n\x13\x41\x63tionSettingsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12Q\n\x05value\x18\x02 \x01(\x0b\x32\x42.google.cloud.recaptchaenterprise.v1.WebKeySettings.ActionSettings:\x02\x38\x01\"w\n\x0fIntegrationType\x12 \n\x1cINTEGRATION_TYPE_UNSPECIFIED\x10\x00\x12\t\n\x05SCORE\x10\x01\x12\x0c\n\x08\x43HECKBOX\x10\x02\x12\r\n\tINVISIBLE\x10\x03\x12\x1a\n\x16POLICY_BASED_CHALLENGE\x10\x05\"v\n\x1b\x43hallengeSecurityPreference\x12-\n)CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED\x10\x00\x12\r\n\tUSABILITY\x10\x01\x12\x0b\n\x07\x42\x41LANCE\x10\x02\x12\x0c\n\x08SECURITY\x10\x03\"\x96\x01\n\x12\x41ndroidKeySettings\x12$\n\x17\x61llow_all_package_names\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\x12\"\n\x15\x61llowed_package_names\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12\x36\n)support_non_google_app_store_distribution\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\"\xac\x01\n\x0eIOSKeySettings\x12!\n\x14\x61llow_all_bundle_ids\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1f\n\x12\x61llowed_bundle_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12V\n\x12\x61pple_developer_id\x18\x03 \x01(\x0b\x32\x35.google.cloud.recaptchaenterprise.v1.AppleDeveloperIdB\x03\xe0\x41\x01\"\x14\n\x12\x45xpressKeySettings\"Z\n\x10\x41ppleDeveloperId\x12\x1b\n\x0bprivate_key\x18\x01 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x04\x12\x13\n\x06key_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x14\n\x07team_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\"\xa9\x01\n\x11ScoreDistribution\x12_\n\rscore_buckets\x18\x01 \x03(\x0b\x32H.google.cloud.recaptchaenterprise.v1.ScoreDistribution.ScoreBucketsEntry\x1a\x33\n\x11ScoreBucketsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\"\xab\x02\n\x0cScoreMetrics\x12O\n\x0foverall_metrics\x18\x01 \x01(\x0b\x32\x36.google.cloud.recaptchaenterprise.v1.ScoreDistribution\x12\\\n\x0e\x61\x63tion_metrics\x18\x02 \x03(\x0b\x32\x44.google.cloud.recaptchaenterprise.v1.ScoreMetrics.ActionMetricsEntry\x1al\n\x12\x41\x63tionMetricsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x45\n\x05value\x18\x02 \x01(\x0b\x32\x36.google.cloud.recaptchaenterprise.v1.ScoreDistribution:\x02\x38\x01\"o\n\x10\x43hallengeMetrics\x12\x16\n\x0epageload_count\x18\x01 \x01(\x03\x12\x17\n\x0fnocaptcha_count\x18\x02 \x01(\x03\x12\x14\n\x0c\x66\x61iled_count\x18\x03 \x01(\x03\x12\x14\n\x0cpassed_count\x18\x04 \x01(\x03\"\x95\x01\n\x18\x46irewallPolicyAssessment\x12&\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03\x12Q\n\x0f\x66irewall_policy\x18\x08 \x01(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.FirewallPolicyB\x03\xe0\x41\x03\"\x82\x06\n\x0e\x46irewallAction\x12P\n\x05\x61llow\x18\x01 \x01(\x0b\x32?.google.cloud.recaptchaenterprise.v1.FirewallAction.AllowActionH\x00\x12P\n\x05\x62lock\x18\x02 \x01(\x0b\x32?.google.cloud.recaptchaenterprise.v1.FirewallAction.BlockActionH\x00\x12t\n\x18include_recaptcha_script\x18\x06 \x01(\x0b\x32P.google.cloud.recaptchaenterprise.v1.FirewallAction.IncludeRecaptchaScriptActionH\x00\x12V\n\x08redirect\x18\x05 \x01(\x0b\x32\x42.google.cloud.recaptchaenterprise.v1.FirewallAction.RedirectActionH\x00\x12Z\n\nsubstitute\x18\x03 \x01(\x0b\x32\x44.google.cloud.recaptchaenterprise.v1.FirewallAction.SubstituteActionH\x00\x12Y\n\nset_header\x18\x04 \x01(\x0b\x32\x43.google.cloud.recaptchaenterprise.v1.FirewallAction.SetHeaderActionH\x00\x1a\r\n\x0b\x41llowAction\x1a\r\n\x0b\x42lockAction\x1a\x1e\n\x1cIncludeRecaptchaScriptAction\x1a\x10\n\x0eRedirectAction\x1a%\n\x10SubstituteAction\x12\x11\n\x04path\x18\x01 \x01(\tB\x03\xe0\x41\x01\x1a\x37\n\x0fSetHeaderAction\x12\x10\n\x03key\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05value\x18\x02 \x01(\tB\x03\xe0\x41\x01\x42\x17\n\x15\x66irewall_action_oneof\"\xc5\x02\n\x0e\x46irewallPolicy\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x11\n\x04path\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tcondition\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12I\n\x07\x61\x63tions\x18\x06 \x03(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.FirewallActionB\x03\xe0\x41\x01:\x8f\x01\xea\x41\x8b\x01\n1recaptchaenterprise.googleapis.com/FirewallPolicy\x12\x34projects/{project}/firewallpolicies/{firewallpolicy}*\x10\x66irewallPolicies2\x0e\x66irewallPolicy\"\xb6\x01\n)ListRelatedAccountGroupMembershipsRequest\x12X\n\x06parent\x18\x01 \x01(\tBH\xe0\x41\x02\xfa\x41\x42\x12@recaptchaenterprise.googleapis.com/RelatedAccountGroupMembership\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\xb4\x01\n*ListRelatedAccountGroupMembershipsResponse\x12m\n!related_account_group_memberships\x18\x01 \x03(\x0b\x32\x42.google.cloud.recaptchaenterprise.v1.RelatedAccountGroupMembership\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xa2\x01\n\x1fListRelatedAccountGroupsRequest\x12N\n\x06parent\x18\x01 \x01(\tB>\xe0\x41\x02\xfa\x41\x38\x12\x36recaptchaenterprise.googleapis.com/RelatedAccountGroup\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\x95\x01\n ListRelatedAccountGroupsResponse\x12X\n\x16related_account_groups\x18\x01 \x03(\x0b\x32\x38.google.cloud.recaptchaenterprise.v1.RelatedAccountGroup\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xdf\x01\n+SearchRelatedAccountGroupMembershipsRequest\x12\x44\n\x07project\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+cloudresourcemanager.googleapis.com/Project\x12\x17\n\naccount_id\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12 \n\x11hashed_account_id\x18\x02 \x01(\x0c\x42\x05\x18\x01\xe0\x41\x01\x12\x16\n\tpage_size\x18\x03 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x04 \x01(\tB\x03\xe0\x41\x01\"\xb6\x01\n,SearchRelatedAccountGroupMembershipsResponse\x12m\n!related_account_group_memberships\x18\x01 \x03(\x0b\x32\x42.google.cloud.recaptchaenterprise.v1.RelatedAccountGroupMembership\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xa8\x01\n\x14\x41\x64\x64IpOverrideRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recaptchaenterprise.googleapis.com/Key\x12R\n\x10ip_override_data\x18\x02 \x01(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.IpOverrideDataB\x03\xe0\x41\x02\"\x17\n\x15\x41\x64\x64IpOverrideResponse\"\xab\x01\n\x17RemoveIpOverrideRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recaptchaenterprise.googleapis.com/Key\x12R\n\x10ip_override_data\x18\x02 \x01(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.IpOverrideDataB\x03\xe0\x41\x02\"\x1a\n\x18RemoveIpOverrideResponse\"\x89\x01\n\x16ListIpOverridesRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&recaptchaenterprise.googleapis.com/Key\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"}\n\x17ListIpOverridesResponse\x12I\n\x0cip_overrides\x18\x01 \x03(\x0b\x32\x33.google.cloud.recaptchaenterprise.v1.IpOverrideData\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xc8\x02\n\x1dRelatedAccountGroupMembership\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x08\xe0\x41\x02\x12\x12\n\naccount_id\x18\x04 \x01(\t\x12\x1d\n\x11hashed_account_id\x18\x02 \x01(\x0c\x42\x02\x18\x01:\xdd\x01\xea\x41\xd9\x01\n@recaptchaenterprise.googleapis.com/RelatedAccountGroupMembership\x12Vprojects/{project}/relatedaccountgroups/{relatedaccountgroup}/memberships/{membership}*\x1erelatedAccountGroupMemberships2\x1drelatedAccountGroupMembership\"\xd4\x01\n\x13RelatedAccountGroup\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x08\xe0\x41\x02:\xa6\x01\xea\x41\xa2\x01\n6recaptchaenterprise.googleapis.com/RelatedAccountGroup\x12=projects/{project}/relatedaccountgroups/{relatedaccountgroup}*\x14relatedAccountGroups2\x13relatedAccountGroup\"\x8b\x03\n\x0bWafSettings\x12U\n\x0bwaf_service\x18\x01 \x01(\x0e\x32;.google.cloud.recaptchaenterprise.v1.WafSettings.WafServiceB\x03\xe0\x41\x02\x12U\n\x0bwaf_feature\x18\x02 \x01(\x0e\x32;.google.cloud.recaptchaenterprise.v1.WafSettings.WafFeatureB\x03\xe0\x41\x02\"s\n\nWafFeature\x12\x1b\n\x17WAF_FEATURE_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x43HALLENGE_PAGE\x10\x01\x12\x11\n\rSESSION_TOKEN\x10\x02\x12\x10\n\x0c\x41\x43TION_TOKEN\x10\x03\x12\x0f\n\x07\x45XPRESS\x10\x05\x1a\x02\x08\x01\"Y\n\nWafService\x12\x1b\n\x17WAF_SERVICE_UNSPECIFIED\x10\x00\x12\x06\n\x02\x43\x41\x10\x01\x12\n\n\x06\x46\x41STLY\x10\x03\x12\x0e\n\nCLOUDFLARE\x10\x04\x12\n\n\x06\x41KAMAI\x10\x05\"B\n\x15\x41ssessmentEnvironment\x12\x13\n\x06\x63lient\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x14\n\x07version\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\xc1\x01\n\x0eIpOverrideData\x12\x17\n\x02ip\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12\\\n\roverride_type\x18\x03 \x01(\x0e\x32@.google.cloud.recaptchaenterprise.v1.IpOverrideData.OverrideTypeB\x03\xe0\x41\x02\"8\n\x0cOverrideType\x12\x1d\n\x19OVERRIDE_TYPE_UNSPECIFIED\x10\x00\x12\t\n\x05\x41LLOW\x10\x01\x32\xe5$\n\x1aRecaptchaEnterpriseService\x12\xce\x01\n\x10\x43reateAssessment\x12<.google.cloud.recaptchaenterprise.v1.CreateAssessmentRequest\x1a/.google.cloud.recaptchaenterprise.v1.Assessment\"K\xda\x41\x11parent,assessment\x82\xd3\xe4\x93\x02\x31\"#/v1/{parent=projects/*}/assessments:\nassessment\x12\xe0\x01\n\x12\x41nnotateAssessment\x12>.google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest\x1a?.google.cloud.recaptchaenterprise.v1.AnnotateAssessmentResponse\"I\xda\x41\x0fname,annotation\x82\xd3\xe4\x93\x02\x31\",/v1/{name=projects/*/assessments/*}:annotate:\x01*\x12\xa4\x01\n\tCreateKey\x12\x35.google.cloud.recaptchaenterprise.v1.CreateKeyRequest\x1a(.google.cloud.recaptchaenterprise.v1.Key\"6\xda\x41\nparent,key\x82\xd3\xe4\x93\x02#\"\x1c/v1/{parent=projects/*}/keys:\x03key\x12\xa6\x01\n\x08ListKeys\x12\x34.google.cloud.recaptchaenterprise.v1.ListKeysRequest\x1a\x35.google.cloud.recaptchaenterprise.v1.ListKeysResponse\"-\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x1e\x12\x1c/v1/{parent=projects/*}/keys\x12\xe7\x01\n\x17RetrieveLegacySecretKey\x12\x43.google.cloud.recaptchaenterprise.v1.RetrieveLegacySecretKeyRequest\x1a\x44.google.cloud.recaptchaenterprise.v1.RetrieveLegacySecretKeyResponse\"A\xda\x41\x03key\x82\xd3\xe4\x93\x02\x35\x12\x33/v1/{key=projects/*/keys/*}:retrieveLegacySecretKey\x12\x93\x01\n\x06GetKey\x12\x32.google.cloud.recaptchaenterprise.v1.GetKeyRequest\x1a(.google.cloud.recaptchaenterprise.v1.Key\"+\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1e\x12\x1c/v1/{name=projects/*/keys/*}\x12\xad\x01\n\tUpdateKey\x12\x35.google.cloud.recaptchaenterprise.v1.UpdateKeyRequest\x1a(.google.cloud.recaptchaenterprise.v1.Key\"?\xda\x41\x0fkey,update_mask\x82\xd3\xe4\x93\x02\'2 /v1/{key.name=projects/*/keys/*}:\x03key\x12\x87\x01\n\tDeleteKey\x12\x35.google.cloud.recaptchaenterprise.v1.DeleteKeyRequest\x1a\x16.google.protobuf.Empty\"+\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1e*\x1c/v1/{name=projects/*/keys/*}\x12\x9f\x01\n\nMigrateKey\x12\x36.google.cloud.recaptchaenterprise.v1.MigrateKeyRequest\x1a(.google.cloud.recaptchaenterprise.v1.Key\"/\x82\xd3\xe4\x93\x02)\"$/v1/{name=projects/*/keys/*}:migrate:\x01*\x12\xd5\x01\n\rAddIpOverride\x12\x39.google.cloud.recaptchaenterprise.v1.AddIpOverrideRequest\x1a:.google.cloud.recaptchaenterprise.v1.AddIpOverrideResponse\"M\xda\x41\x15name,ip_override_data\x82\xd3\xe4\x93\x02/\"*/v1/{name=projects/*/keys/*}:addIpOverride:\x01*\x12\xe1\x01\n\x10RemoveIpOverride\x12<.google.cloud.recaptchaenterprise.v1.RemoveIpOverrideRequest\x1a=.google.cloud.recaptchaenterprise.v1.RemoveIpOverrideResponse\"P\xda\x41\x15name,ip_override_data\x82\xd3\xe4\x93\x02\x32\"-/v1/{name=projects/*/keys/*}:removeIpOverride:\x01*\x12\xcd\x01\n\x0fListIpOverrides\x12;.google.cloud.recaptchaenterprise.v1.ListIpOverridesRequest\x1a<.google.cloud.recaptchaenterprise.v1.ListIpOverridesResponse\"?\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x30\x12./v1/{parent=projects/*/keys/*}:listIpOverrides\x12\xa7\x01\n\nGetMetrics\x12\x36.google.cloud.recaptchaenterprise.v1.GetMetricsRequest\x1a,.google.cloud.recaptchaenterprise.v1.Metrics\"3\xda\x41\x04name\x82\xd3\xe4\x93\x02&\x12$/v1/{name=projects/*/keys/*/metrics}\x12\xe9\x01\n\x14\x43reateFirewallPolicy\x12@.google.cloud.recaptchaenterprise.v1.CreateFirewallPolicyRequest\x1a\x33.google.cloud.recaptchaenterprise.v1.FirewallPolicy\"Z\xda\x41\x16parent,firewall_policy\x82\xd3\xe4\x93\x02;\"(/v1/{parent=projects/*}/firewallpolicies:\x0f\x66irewall_policy\x12\xd6\x01\n\x14ListFirewallPolicies\x12@.google.cloud.recaptchaenterprise.v1.ListFirewallPoliciesRequest\x1a\x41.google.cloud.recaptchaenterprise.v1.ListFirewallPoliciesResponse\"9\xda\x41\x06parent\x82\xd3\xe4\x93\x02*\x12(/v1/{parent=projects/*}/firewallpolicies\x12\xc0\x01\n\x11GetFirewallPolicy\x12=.google.cloud.recaptchaenterprise.v1.GetFirewallPolicyRequest\x1a\x33.google.cloud.recaptchaenterprise.v1.FirewallPolicy\"7\xda\x41\x04name\x82\xd3\xe4\x93\x02*\x12(/v1/{name=projects/*/firewallpolicies/*}\x12\xfe\x01\n\x14UpdateFirewallPolicy\x12@.google.cloud.recaptchaenterprise.v1.UpdateFirewallPolicyRequest\x1a\x33.google.cloud.recaptchaenterprise.v1.FirewallPolicy\"o\xda\x41\x1b\x66irewall_policy,update_mask\x82\xd3\xe4\x93\x02K28/v1/{firewall_policy.name=projects/*/firewallpolicies/*}:\x0f\x66irewall_policy\x12\xa9\x01\n\x14\x44\x65leteFirewallPolicy\x12@.google.cloud.recaptchaenterprise.v1.DeleteFirewallPolicyRequest\x1a\x16.google.protobuf.Empty\"7\xda\x41\x04name\x82\xd3\xe4\x93\x02**(/v1/{name=projects/*/firewallpolicies/*}\x12\xf0\x01\n\x17ReorderFirewallPolicies\x12\x43.google.cloud.recaptchaenterprise.v1.ReorderFirewallPoliciesRequest\x1a\x44.google.cloud.recaptchaenterprise.v1.ReorderFirewallPoliciesResponse\"J\xda\x41\x0cparent,names\x82\xd3\xe4\x93\x02\x35\"0/v1/{parent=projects/*}/firewallpolicies:reorder:\x01*\x12\xe6\x01\n\x18ListRelatedAccountGroups\x12\x44.google.cloud.recaptchaenterprise.v1.ListRelatedAccountGroupsRequest\x1a\x45.google.cloud.recaptchaenterprise.v1.ListRelatedAccountGroupsResponse\"=\xda\x41\x06parent\x82\xd3\xe4\x93\x02.\x12,/v1/{parent=projects/*}/relatedaccountgroups\x12\x92\x02\n\"ListRelatedAccountGroupMemberships\x12N.google.cloud.recaptchaenterprise.v1.ListRelatedAccountGroupMembershipsRequest\x1aO.google.cloud.recaptchaenterprise.v1.ListRelatedAccountGroupMembershipsResponse\"K\xda\x41\x06parent\x82\xd3\xe4\x93\x02<\x12:/v1/{parent=projects/*/relatedaccountgroups/*}/memberships\x12\xb2\x02\n$SearchRelatedAccountGroupMemberships\x12P.google.cloud.recaptchaenterprise.v1.SearchRelatedAccountGroupMembershipsRequest\x1aQ.google.cloud.recaptchaenterprise.v1.SearchRelatedAccountGroupMembershipsResponse\"e\xda\x41\x19project,hashed_account_id\x82\xd3\xe4\x93\x02\x43\">/v1/{project=projects/*}/relatedaccountgroupmemberships:search:\x01*\x1aV\xca\x41\"recaptchaenterprise.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x99\x02\n!com.google.recaptchaenterprise.v1B\x18RecaptchaEnterpriseProtoP\x01Z\\cloud.google.com/go/recaptchaenterprise/v2/apiv1/recaptchaenterprisepb;recaptchaenterprisepb\xa2\x02\x04GCRE\xaa\x02#Google.Cloud.RecaptchaEnterprise.V1\xca\x02#Google\\Cloud\\RecaptchaEnterprise\\V1\xea\x02&Google::Cloud::RecaptchaEnterprise::V1b\x06proto3"
19
19
 
20
- pool = Google::Protobuf::DescriptorPool.generated_pool
21
-
22
- begin
23
- pool.add_serialized_file(descriptor_data)
24
- rescue TypeError
25
- # Compatibility code: will be removed in the next major version.
26
- require 'google/protobuf/descriptor_pb'
27
- parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
28
- parsed.clear_dependency
29
- serialized = parsed.class.encode(parsed)
30
- file = pool.add_serialized_file(serialized)
31
- warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
32
- imports = [
33
- ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
34
- ["google.protobuf.FieldMask", "google/protobuf/field_mask.proto"],
35
- ["google.rpc.Status", "google/rpc/status.proto"],
36
- ]
37
- imports.each do |type_name, expected_filename|
38
- import_file = pool.lookup(type_name).file_descriptor
39
- if import_file.name != expected_filename
40
- warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
41
- end
42
- end
43
- warn "Each proto file must use a consistent fully-qualified name."
44
- warn "This will become an error in the next major version."
45
- end
20
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
21
+ pool.add_serialized_file(descriptor_data)
46
22
 
47
23
  module Google
48
24
  module Cloud
@@ -51,6 +27,7 @@ module Google
51
27
  CreateAssessmentRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.CreateAssessmentRequest").msgclass
52
28
  TransactionEvent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.TransactionEvent").msgclass
53
29
  TransactionEvent::TransactionEventType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.TransactionEvent.TransactionEventType").enummodule
30
+ PhoneAuthenticationEvent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.PhoneAuthenticationEvent").msgclass
54
31
  AnnotateAssessmentRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest").msgclass
55
32
  AnnotateAssessmentRequest::Annotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest.Annotation").enummodule
56
33
  AnnotateAssessmentRequest::Reason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest.Reason").enummodule
@@ -72,9 +49,13 @@ module Google
72
49
  RiskAnalysis = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.RiskAnalysis").msgclass
73
50
  RiskAnalysis::ClassificationReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.RiskAnalysis.ClassificationReason").enummodule
74
51
  RiskAnalysis::Challenge = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.RiskAnalysis.Challenge").enummodule
52
+ Bot = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.Bot").msgclass
53
+ Bot::BotType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.Bot.BotType").enummodule
75
54
  TokenProperties = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.TokenProperties").msgclass
76
55
  TokenProperties::InvalidReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.TokenProperties.InvalidReason").enummodule
77
56
  FraudPreventionAssessment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.FraudPreventionAssessment").msgclass
57
+ FraudPreventionAssessment::RiskReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.FraudPreventionAssessment.RiskReason").msgclass
58
+ FraudPreventionAssessment::RiskReason::Reason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.FraudPreventionAssessment.RiskReason.Reason").enummodule
78
59
  FraudPreventionAssessment::StolenInstrumentVerdict = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.FraudPreventionAssessment.StolenInstrumentVerdict").msgclass
79
60
  FraudPreventionAssessment::CardTestingVerdict = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.FraudPreventionAssessment.CardTestingVerdict").msgclass
80
61
  FraudPreventionAssessment::BehavioralTrustVerdict = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.FraudPreventionAssessment.BehavioralTrustVerdict").msgclass
@@ -110,6 +91,8 @@ module Google
110
91
  TestingOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.TestingOptions").msgclass
111
92
  TestingOptions::TestingChallenge = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.TestingOptions.TestingChallenge").enummodule
112
93
  WebKeySettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.WebKeySettings").msgclass
94
+ WebKeySettings::ActionSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.WebKeySettings.ActionSettings").msgclass
95
+ WebKeySettings::ChallengeSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.WebKeySettings.ChallengeSettings").msgclass
113
96
  WebKeySettings::IntegrationType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.WebKeySettings.IntegrationType").enummodule
114
97
  WebKeySettings::ChallengeSecurityPreference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.WebKeySettings.ChallengeSecurityPreference").enummodule
115
98
  AndroidKeySettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.recaptchaenterprise.v1.AndroidKeySettings").msgclass
@@ -60,7 +60,7 @@ module Google
60
60
  # destination project.
61
61
  rpc :MigrateKey, ::Google::Cloud::RecaptchaEnterprise::V1::MigrateKeyRequest, ::Google::Cloud::RecaptchaEnterprise::V1::Key
62
62
  # Adds an IP override to a key. The following restrictions hold:
63
- # * The maximum number of IP overrides per key is 100.
63
+ # * The maximum number of IP overrides per key is 1000.
64
64
  # * For any conflict (such as IP already exists or IP part of an existing
65
65
  # IP range), an error is returned.
66
66
  rpc :AddIpOverride, ::Google::Cloud::RecaptchaEnterprise::V1::AddIpOverrideRequest, ::Google::Cloud::RecaptchaEnterprise::V1::AddIpOverrideResponse
@@ -31,6 +31,8 @@ module Google
31
31
  # @!attribute [rw] selective_gapic_generation
32
32
  # @return [::Google::Api::SelectiveGapicGeneration]
33
33
  # Configuration for which RPCs should be generated in the GAPIC client.
34
+ #
35
+ # Note: This field should not be used in most cases.
34
36
  class CommonLanguageSettings
35
37
  include ::Google::Protobuf::MessageExts
36
38
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -141,9 +143,10 @@ module Google
141
143
  #
142
144
  # Example of a YAML configuration::
143
145
  #
144
- # publishing:
145
- # java_settings:
146
- # library_package: com.google.cloud.pubsub.v1
146
+ # publishing:
147
+ # library_settings:
148
+ # java_settings:
149
+ # library_package: com.google.cloud.pubsub.v1
147
150
  # @!attribute [rw] service_class_names
148
151
  # @return [::Google::Protobuf::Map{::String => ::String}]
149
152
  # Configure the Java class name to use instead of the service's for its
@@ -155,11 +158,11 @@ module Google
155
158
  #
156
159
  # Example of a YAML configuration::
157
160
  #
158
- # publishing:
159
- # java_settings:
160
- # service_class_names:
161
- # - google.pubsub.v1.Publisher: TopicAdmin
162
- # - google.pubsub.v1.Subscriber: SubscriptionAdmin
161
+ # publishing:
162
+ # java_settings:
163
+ # service_class_names:
164
+ # - google.pubsub.v1.Publisher: TopicAdmin
165
+ # - google.pubsub.v1.Subscriber: SubscriptionAdmin
163
166
  # @!attribute [rw] common
164
167
  # @return [::Google::Api::CommonLanguageSettings]
165
168
  # Some settings.
@@ -190,6 +193,20 @@ module Google
190
193
  # @!attribute [rw] common
191
194
  # @return [::Google::Api::CommonLanguageSettings]
192
195
  # Some settings.
196
+ # @!attribute [rw] library_package
197
+ # @return [::String]
198
+ # The package name to use in Php. Clobbers the php_namespace option
199
+ # set in the protobuf. This should be used **only** by APIs
200
+ # who have already set the language_settings.php.package_name" field
201
+ # in gapic.yaml. API teams should use the protobuf php_namespace option
202
+ # where possible.
203
+ #
204
+ # Example of a YAML configuration::
205
+ #
206
+ # publishing:
207
+ # library_settings:
208
+ # php_settings:
209
+ # library_package: Google\Cloud\PubSub\V1
193
210
  class PhpSettings
194
211
  include ::Google::Protobuf::MessageExts
195
212
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -318,10 +335,12 @@ module Google
318
335
  # service names and values are the name to be used for the service client
319
336
  # and call options.
320
337
  #
321
- # publishing:
322
- # go_settings:
323
- # renamed_services:
324
- # Publisher: TopicAdmin
338
+ # Example:
339
+ #
340
+ # publishing:
341
+ # go_settings:
342
+ # renamed_services:
343
+ # Publisher: TopicAdmin
325
344
  class GoSettings
326
345
  include ::Google::Protobuf::MessageExts
327
346
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -344,10 +363,10 @@ module Google
344
363
  #
345
364
  # Example:
346
365
  #
347
- # publishing:
348
- # method_settings:
349
- # - selector: google.storage.control.v2.StorageControl.CreateFolder
350
- # # method settings for CreateFolder...
366
+ # publishing:
367
+ # method_settings:
368
+ # - selector: google.storage.control.v2.StorageControl.CreateFolder
369
+ # # method settings for CreateFolder...
351
370
  # @!attribute [rw] long_running
352
371
  # @return [::Google::Api::MethodSettings::LongRunning]
353
372
  # Describes settings to use for long-running operations when generating
@@ -356,14 +375,14 @@ module Google
356
375
  #
357
376
  # Example of a YAML configuration::
358
377
  #
359
- # publishing:
360
- # method_settings:
361
- # - selector: google.cloud.speech.v2.Speech.BatchRecognize
362
- # long_running:
363
- # initial_poll_delay: 60s # 1 minute
364
- # poll_delay_multiplier: 1.5
365
- # max_poll_delay: 360s # 6 minutes
366
- # total_poll_timeout: 54000s # 90 minutes
378
+ # publishing:
379
+ # method_settings:
380
+ # - selector: google.cloud.speech.v2.Speech.BatchRecognize
381
+ # long_running:
382
+ # initial_poll_delay: 60s # 1 minute
383
+ # poll_delay_multiplier: 1.5
384
+ # max_poll_delay: 360s # 6 minutes
385
+ # total_poll_timeout: 54000s # 90 minutes
367
386
  # @!attribute [rw] auto_populated_fields
368
387
  # @return [::Array<::String>]
369
388
  # List of top-level fields of the request message, that should be
@@ -372,11 +391,24 @@ module Google
372
391
  #
373
392
  # Example of a YAML configuration:
374
393
  #
375
- # publishing:
376
- # method_settings:
377
- # - selector: google.example.v1.ExampleService.CreateExample
378
- # auto_populated_fields:
379
- # - request_id
394
+ # publishing:
395
+ # method_settings:
396
+ # - selector: google.example.v1.ExampleService.CreateExample
397
+ # auto_populated_fields:
398
+ # - request_id
399
+ # @!attribute [rw] batching
400
+ # @return [::Google::Api::BatchingConfigProto]
401
+ # Batching configuration for an API method in client libraries.
402
+ #
403
+ # Example of a YAML configuration:
404
+ #
405
+ # publishing:
406
+ # method_settings:
407
+ # - selector: google.example.v1.ExampleService.BatchCreateExample
408
+ # batching:
409
+ # element_count_threshold: 1000
410
+ # request_byte_threshold: 100000000
411
+ # delay_threshold_millis: 10
380
412
  class MethodSettings
381
413
  include ::Google::Protobuf::MessageExts
382
414
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -411,6 +443,8 @@ module Google
411
443
 
412
444
  # This message is used to configure the generation of a subset of the RPCs in
413
445
  # a service for client libraries.
446
+ #
447
+ # Note: This feature should not be used in most cases.
414
448
  # @!attribute [rw] methods
415
449
  # @return [::Array<::String>]
416
450
  # An allowlist of the fully qualified names of RPCs that should be included
@@ -428,6 +462,77 @@ module Google
428
462
  extend ::Google::Protobuf::MessageExts::ClassMethods
429
463
  end
430
464
 
465
+ # `BatchingConfigProto` defines the batching configuration for an API method.
466
+ # @!attribute [rw] thresholds
467
+ # @return [::Google::Api::BatchingSettingsProto]
468
+ # The thresholds which trigger a batched request to be sent.
469
+ # @!attribute [rw] batch_descriptor
470
+ # @return [::Google::Api::BatchingDescriptorProto]
471
+ # The request and response fields used in batching.
472
+ class BatchingConfigProto
473
+ include ::Google::Protobuf::MessageExts
474
+ extend ::Google::Protobuf::MessageExts::ClassMethods
475
+ end
476
+
477
+ # `BatchingSettingsProto` specifies a set of batching thresholds, each of
478
+ # which acts as a trigger to send a batch of messages as a request. At least
479
+ # one threshold must be positive nonzero.
480
+ # @!attribute [rw] element_count_threshold
481
+ # @return [::Integer]
482
+ # The number of elements of a field collected into a batch which, if
483
+ # exceeded, causes the batch to be sent.
484
+ # @!attribute [rw] request_byte_threshold
485
+ # @return [::Integer]
486
+ # The aggregated size of the batched field which, if exceeded, causes the
487
+ # batch to be sent. This size is computed by aggregating the sizes of the
488
+ # request field to be batched, not of the entire request message.
489
+ # @!attribute [rw] delay_threshold
490
+ # @return [::Google::Protobuf::Duration]
491
+ # The duration after which a batch should be sent, starting from the addition
492
+ # of the first message to that batch.
493
+ # @!attribute [rw] element_count_limit
494
+ # @return [::Integer]
495
+ # The maximum number of elements collected in a batch that could be accepted
496
+ # by server.
497
+ # @!attribute [rw] request_byte_limit
498
+ # @return [::Integer]
499
+ # The maximum size of the request that could be accepted by server.
500
+ # @!attribute [rw] flow_control_element_limit
501
+ # @return [::Integer]
502
+ # The maximum number of elements allowed by flow control.
503
+ # @!attribute [rw] flow_control_byte_limit
504
+ # @return [::Integer]
505
+ # The maximum size of data allowed by flow control.
506
+ # @!attribute [rw] flow_control_limit_exceeded_behavior
507
+ # @return [::Google::Api::FlowControlLimitExceededBehaviorProto]
508
+ # The behavior to take when the flow control limit is exceeded.
509
+ class BatchingSettingsProto
510
+ include ::Google::Protobuf::MessageExts
511
+ extend ::Google::Protobuf::MessageExts::ClassMethods
512
+ end
513
+
514
+ # `BatchingDescriptorProto` specifies the fields of the request message to be
515
+ # used for batching, and, optionally, the fields of the response message to be
516
+ # used for demultiplexing.
517
+ # @!attribute [rw] batched_field
518
+ # @return [::String]
519
+ # The repeated field in the request message to be aggregated by batching.
520
+ # @!attribute [rw] discriminator_fields
521
+ # @return [::Array<::String>]
522
+ # A list of the fields in the request message. Two requests will be batched
523
+ # together only if the values of every field specified in
524
+ # `request_discriminator_fields` is equal between the two requests.
525
+ # @!attribute [rw] subresponse_field
526
+ # @return [::String]
527
+ # Optional. When present, indicates the field in the response message to be
528
+ # used to demultiplex the response into multiple response messages, in
529
+ # correspondence with the multiple request messages originally batched
530
+ # together.
531
+ class BatchingDescriptorProto
532
+ include ::Google::Protobuf::MessageExts
533
+ extend ::Google::Protobuf::MessageExts::ClassMethods
534
+ end
535
+
431
536
  # The organization for which the client libraries are being published.
432
537
  # Affects the url where generated docs are published, etc.
433
538
  module ClientLibraryOrganization
@@ -469,5 +574,20 @@ module Google
469
574
  # Publish the library to package managers like nuget.org and npmjs.com.
470
575
  PACKAGE_MANAGER = 20
471
576
  end
577
+
578
+ # The behavior to take when the flow control limit is exceeded.
579
+ module FlowControlLimitExceededBehaviorProto
580
+ # Default behavior, system-defined.
581
+ UNSET_BEHAVIOR = 0
582
+
583
+ # Stop operation, raise error.
584
+ THROW_EXCEPTION = 1
585
+
586
+ # Pause operation until limit clears.
587
+ BLOCK = 2
588
+
589
+ # Continue operation, disregard limit.
590
+ IGNORE = 3
591
+ end
472
592
  end
473
593
  end
@@ -57,6 +57,7 @@ module Google
57
57
  extend ::Google::Protobuf::MessageExts::ClassMethods
58
58
 
59
59
  # Enum that represents an event in the payment transaction lifecycle.
60
+ # Ensure that applications can handle values not explicitly listed.
60
61
  module TransactionEventType
61
62
  # Default, unspecified event type.
62
63
  TRANSACTION_EVENT_TYPE_UNSPECIFIED = 0
@@ -155,6 +156,20 @@ module Google
155
156
  end
156
157
  end
157
158
 
159
+ # Details on a phone authentication event
160
+ # @!attribute [rw] phone_number
161
+ # @return [::String]
162
+ # Required. Phone number in E.164 format for which a multi-factor
163
+ # authentication challenge was initiated, succeeded, or failed.
164
+ # @!attribute [rw] event_time
165
+ # @return [::Google::Protobuf::Timestamp]
166
+ # Optional. The time at which the multi-factor authentication event
167
+ # (challenge or verification) occurred.
168
+ class PhoneAuthenticationEvent
169
+ include ::Google::Protobuf::MessageExts
170
+ extend ::Google::Protobuf::MessageExts::ClassMethods
171
+ end
172
+
158
173
  # The request message to annotate an Assessment.
159
174
  # @!attribute [rw] name
160
175
  # @return [::String]
@@ -183,6 +198,10 @@ module Google
183
198
  # @return [::Google::Cloud::RecaptchaEnterprise::V1::TransactionEvent]
184
199
  # Optional. If the assessment is part of a payment transaction, provide
185
200
  # details on payment lifecycle events that occur in the transaction.
201
+ # @!attribute [rw] phone_authentication_event
202
+ # @return [::Google::Cloud::RecaptchaEnterprise::V1::PhoneAuthenticationEvent]
203
+ # Optional. If using an external multi-factor authentication provider,
204
+ # provide phone authentication details for fraud detection purposes.
186
205
  class AnnotateAssessmentRequest
187
206
  include ::Google::Protobuf::MessageExts
188
207
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -328,6 +347,7 @@ module Google
328
347
 
329
348
  # Result of the account verification as contained in the verdict token issued
330
349
  # at the end of the verification flow.
350
+ # Ensure that applications can handle values not explicitly listed.
331
351
  module Result
332
352
  # No information about the latest account verification.
333
353
  RESULT_UNSPECIFIED = 0
@@ -487,7 +507,7 @@ module Google
487
507
  # Optional. The URI resource the user requested that triggered an assessment.
488
508
  # @!attribute [rw] waf_token_assessment
489
509
  # @return [::Boolean]
490
- # Optional. Flag for running WAF token assessment.
510
+ # Optional. Flag for running Web Application Firewall (WAF) token assessment.
491
511
  # If enabled, the token must be specified, and have been created by a
492
512
  # WAF-enabled key.
493
513
  # @!attribute [rw] ja3
@@ -525,6 +545,7 @@ module Google
525
545
  extend ::Google::Protobuf::MessageExts::ClassMethods
526
546
 
527
547
  # Setting that controls Fraud Prevention assessments.
548
+ # Ensure that applications can handle values not explicitly listed.
528
549
  module FraudPrevention
529
550
  # Default, unspecified setting. `fraud_prevention_assessment` is returned
530
551
  # if `transaction_data` is present in `Event` and Fraud Prevention is
@@ -757,13 +778,18 @@ module Google
757
778
  # The set of possible reasons is subject to change.
758
779
  # @!attribute [r] challenge
759
780
  # @return [::Google::Cloud::RecaptchaEnterprise::V1::RiskAnalysis::Challenge]
760
- # Output only. Challenge information for SCORE_AND_CHALLENGE and INVISIBLE
761
- # keys
781
+ # Output only. Challenge information for POLICY_BASED_CHALLENGE and INVISIBLE
782
+ # keys.
783
+ # @!attribute [r] verified_bots
784
+ # @return [::Array<::Google::Cloud::RecaptchaEnterprise::V1::Bot>]
785
+ # Output only. Bots with identities that have been verified by reCAPTCHA and
786
+ # detected in the event.
762
787
  class RiskAnalysis
763
788
  include ::Google::Protobuf::MessageExts
764
789
  extend ::Google::Protobuf::MessageExts::ClassMethods
765
790
 
766
791
  # Reasons contributing to the risk analysis verdict.
792
+ # Ensure that applications can handle values not explicitly listed.
767
793
  module ClassificationReason
768
794
  # Default unspecified type.
769
795
  CLASSIFICATION_REASON_UNSPECIFIED = 0
@@ -792,7 +818,8 @@ module Google
792
818
  SUSPECTED_CHARGEBACK = 7
793
819
  end
794
820
 
795
- # Challenge information for SCORE_AND_CHALLENGE and INVISIBLE keys
821
+ # Challenge information for POLICY_BASED_CHALLENGE and INVISIBLE keys.
822
+ # Ensure that applications can handle values not explicitly listed.
796
823
  module Challenge
797
824
  # Default unspecified type.
798
825
  CHALLENGE_UNSPECIFIED = 0
@@ -809,6 +836,37 @@ module Google
809
836
  end
810
837
  end
811
838
 
839
+ # Bot information and metadata.
840
+ # @!attribute [rw] name
841
+ # @return [::String]
842
+ # Optional. Enumerated string value that indicates the identity of the bot,
843
+ # formatted in kebab-case.
844
+ # @!attribute [rw] bot_type
845
+ # @return [::Google::Cloud::RecaptchaEnterprise::V1::Bot::BotType]
846
+ # Optional. Enumerated field representing the type of bot.
847
+ class Bot
848
+ include ::Google::Protobuf::MessageExts
849
+ extend ::Google::Protobuf::MessageExts::ClassMethods
850
+
851
+ # Types of bots.
852
+ # Ensure that applications can handle values not explicitly listed.
853
+ module BotType
854
+ # Default unspecified type.
855
+ BOT_TYPE_UNSPECIFIED = 0
856
+
857
+ # Software program that interacts with a site and performs tasks
858
+ # autonomously.
859
+ AI_AGENT = 1
860
+
861
+ # Software that extracts specific data from sites for use.
862
+ CONTENT_SCRAPER = 2
863
+
864
+ # Software that crawls sites and stores content for the purpose of
865
+ # efficient retrieval, likely as part of a search engine.
866
+ SEARCH_INDEXER = 3
867
+ end
868
+ end
869
+
812
870
  # Properties of the provided event token.
813
871
  # @!attribute [r] valid
814
872
  # @return [::Boolean]
@@ -843,6 +901,7 @@ module Google
843
901
  extend ::Google::Protobuf::MessageExts::ClassMethods
844
902
 
845
903
  # Enum that represents the types of invalid token reasons.
904
+ # Ensure that applications can handle values not explicitly listed.
846
905
  module InvalidReason
847
906
  # Default unspecified type.
848
907
  INVALID_REASON_UNSPECIFIED = 0
@@ -865,6 +924,16 @@ module Google
865
924
  # A retriable error (such as network failure) occurred on the browser.
866
925
  # Could easily be simulated by an attacker.
867
926
  BROWSER_ERROR = 6
927
+
928
+ # The action provided at token generation was different than
929
+ # the `expected_action` in the assessment request. The comparison is
930
+ # case-insensitive. This reason can only be returned if all of the
931
+ # following are true:
932
+ #
933
+ # - your `site_key` has the POLICY_BASED_CHALLENGE integration type
934
+ # - you set an action score threshold higher than 0.0
935
+ # - you provided a non-empty `expected_action`
936
+ UNEXPECTED_ACTION = 7
868
937
  end
869
938
  end
870
939
 
@@ -874,6 +943,10 @@ module Google
874
943
  # Output only. Probability of this transaction being fraudulent. Summarizes
875
944
  # the combined risk of attack vectors below. Values are from 0.0 (lowest)
876
945
  # to 1.0 (highest).
946
+ # @!attribute [r] risk_reasons
947
+ # @return [::Array<::Google::Cloud::RecaptchaEnterprise::V1::FraudPreventionAssessment::RiskReason>]
948
+ # Output only. Reasons why the transaction is probably fraudulent and
949
+ # received a high transaction risk score.
877
950
  # @!attribute [r] stolen_instrument_verdict
878
951
  # @return [::Google::Cloud::RecaptchaEnterprise::V1::FraudPreventionAssessment::StolenInstrumentVerdict]
879
952
  # Output only. Assessment of this transaction for risk of a stolen
@@ -889,6 +962,42 @@ module Google
889
962
  include ::Google::Protobuf::MessageExts
890
963
  extend ::Google::Protobuf::MessageExts::ClassMethods
891
964
 
965
+ # Risk reasons applicable to the Fraud Prevention assessment.
966
+ # @!attribute [r] reason
967
+ # @return [::Google::Cloud::RecaptchaEnterprise::V1::FraudPreventionAssessment::RiskReason::Reason]
968
+ # Output only. Risk reasons applicable to the Fraud Prevention assessment.
969
+ class RiskReason
970
+ include ::Google::Protobuf::MessageExts
971
+ extend ::Google::Protobuf::MessageExts::ClassMethods
972
+
973
+ # Risk reasons applicable to the Fraud Prevention assessment. New risk
974
+ # reasons will be added over time.
975
+ module Reason
976
+ # Default unspecified type.
977
+ REASON_UNSPECIFIED = 0
978
+
979
+ # A suspiciously high number of recent transactions have used identifiers
980
+ # present in this transaction.
981
+ HIGH_TRANSACTION_VELOCITY = 1
982
+
983
+ # User is cycling through a suspiciously large number of identifiers,
984
+ # suggesting enumeration or validation attacks within a potential fraud
985
+ # network.
986
+ EXCESSIVE_ENUMERATION_PATTERN = 2
987
+
988
+ # User has a short history or no history in the reCAPTCHA network,
989
+ # suggesting the possibility of synthetic identity generation.
990
+ SHORT_IDENTITY_HISTORY = 3
991
+
992
+ # Identifiers used in this transaction originate from an unusual or
993
+ # conflicting set of geolocations.
994
+ GEOLOCATION_DISCREPANCY = 4
995
+
996
+ # This transaction is linked to a cluster of known fraudulent activity.
997
+ ASSOCIATED_WITH_FRAUD_CLUSTER = 5
998
+ end
999
+ end
1000
+
892
1001
  # Information about stolen instrument fraud, where the user is not the
893
1002
  # legitimate owner of the instrument being used for the purchase.
894
1003
  # @!attribute [r] risk
@@ -960,6 +1069,7 @@ module Google
960
1069
 
961
1070
  # Risk labels describing the card being assessed, such as its funding
962
1071
  # mechanism.
1072
+ # Ensure that applications can handle values not explicitly listed.
963
1073
  module CardLabel
964
1074
  # No label specified.
965
1075
  CARD_LABEL_UNSPECIFIED = 0
@@ -991,6 +1101,7 @@ module Google
991
1101
  extend ::Google::Protobuf::MessageExts::ClassMethods
992
1102
 
993
1103
  # Reasons contributing to the SMS toll fraud verdict.
1104
+ # Ensure that applications can handle values not explicitly listed.
994
1105
  module SmsTollFraudReason
995
1106
  # Default unspecified reason
996
1107
  SMS_TOLL_FRAUD_REASON_UNSPECIFIED = 0
@@ -1018,6 +1129,7 @@ module Google
1018
1129
  extend ::Google::Protobuf::MessageExts::ClassMethods
1019
1130
 
1020
1131
  # Labels returned by account defender for this request.
1132
+ # Ensure that applications can handle values not explicitly listed.
1021
1133
  module AccountDefenderLabel
1022
1134
  # Default unspecified type.
1023
1135
  ACCOUNT_DEFENDER_LABEL_UNSPECIFIED = 0
@@ -1234,7 +1346,7 @@ module Google
1234
1346
  # Optional. If true, skips the billing check.
1235
1347
  # A reCAPTCHA Enterprise key or migrated key behaves differently than a
1236
1348
  # reCAPTCHA (non-Enterprise version) key when you reach a quota limit (see
1237
- # https://cloud.google.com/recaptcha/quotas#quota_limit). To avoid
1349
+ # https://docs.cloud.google.com/recaptcha/quotas#quota_limit). To avoid
1238
1350
  # any disruption of your usage, we check that a billing account is present.
1239
1351
  # If your usage of reCAPTCHA is under the free quota, you can safely skip the
1240
1352
  # billing check and proceed with the migration. See
@@ -1331,7 +1443,7 @@ module Google
1331
1443
  # Optional. Options for user acceptance testing.
1332
1444
  # @!attribute [rw] waf_settings
1333
1445
  # @return [::Google::Cloud::RecaptchaEnterprise::V1::WafSettings]
1334
- # Optional. Settings for WAF
1446
+ # Optional. Settings for Web Application Firewall (WAF).
1335
1447
  class Key
1336
1448
  include ::Google::Protobuf::MessageExts
1337
1449
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1360,8 +1472,9 @@ module Google
1360
1472
  include ::Google::Protobuf::MessageExts
1361
1473
  extend ::Google::Protobuf::MessageExts::ClassMethods
1362
1474
 
1363
- # Enum that represents the challenge option for challenge-based (CHECKBOX,
1364
- # INVISIBLE) testing keys.
1475
+ # Enum that represents the challenge option for challenge-based (for example,
1476
+ # CHECKBOX and INVISIBLE) testing keys.
1477
+ # Ensure that applications can handle values not explicitly listed.
1365
1478
  module TestingChallenge
1366
1479
  # Perform the normal risk analysis and return either nocaptcha or a
1367
1480
  # challenge depending on risk and trust factors.
@@ -1387,6 +1500,10 @@ module Google
1387
1500
  # subdomains of an allowed domain are automatically allowed. A valid domain
1388
1501
  # requires a host and must not include any path, port, query or fragment.
1389
1502
  # Examples: 'example.com' or 'subdomain.example.com'
1503
+ # Each key supports a maximum of 250 domains. To use a key on more domains,
1504
+ # set `allow_all_domains` to true. When this is set, you are responsible for
1505
+ # validating the hostname by checking the `token_properties.hostname` field
1506
+ # in each assessment response against your list of allowed domains.
1390
1507
  # @!attribute [rw] allow_amp_traffic
1391
1508
  # @return [::Boolean]
1392
1509
  # Optional. If set to true, the key can be used on AMP (Accelerated Mobile
@@ -1398,12 +1515,55 @@ module Google
1398
1515
  # @return [::Google::Cloud::RecaptchaEnterprise::V1::WebKeySettings::ChallengeSecurityPreference]
1399
1516
  # Optional. Settings for the frequency and difficulty at which this key
1400
1517
  # triggers captcha challenges. This should only be specified for
1401
- # IntegrationTypes CHECKBOX and INVISIBLE and SCORE_AND_CHALLENGE.
1518
+ # `IntegrationType` CHECKBOX, INVISIBLE or POLICY_BASED_CHALLENGE.
1519
+ # @!attribute [rw] challenge_settings
1520
+ # @return [::Google::Cloud::RecaptchaEnterprise::V1::WebKeySettings::ChallengeSettings]
1521
+ # Optional. Challenge settings.
1402
1522
  class WebKeySettings
1403
1523
  include ::Google::Protobuf::MessageExts
1404
1524
  extend ::Google::Protobuf::MessageExts::ClassMethods
1405
1525
 
1526
+ # Per-action challenge settings.
1527
+ # @!attribute [rw] score_threshold
1528
+ # @return [::Float]
1529
+ # Required. A challenge is triggered if the end-user score is below that
1530
+ # threshold. Value must be between 0 and 1 (inclusive).
1531
+ class ActionSettings
1532
+ include ::Google::Protobuf::MessageExts
1533
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1534
+ end
1535
+
1536
+ # Settings for POLICY_BASED_CHALLENGE keys to control when a challenge is
1537
+ # triggered.
1538
+ # @!attribute [rw] default_settings
1539
+ # @return [::Google::Cloud::RecaptchaEnterprise::V1::WebKeySettings::ActionSettings]
1540
+ # Required. Defines when a challenge is triggered (unless the default
1541
+ # threshold is overridden for the given action, see `action_settings`).
1542
+ # @!attribute [rw] action_settings
1543
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::RecaptchaEnterprise::V1::WebKeySettings::ActionSettings}]
1544
+ # Optional. The action to score threshold map.
1545
+ # The action name should be the same as the action name passed in the
1546
+ # `data-action` attribute
1547
+ # (see https://cloud.google.com/recaptcha/docs/actions-website).
1548
+ # Action names are case-insensitive.
1549
+ # There is a maximum of 100 action settings.
1550
+ # An action name has a maximum length of 100.
1551
+ class ChallengeSettings
1552
+ include ::Google::Protobuf::MessageExts
1553
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1554
+
1555
+ # @!attribute [rw] key
1556
+ # @return [::String]
1557
+ # @!attribute [rw] value
1558
+ # @return [::Google::Cloud::RecaptchaEnterprise::V1::WebKeySettings::ActionSettings]
1559
+ class ActionSettingsEntry
1560
+ include ::Google::Protobuf::MessageExts
1561
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1562
+ end
1563
+ end
1564
+
1406
1565
  # Enum that represents the integration types for web keys.
1566
+ # Ensure that applications can handle values not explicitly listed.
1407
1567
  module IntegrationType
1408
1568
  # Default type that indicates this enum hasn't been specified. This is not
1409
1569
  # a valid IntegrationType, one of the other types must be specified
@@ -1421,10 +1581,15 @@ module Google
1421
1581
  # Doesn't display the "I'm not a robot" checkbox, but may show captcha
1422
1582
  # challenges after risk analysis.
1423
1583
  INVISIBLE = 3
1584
+
1585
+ # Displays a visual challenge or not depending on the user risk analysis
1586
+ # score.
1587
+ POLICY_BASED_CHALLENGE = 5
1424
1588
  end
1425
1589
 
1426
1590
  # Enum that represents the possible challenge frequency and difficulty
1427
1591
  # configurations for a web key.
1592
+ # Ensure that applications can handle values not explicitly listed.
1428
1593
  module ChallengeSecurityPreference
1429
1594
  # Default type that indicates this enum hasn't been specified.
1430
1595
  CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED = 0
@@ -1448,6 +1613,11 @@ module Google
1448
1613
  # @return [::Array<::String>]
1449
1614
  # Optional. Android package names of apps allowed to use the key.
1450
1615
  # Example: 'com.companyname.appname'
1616
+ # Each key supports a maximum of 250 package names. To use a key on more
1617
+ # apps, set `allow_all_package_names` to true. When this is set, you
1618
+ # are responsible for validating the package name by checking the
1619
+ # `token_properties.android_package_name` field in each assessment response
1620
+ # against your list of allowed package names.
1451
1621
  # @!attribute [rw] support_non_google_app_store_distribution
1452
1622
  # @return [::Boolean]
1453
1623
  # Optional. Set to true for keys that are used in an Android application that
@@ -1464,8 +1634,13 @@ module Google
1464
1634
  # Optional. If set to true, allowed_bundle_ids are not enforced.
1465
1635
  # @!attribute [rw] allowed_bundle_ids
1466
1636
  # @return [::Array<::String>]
1467
- # Optional. iOS bundle ids of apps allowed to use the key.
1637
+ # Optional. iOS bundle IDs of apps allowed to use the key.
1468
1638
  # Example: 'com.companyname.productname.appname'
1639
+ # Each key supports a maximum of 250 bundle IDs. To use a key on more
1640
+ # apps, set `allow_all_bundle_ids` to true. When this is set, you
1641
+ # are responsible for validating the bundle id by checking the
1642
+ # `token_properties.ios_bundle_id` field in each assessment response
1643
+ # against your list of allowed bundle IDs.
1469
1644
  # @!attribute [rw] apple_developer_id
1470
1645
  # @return [::Google::Cloud::RecaptchaEnterprise::V1::AppleDeveloperId]
1471
1646
  # Optional. Apple Developer account details for the app that is protected by
@@ -1952,16 +2127,18 @@ module Google
1952
2127
  # Firewall).
1953
2128
  # @!attribute [rw] waf_service
1954
2129
  # @return [::Google::Cloud::RecaptchaEnterprise::V1::WafSettings::WafService]
1955
- # Required. The WAF service that uses this key.
2130
+ # Required. The Web Application Firewall (WAF) service that uses this key.
1956
2131
  # @!attribute [rw] waf_feature
1957
2132
  # @return [::Google::Cloud::RecaptchaEnterprise::V1::WafSettings::WafFeature]
1958
- # Required. The WAF feature for which this key is enabled.
2133
+ # Required. The Web Application Firewall (WAF) feature for which this key is
2134
+ # enabled.
1959
2135
  class WafSettings
1960
2136
  include ::Google::Protobuf::MessageExts
1961
2137
  extend ::Google::Protobuf::MessageExts::ClassMethods
1962
2138
 
1963
2139
  # Supported WAF features. For more information, see
1964
2140
  # https://cloud.google.com/recaptcha/docs/usecase#comparison_of_features.
2141
+ # Ensure that applications can handle values not explicitly listed.
1965
2142
  module WafFeature
1966
2143
  # Undefined feature.
1967
2144
  WAF_FEATURE_UNSPECIFIED = 0
@@ -1976,12 +2153,12 @@ module Google
1976
2153
  # Use reCAPTCHA action-tokens to protect user actions.
1977
2154
  ACTION_TOKEN = 3
1978
2155
 
1979
- # Use reCAPTCHA WAF express protection to protect any content other than
1980
- # web pages, like APIs and IoT devices.
2156
+ # Deprecated: Use `express_settings` instead.
1981
2157
  EXPRESS = 5
1982
2158
  end
1983
2159
 
1984
- # Web Application Firewalls supported by reCAPTCHA.
2160
+ # Web Application Firewalls that reCAPTCHA supports.
2161
+ # Ensure that applications can handle values not explicitly listed.
1985
2162
  module WafService
1986
2163
  # Undefined WAF
1987
2164
  WAF_SERVICE_UNSPECIFIED = 0
@@ -2007,10 +2184,10 @@ module Google
2007
2184
  # Optional. Identifies the client module initiating the CreateAssessment
2008
2185
  # request. This can be the link to the client module's project. Examples
2009
2186
  # include:
2010
- # - "github.com/GoogleCloudPlatform/recaptcha-enterprise-google-tag-manager"
2011
- # - "cloud.google.com/recaptcha/docs/implement-waf-akamai"
2012
- # - "cloud.google.com/recaptcha/docs/implement-waf-cloudflare"
2013
- # - "wordpress.org/plugins/recaptcha-something"
2187
+ #
2188
+ # -
2189
+ # "github.com/GoogleCloudPlatform/recaptcha-enterprise-google-tag-manager"
2190
+ # - "wordpress.org/plugins/recaptcha-something"
2014
2191
  # @!attribute [rw] version
2015
2192
  # @return [::String]
2016
2193
  # Optional. The version of the client module. For example, "1.0.0".
@@ -2037,6 +2214,7 @@ module Google
2037
2214
  extend ::Google::Protobuf::MessageExts::ClassMethods
2038
2215
 
2039
2216
  # Enum that represents the type of IP override.
2217
+ # Ensure that applications can handle values not explicitly listed.
2040
2218
  module OverrideType
2041
2219
  # Default override type that indicates this enum hasn't been specified.
2042
2220
  OVERRIDE_TYPE_UNSPECIFIED = 0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-recaptcha_enterprise-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.1
4
+ version: 1.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '1.2'
18
+ version: '1.3'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '1.2'
25
+ version: '1.3'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: google-cloud-errors
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -83,7 +83,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
83
83
  requirements:
84
84
  - - ">="
85
85
  - !ruby/object:Gem::Version
86
- version: '3.1'
86
+ version: '3.2'
87
87
  required_rubygems_version: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - ">="