Skip to content

Commit cc4e33a

Browse files
Google APIscopybara-github
authored andcommitted
feat: add AddIpOverride RPC
feat: add `express_settings` to `Key` docs: clarify `Event.express` field docs: fix billing, quota, and usecase links PiperOrigin-RevId: 665409132
1 parent 57d2c45 commit cc4e33a

1 file changed

Lines changed: 69 additions & 6 deletions

File tree

google/cloud/recaptchaenterprise/v1/recaptchaenterprise.proto

Lines changed: 69 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,18 @@ service RecaptchaEnterpriseService {
127127
};
128128
}
129129

130+
// Adds an IP override to a key. The following restrictions hold:
131+
// * The maximum number of IP overrides per key is 100.
132+
// * For any conflict (such as IP already exists or IP part of an existing
133+
// IP range), an error will be returned.
134+
rpc AddIpOverride(AddIpOverrideRequest) returns (AddIpOverrideResponse) {
135+
option (google.api.http) = {
136+
post: "/v1/{name=projects/*/keys/*}:addIpOverride"
137+
body: "*"
138+
};
139+
option (google.api.method_signature) = "name,ip_override_data";
140+
}
141+
130142
// Get some aggregated metrics for a Key. This data can be used to build
131143
// dashboards.
132144
rpc GetMetrics(GetMetricsRequest) returns (Metrics) {
@@ -708,8 +720,7 @@ message Event {
708720
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
709721

710722
// Optional. Flag for a reCAPTCHA express request for an assessment without a
711-
// token. If enabled, `site_key` must reference a SCORE key with WAF feature
712-
// set to EXPRESS.
723+
// token. If enabled, `site_key` must reference an Express site key.
713724
bool express = 14 [(google.api.field_behavior) = OPTIONAL];
714725

715726
// Optional. The URI resource the user requested that triggered an assessment.
@@ -1388,11 +1399,11 @@ message MigrateKeyRequest {
13881399
// Optional. If true, skips the billing check.
13891400
// A reCAPTCHA Enterprise key or migrated key behaves differently than a
13901401
// reCAPTCHA (non-Enterprise version) key when you reach a quota limit (see
1391-
// https://cloud.google.com/recaptcha-enterprise/quotas#quota_limit). To avoid
1402+
// https://cloud.google.com/recaptcha/quotas#quota_limit). To avoid
13921403
// any disruption of your usage, we check that a billing account is present.
13931404
// If your usage of reCAPTCHA is under the free quota, you can safely skip the
13941405
// billing check and proceed with the migration. See
1395-
// https://cloud.google.com/recaptcha-enterprise/docs/billing-information.
1406+
// https://cloud.google.com/recaptcha/docs/billing-information.
13961407
bool skip_billing_check = 2 [(google.api.field_behavior) = OPTIONAL];
13971408
}
13981409

@@ -1475,10 +1486,13 @@ message Key {
14751486

14761487
// Settings for keys that can be used by iOS apps.
14771488
IOSKeySettings ios_settings = 5;
1489+
1490+
// Settings for keys that can be used by reCAPTCHA Express.
1491+
ExpressKeySettings express_settings = 11;
14781492
}
14791493

14801494
// Optional. See [Creating and managing labels]
1481-
// (https://cloud.google.com/recaptcha-enterprise/docs/labels).
1495+
// (https://cloud.google.com/recaptcha/docs/labels).
14821496
map<string, string> labels = 6 [(google.api.field_behavior) = OPTIONAL];
14831497

14841498
// Output only. The timestamp corresponding to the creation of this key.
@@ -1618,6 +1632,9 @@ message IOSKeySettings {
16181632
[(google.api.field_behavior) = OPTIONAL];
16191633
}
16201634

1635+
// Settings specific to keys that can be used for reCAPTCHA Express.
1636+
message ExpressKeySettings {}
1637+
16211638
// Contains fields that are required to perform Apple-specific integrity checks.
16221639
message AppleDeveloperId {
16231640
// Required. Input only. A private key (downloaded as a text file with a .p8
@@ -1919,6 +1936,24 @@ message SearchRelatedAccountGroupMembershipsResponse {
19191936
string next_page_token = 2;
19201937
}
19211938

1939+
// The AddIpOverride request message.
1940+
message AddIpOverrideRequest {
1941+
// Required. The name of the key to which the IP override is added, in the
1942+
// format `projects/{project}/keys/{key}`.
1943+
string name = 1 [
1944+
(google.api.field_behavior) = REQUIRED,
1945+
(google.api.resource_reference) = {
1946+
type: "recaptchaenterprise.googleapis.com/Key"
1947+
}
1948+
];
1949+
1950+
// Required. IP override added to the key.
1951+
IpOverrideData ip_override_data = 2 [(google.api.field_behavior) = REQUIRED];
1952+
}
1953+
1954+
// Response for AddIpOverride.
1955+
message AddIpOverrideResponse {}
1956+
19221957
// A membership in a group of related accounts.
19231958
message RelatedAccountGroupMembership {
19241959
option (google.api.resource) = {
@@ -1969,7 +2004,7 @@ message RelatedAccountGroup {
19692004
// Firewall).
19702005
message WafSettings {
19712006
// Supported WAF features. For more information, see
1972-
// https://cloud.google.com/recaptcha-enterprise/docs/usecase#comparison_of_features.
2007+
// https://cloud.google.com/recaptcha/docs/usecase#comparison_of_features.
19732008
enum WafFeature {
19742009
// Undefined feature.
19752010
WAF_FEATURE_UNSPECIFIED = 0;
@@ -2010,3 +2045,31 @@ message WafSettings {
20102045
// Required. The WAF feature for which this key is enabled.
20112046
WafFeature waf_feature = 2 [(google.api.field_behavior) = REQUIRED];
20122047
}
2048+
2049+
// Information about the IP or IP range override.
2050+
message IpOverrideData {
2051+
// Enum that represents the type of IP override.
2052+
enum OverrideType {
2053+
// Default override type that indicates this enum hasn't been specified.
2054+
OVERRIDE_TYPE_UNSPECIFIED = 0;
2055+
2056+
// Allowlist the IP address; i.e. give a `risk_analysis.score` of 0.9 for
2057+
// all valid assessments.
2058+
ALLOW = 1;
2059+
}
2060+
2061+
// Required. The IP address to override (can be IPv4, IPv6 or CIDR).
2062+
// The IP override must be a valid IPv4 or IPv6 address, or a CIDR range.
2063+
// The IP override must be a public IP address.
2064+
// Example of IPv4: 168.192.5.6
2065+
// Example of IPv6: 2001:0000:130F:0000:0000:09C0:876A:130B
2066+
// Example of IPv4 with CIDR: 168.192.5.0/24
2067+
// Example of IPv6 with CIDR: 2001:0DB8:1234::/48
2068+
string ip = 1 [
2069+
(google.api.field_info).format = IPV4_OR_IPV6,
2070+
(google.api.field_behavior) = REQUIRED
2071+
];
2072+
2073+
// Required. Describes the type of IP override.
2074+
OverrideType override_type = 3 [(google.api.field_behavior) = REQUIRED];
2075+
}

0 commit comments

Comments
 (0)