google_cloud_rust_raw/api/
error_reason.rs

1// This file is generated by rust-protobuf 2.28.0. Do not edit
2// @generated
3
4// https://github.com/rust-lang/rust-clippy/issues/702
5#![allow(unknown_lints)]
6#![allow(clippy::all)]
7
8#![allow(unused_attributes)]
9#![cfg_attr(rustfmt, rustfmt::skip)]
10
11#![allow(box_pointers)]
12#![allow(dead_code)]
13#![allow(missing_docs)]
14#![allow(non_camel_case_types)]
15#![allow(non_snake_case)]
16#![allow(non_upper_case_globals)]
17#![allow(trivial_casts)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20//! Generated file from `google/api/error_reason.proto`
21
22/// Generated files are compatible only with the same version
23/// of protobuf runtime.
24// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_28_0;
25
26#[derive(Clone,PartialEq,Eq,Debug,Hash)]
27pub enum ErrorReason {
28    ERROR_REASON_UNSPECIFIED = 0,
29    SERVICE_DISABLED = 1,
30    BILLING_DISABLED = 2,
31    API_KEY_INVALID = 3,
32    API_KEY_SERVICE_BLOCKED = 4,
33    API_KEY_HTTP_REFERRER_BLOCKED = 7,
34    API_KEY_IP_ADDRESS_BLOCKED = 8,
35    API_KEY_ANDROID_APP_BLOCKED = 9,
36    API_KEY_IOS_APP_BLOCKED = 13,
37    RATE_LIMIT_EXCEEDED = 5,
38    RESOURCE_QUOTA_EXCEEDED = 6,
39    LOCATION_TAX_POLICY_VIOLATED = 10,
40    USER_PROJECT_DENIED = 11,
41    CONSUMER_SUSPENDED = 12,
42    CONSUMER_INVALID = 14,
43    SECURITY_POLICY_VIOLATED = 15,
44    ACCESS_TOKEN_EXPIRED = 16,
45    ACCESS_TOKEN_SCOPE_INSUFFICIENT = 17,
46    ACCOUNT_STATE_INVALID = 18,
47    ACCESS_TOKEN_TYPE_UNSUPPORTED = 19,
48    CREDENTIALS_MISSING = 20,
49    RESOURCE_PROJECT_INVALID = 21,
50    SESSION_COOKIE_INVALID = 23,
51    USER_BLOCKED_BY_ADMIN = 24,
52    RESOURCE_USAGE_RESTRICTION_VIOLATED = 25,
53    SYSTEM_PARAMETER_UNSUPPORTED = 26,
54    ORG_RESTRICTION_VIOLATION = 27,
55    ORG_RESTRICTION_HEADER_INVALID = 28,
56    SERVICE_NOT_VISIBLE = 29,
57    GCP_SUSPENDED = 30,
58}
59
60impl ::protobuf::ProtobufEnum for ErrorReason {
61    fn value(&self) -> i32 {
62        *self as i32
63    }
64
65    fn from_i32(value: i32) -> ::std::option::Option<ErrorReason> {
66        match value {
67            0 => ::std::option::Option::Some(ErrorReason::ERROR_REASON_UNSPECIFIED),
68            1 => ::std::option::Option::Some(ErrorReason::SERVICE_DISABLED),
69            2 => ::std::option::Option::Some(ErrorReason::BILLING_DISABLED),
70            3 => ::std::option::Option::Some(ErrorReason::API_KEY_INVALID),
71            4 => ::std::option::Option::Some(ErrorReason::API_KEY_SERVICE_BLOCKED),
72            7 => ::std::option::Option::Some(ErrorReason::API_KEY_HTTP_REFERRER_BLOCKED),
73            8 => ::std::option::Option::Some(ErrorReason::API_KEY_IP_ADDRESS_BLOCKED),
74            9 => ::std::option::Option::Some(ErrorReason::API_KEY_ANDROID_APP_BLOCKED),
75            13 => ::std::option::Option::Some(ErrorReason::API_KEY_IOS_APP_BLOCKED),
76            5 => ::std::option::Option::Some(ErrorReason::RATE_LIMIT_EXCEEDED),
77            6 => ::std::option::Option::Some(ErrorReason::RESOURCE_QUOTA_EXCEEDED),
78            10 => ::std::option::Option::Some(ErrorReason::LOCATION_TAX_POLICY_VIOLATED),
79            11 => ::std::option::Option::Some(ErrorReason::USER_PROJECT_DENIED),
80            12 => ::std::option::Option::Some(ErrorReason::CONSUMER_SUSPENDED),
81            14 => ::std::option::Option::Some(ErrorReason::CONSUMER_INVALID),
82            15 => ::std::option::Option::Some(ErrorReason::SECURITY_POLICY_VIOLATED),
83            16 => ::std::option::Option::Some(ErrorReason::ACCESS_TOKEN_EXPIRED),
84            17 => ::std::option::Option::Some(ErrorReason::ACCESS_TOKEN_SCOPE_INSUFFICIENT),
85            18 => ::std::option::Option::Some(ErrorReason::ACCOUNT_STATE_INVALID),
86            19 => ::std::option::Option::Some(ErrorReason::ACCESS_TOKEN_TYPE_UNSUPPORTED),
87            20 => ::std::option::Option::Some(ErrorReason::CREDENTIALS_MISSING),
88            21 => ::std::option::Option::Some(ErrorReason::RESOURCE_PROJECT_INVALID),
89            23 => ::std::option::Option::Some(ErrorReason::SESSION_COOKIE_INVALID),
90            24 => ::std::option::Option::Some(ErrorReason::USER_BLOCKED_BY_ADMIN),
91            25 => ::std::option::Option::Some(ErrorReason::RESOURCE_USAGE_RESTRICTION_VIOLATED),
92            26 => ::std::option::Option::Some(ErrorReason::SYSTEM_PARAMETER_UNSUPPORTED),
93            27 => ::std::option::Option::Some(ErrorReason::ORG_RESTRICTION_VIOLATION),
94            28 => ::std::option::Option::Some(ErrorReason::ORG_RESTRICTION_HEADER_INVALID),
95            29 => ::std::option::Option::Some(ErrorReason::SERVICE_NOT_VISIBLE),
96            30 => ::std::option::Option::Some(ErrorReason::GCP_SUSPENDED),
97            _ => ::std::option::Option::None
98        }
99    }
100
101    fn values() -> &'static [Self] {
102        static values: &'static [ErrorReason] = &[
103            ErrorReason::ERROR_REASON_UNSPECIFIED,
104            ErrorReason::SERVICE_DISABLED,
105            ErrorReason::BILLING_DISABLED,
106            ErrorReason::API_KEY_INVALID,
107            ErrorReason::API_KEY_SERVICE_BLOCKED,
108            ErrorReason::API_KEY_HTTP_REFERRER_BLOCKED,
109            ErrorReason::API_KEY_IP_ADDRESS_BLOCKED,
110            ErrorReason::API_KEY_ANDROID_APP_BLOCKED,
111            ErrorReason::API_KEY_IOS_APP_BLOCKED,
112            ErrorReason::RATE_LIMIT_EXCEEDED,
113            ErrorReason::RESOURCE_QUOTA_EXCEEDED,
114            ErrorReason::LOCATION_TAX_POLICY_VIOLATED,
115            ErrorReason::USER_PROJECT_DENIED,
116            ErrorReason::CONSUMER_SUSPENDED,
117            ErrorReason::CONSUMER_INVALID,
118            ErrorReason::SECURITY_POLICY_VIOLATED,
119            ErrorReason::ACCESS_TOKEN_EXPIRED,
120            ErrorReason::ACCESS_TOKEN_SCOPE_INSUFFICIENT,
121            ErrorReason::ACCOUNT_STATE_INVALID,
122            ErrorReason::ACCESS_TOKEN_TYPE_UNSUPPORTED,
123            ErrorReason::CREDENTIALS_MISSING,
124            ErrorReason::RESOURCE_PROJECT_INVALID,
125            ErrorReason::SESSION_COOKIE_INVALID,
126            ErrorReason::USER_BLOCKED_BY_ADMIN,
127            ErrorReason::RESOURCE_USAGE_RESTRICTION_VIOLATED,
128            ErrorReason::SYSTEM_PARAMETER_UNSUPPORTED,
129            ErrorReason::ORG_RESTRICTION_VIOLATION,
130            ErrorReason::ORG_RESTRICTION_HEADER_INVALID,
131            ErrorReason::SERVICE_NOT_VISIBLE,
132            ErrorReason::GCP_SUSPENDED,
133        ];
134        values
135    }
136
137    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
138        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
139        descriptor.get(|| {
140            ::protobuf::reflect::EnumDescriptor::new_pb_name::<ErrorReason>("ErrorReason", file_descriptor_proto())
141        })
142    }
143}
144
145impl ::std::marker::Copy for ErrorReason {
146}
147
148impl ::std::default::Default for ErrorReason {
149    fn default() -> Self {
150        ErrorReason::ERROR_REASON_UNSPECIFIED
151    }
152}
153
154impl ::protobuf::reflect::ProtobufValue for ErrorReason {
155    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
156        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
157    }
158}
159
160static file_descriptor_proto_data: &'static [u8] = b"\
161    \n\x1dgoogle/api/error_reason.proto\x12\ngoogle.api*\xec\x06\n\x0bErrorR\
162    eason\x12\x1c\n\x18ERROR_REASON_UNSPECIFIED\x10\0\x12\x14\n\x10SERVICE_D\
163    ISABLED\x10\x01\x12\x14\n\x10BILLING_DISABLED\x10\x02\x12\x13\n\x0fAPI_K\
164    EY_INVALID\x10\x03\x12\x1b\n\x17API_KEY_SERVICE_BLOCKED\x10\x04\x12!\n\
165    \x1dAPI_KEY_HTTP_REFERRER_BLOCKED\x10\x07\x12\x1e\n\x1aAPI_KEY_IP_ADDRES\
166    S_BLOCKED\x10\x08\x12\x1f\n\x1bAPI_KEY_ANDROID_APP_BLOCKED\x10\t\x12\x1b\
167    \n\x17API_KEY_IOS_APP_BLOCKED\x10\r\x12\x17\n\x13RATE_LIMIT_EXCEEDED\x10\
168    \x05\x12\x1b\n\x17RESOURCE_QUOTA_EXCEEDED\x10\x06\x12\x20\n\x1cLOCATION_\
169    TAX_POLICY_VIOLATED\x10\n\x12\x17\n\x13USER_PROJECT_DENIED\x10\x0b\x12\
170    \x16\n\x12CONSUMER_SUSPENDED\x10\x0c\x12\x14\n\x10CONSUMER_INVALID\x10\
171    \x0e\x12\x1c\n\x18SECURITY_POLICY_VIOLATED\x10\x0f\x12\x18\n\x14ACCESS_T\
172    OKEN_EXPIRED\x10\x10\x12#\n\x1fACCESS_TOKEN_SCOPE_INSUFFICIENT\x10\x11\
173    \x12\x19\n\x15ACCOUNT_STATE_INVALID\x10\x12\x12!\n\x1dACCESS_TOKEN_TYPE_\
174    UNSUPPORTED\x10\x13\x12\x17\n\x13CREDENTIALS_MISSING\x10\x14\x12\x1c\n\
175    \x18RESOURCE_PROJECT_INVALID\x10\x15\x12\x1a\n\x16SESSION_COOKIE_INVALID\
176    \x10\x17\x12\x19\n\x15USER_BLOCKED_BY_ADMIN\x10\x18\x12'\n#RESOURCE_USAG\
177    E_RESTRICTION_VIOLATED\x10\x19\x12\x20\n\x1cSYSTEM_PARAMETER_UNSUPPORTED\
178    \x10\x1a\x12\x1d\n\x19ORG_RESTRICTION_VIOLATION\x10\x1b\x12\"\n\x1eORG_R\
179    ESTRICTION_HEADER_INVALID\x10\x1c\x12\x17\n\x13SERVICE_NOT_VISIBLE\x10\
180    \x1d\x12\x11\n\rGCP_SUSPENDED\x10\x1eBp\n\x0ecom.google.apiB\x10ErrorRea\
181    sonProtoP\x01ZCgoogle.golang.org/genproto/googleapis/api/error_reason;er\
182    ror_reason\xa2\x02\x04GAPIJ\xc0\x9e\x01\n\x07\x12\x05\x0e\0\xb9\x04\x01\
183    \n\xbc\x04\n\x01\x0c\x12\x03\x0e\0\x122\xb1\x04\x20Copyright\x202023\x20\
184    Google\x20LLC\n\n\x20Licensed\x20under\x20the\x20Apache\x20License,\x20V\
185    ersion\x202.0\x20(the\x20\"License\");\n\x20you\x20may\x20not\x20use\x20\
186    this\x20file\x20except\x20in\x20compliance\x20with\x20the\x20License.\n\
187    \x20You\x20may\x20obtain\x20a\x20copy\x20of\x20the\x20License\x20at\n\n\
188    \x20\x20\x20\x20\x20http://www.apache.org/licenses/LICENSE-2.0\n\n\x20Un\
189    less\x20required\x20by\x20applicable\x20law\x20or\x20agreed\x20to\x20in\
190    \x20writing,\x20software\n\x20distributed\x20under\x20the\x20License\x20\
191    is\x20distributed\x20on\x20an\x20\"AS\x20IS\"\x20BASIS,\n\x20WITHOUT\x20\
192    WARRANTIES\x20OR\x20CONDITIONS\x20OF\x20ANY\x20KIND,\x20either\x20expres\
193    s\x20or\x20implied.\n\x20See\x20the\x20License\x20for\x20the\x20specific\
194    \x20language\x20governing\x20permissions\x20and\n\x20limitations\x20unde\
195    r\x20the\x20License.\n\n\x08\n\x01\x02\x12\x03\x10\0\x13\n\x08\n\x01\x08\
196    \x12\x03\x12\0Z\n\t\n\x02\x08\x0b\x12\x03\x12\0Z\n\x08\n\x01\x08\x12\x03\
197    \x13\0\"\n\t\n\x02\x08\n\x12\x03\x13\0\"\n\x08\n\x01\x08\x12\x03\x14\01\
198    \n\t\n\x02\x08\x08\x12\x03\x14\01\n\x08\n\x01\x08\x12\x03\x15\0'\n\t\n\
199    \x02\x08\x01\x12\x03\x15\0'\n\x08\n\x01\x08\x12\x03\x16\0\"\n\t\n\x02\
200    \x08$\x12\x03\x16\0\"\n\xbf\x05\n\x02\x05\0\x12\x05\"\0\xb9\x04\x01\x1a\
201    \xb1\x05\x20Defines\x20the\x20supported\x20values\x20for\x20`google.rpc.\
202    ErrorInfo.reason`\x20for\x20the\n\x20`googleapis.com`\x20error\x20domain\
203    .\x20This\x20error\x20domain\x20is\x20reserved\x20for\x20[Service\n\x20I\
204    nfrastructure](https://cloud.google.com/service-infrastructure/docs/over\
205    view).\n\x20For\x20each\x20error\x20info\x20of\x20this\x20domain,\x20the\
206    \x20metadata\x20key\x20\"service\"\x20refers\x20to\x20the\n\x20logical\
207    \x20identifier\x20of\x20an\x20API\x20service,\x20such\x20as\x20\"pubsub.\
208    googleapis.com\".\x20The\n\x20\"consumer\"\x20refers\x20to\x20the\x20ent\
209    ity\x20that\x20consumes\x20an\x20API\x20Service.\x20It\x20typically\x20i\
210    s\n\x20a\x20Google\x20project\x20that\x20owns\x20the\x20client\x20applic\
211    ation\x20or\x20the\x20server\x20resource,\n\x20such\x20as\x20\"projects/\
212    123\".\x20Other\x20metadata\x20keys\x20are\x20specific\x20to\x20each\x20\
213    error\n\x20reason.\x20For\x20more\x20information,\x20see\x20the\x20defin\
214    ition\x20of\x20the\x20specific\x20error\n\x20reason.\n\n\n\n\x03\x05\0\
215    \x01\x12\x03\"\x05\x10\n-\n\x04\x05\0\x02\0\x12\x03$\x02\x1f\x1a\x20\x20\
216    Do\x20not\x20use\x20this\x20default\x20value.\n\n\x0c\n\x05\x05\0\x02\0\
217    \x01\x12\x03$\x02\x1a\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03$\x1d\x1e\n\xde\
218    \x03\n\x04\x05\0\x02\x01\x12\x035\x02\x17\x1a\xd0\x03\x20The\x20request\
219    \x20is\x20calling\x20a\x20disabled\x20service\x20for\x20a\x20consumer.\n\
220    \n\x20Example\x20of\x20an\x20ErrorInfo\x20when\x20the\x20consumer\x20\"p\
221    rojects/123\"\x20contacting\n\x20\"pubsub.googleapis.com\"\x20service\
222    \x20which\x20is\x20disabled:\n\n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\
223    \"SERVICE_DISABLED\",\n\x20\x20\x20\x20\x20\x20\x20\"domain\":\x20\"goog\
224    leapis.com\",\n\x20\x20\x20\x20\x20\x20\x20\"metadata\":\x20{\n\x20\x20\
225    \x20\x20\x20\x20\x20\x20\x20\"consumer\":\x20\"projects/123\",\n\x20\x20\
226    \x20\x20\x20\x20\x20\x20\x20\"service\":\x20\"pubsub.googleapis.com\"\n\
227    \x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\x20This\x20resp\
228    onse\x20indicates\x20the\x20\"pubsub.googleapis.com\"\x20has\x20been\x20\
229    disabled\x20in\n\x20\"projects/123\".\n\n\x0c\n\x05\x05\0\x02\x01\x01\
230    \x12\x035\x02\x12\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x035\x15\x16\n\xf6\
231    \x03\n\x04\x05\0\x02\x02\x12\x03F\x02\x17\x1a\xe8\x03\x20The\x20request\
232    \x20whose\x20associated\x20billing\x20account\x20is\x20disabled.\n\n\x20\
233    Example\x20of\x20an\x20ErrorInfo\x20when\x20the\x20consumer\x20\"project\
234    s/123\"\x20fails\x20to\x20contact\n\x20\"pubsub.googleapis.com\"\x20serv\
235    ice\x20because\x20the\x20associated\x20billing\x20account\x20is\n\x20dis\
236    abled:\n\n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\"BILLING_DISABLED\",\
237    \n\x20\x20\x20\x20\x20\x20\x20\"domain\":\x20\"googleapis.com\",\n\x20\
238    \x20\x20\x20\x20\x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\x20\x20\x20\
239    \x20\x20\"consumer\":\x20\"projects/123\",\n\x20\x20\x20\x20\x20\x20\x20\
240    \x20\x20\"service\":\x20\"pubsub.googleapis.com\"\n\x20\x20\x20\x20\x20\
241    \x20\x20}\n\x20\x20\x20\x20\x20}\n\n\x20This\x20response\x20indicates\
242    \x20the\x20billing\x20account\x20associated\x20has\x20been\x20disabled.\
243    \n\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03F\x02\x12\n\x0c\n\x05\x05\0\x02\
244    \x02\x02\x12\x03F\x15\x16\n\xda\x03\n\x04\x05\0\x02\x03\x12\x03U\x02\x16\
245    \x1a\xcc\x03\x20The\x20request\x20is\x20denied\x20because\x20the\x20prov\
246    ided\x20[API\n\x20key](https://cloud.google.com/docs/authentication/api-\
247    keys)\x20is\x20invalid.\x20It\n\x20may\x20be\x20in\x20a\x20bad\x20format\
248    ,\x20cannot\x20be\x20found,\x20or\x20has\x20been\x20expired).\n\n\x20Exa\
249    mple\x20of\x20an\x20ErrorInfo\x20when\x20the\x20request\x20is\x20contact\
250    ing\n\x20\"storage.googleapis.com\"\x20service\x20with\x20an\x20invalid\
251    \x20API\x20key:\n\n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\"API_KEY_INV\
252    ALID\",\n\x20\x20\x20\x20\x20\x20\x20\"domain\":\x20\"googleapis.com\",\
253    \n\x20\x20\x20\x20\x20\x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\x20\
254    \x20\x20\x20\x20\"service\":\x20\"storage.googleapis.com\",\n\x20\x20\
255    \x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\x0c\n\x05\x05\0\x02\x03\
256    \x01\x12\x03U\x02\x11\n\x0c\n\x05\x05\0\x02\x03\x02\x12\x03U\x14\x15\n\
257    \x8f\x04\n\x04\x05\0\x02\x04\x12\x03e\x02\x1e\x1a\x81\x04\x20The\x20requ\
258    est\x20is\x20denied\x20because\x20it\x20violates\x20[API\x20key\x20API\n\
259    \x20restrictions](https://cloud.google.com/docs/authentication/api-keys#\
260    adding_api_restrictions).\n\n\x20Example\x20of\x20an\x20ErrorInfo\x20whe\
261    n\x20the\x20consumer\x20\"projects/123\"\x20fails\x20to\x20call\x20the\n\
262    \x20\"storage.googleapis.com\"\x20service\x20because\x20this\x20service\
263    \x20is\x20restricted\x20in\x20the\n\x20API\x20key:\n\n\x20\x20\x20\x20\
264    \x20{\x20\"reason\":\x20\"API_KEY_SERVICE_BLOCKED\",\n\x20\x20\x20\x20\
265    \x20\x20\x20\"domain\":\x20\"googleapis.com\",\n\x20\x20\x20\x20\x20\x20\
266    \x20\"metadata\":\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"consumer\"\
267    :\x20\"projects/123\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"service\":\
268    \x20\"storage.googleapis.com\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\
269    \x20\x20\x20}\n\n\x0c\n\x05\x05\0\x02\x04\x01\x12\x03e\x02\x19\n\x0c\n\
270    \x05\x05\0\x02\x04\x02\x12\x03e\x1c\x1d\n\xae\x04\n\x04\x05\0\x02\x05\
271    \x12\x03u\x02$\x1a\xa0\x04\x20The\x20request\x20is\x20denied\x20because\
272    \x20it\x20violates\x20[API\x20key\x20HTTP\n\x20restrictions](https://clo\
273    ud.google.com/docs/authentication/api-keys#adding_http_restrictions).\n\
274    \n\x20Example\x20of\x20an\x20ErrorInfo\x20when\x20the\x20consumer\x20\"p\
275    rojects/123\"\x20fails\x20to\x20call\n\x20\"storage.googleapis.com\"\x20\
276    service\x20because\x20the\x20http\x20referrer\x20of\x20the\x20request\n\
277    \x20violates\x20API\x20key\x20HTTP\x20restrictions:\n\n\x20\x20\x20\x20\
278    \x20{\x20\"reason\":\x20\"API_KEY_HTTP_REFERRER_BLOCKED\",\n\x20\x20\x20\
279    \x20\x20\x20\x20\"domain\":\x20\"googleapis.com\",\n\x20\x20\x20\x20\x20\
280    \x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"consum\
281    er\":\x20\"projects/123\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"servic\
282    e\":\x20\"storage.googleapis.com\",\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\
283    \x20\x20\x20\x20}\n\n\x0c\n\x05\x05\0\x02\x05\x01\x12\x03u\x02\x1f\n\x0c\
284    \n\x05\x05\0\x02\x05\x02\x12\x03u\"#\n\xbb\x04\n\x04\x05\0\x02\x06\x12\
285    \x04\x85\x01\x02!\x1a\xac\x04\x20The\x20request\x20is\x20denied\x20becau\
286    se\x20it\x20violates\x20[API\x20key\x20IP\x20address\n\x20restrictions](\
287    https://cloud.google.com/docs/authentication/api-keys#adding_application\
288    _restrictions).\n\n\x20Example\x20of\x20an\x20ErrorInfo\x20when\x20the\
289    \x20consumer\x20\"projects/123\"\x20fails\x20to\x20call\n\x20\"storage.g\
290    oogleapis.com\"\x20service\x20because\x20the\x20caller\x20IP\x20of\x20th\
291    e\x20request\n\x20violates\x20API\x20key\x20IP\x20address\x20restriction\
292    s:\n\n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\"API_KEY_IP_ADDRESS_BLOCK\
293    ED\",\n\x20\x20\x20\x20\x20\x20\x20\"domain\":\x20\"googleapis.com\",\n\
294    \x20\x20\x20\x20\x20\x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\x20\x20\
295    \x20\x20\x20\"consumer\":\x20\"projects/123\",\n\x20\x20\x20\x20\x20\x20\
296    \x20\x20\x20\"service\":\x20\"storage.googleapis.com\",\n\x20\x20\x20\
297    \x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\r\n\x05\x05\0\x02\x06\x01\
298    \x12\x04\x85\x01\x02\x1c\n\r\n\x05\x05\0\x02\x06\x02\x12\x04\x85\x01\x1f\
299    \x20\n\xd6\x04\n\x04\x05\0\x02\x07\x12\x04\x95\x01\x02\"\x1a\xc7\x04\x20\
300    The\x20request\x20is\x20denied\x20because\x20it\x20violates\x20[API\x20k\
301    ey\x20Android\x20application\n\x20restrictions](https://cloud.google.com\
302    /docs/authentication/api-keys#adding_application_restrictions).\n\n\x20E\
303    xample\x20of\x20an\x20ErrorInfo\x20when\x20the\x20consumer\x20\"projects\
304    /123\"\x20fails\x20to\x20call\n\x20\"storage.googleapis.com\"\x20service\
305    \x20because\x20the\x20request\x20from\x20the\x20Android\x20apps\n\x20vio\
306    lates\x20the\x20API\x20key\x20Android\x20application\x20restrictions:\n\
307    \n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\"API_KEY_ANDROID_APP_BLOCKED\
308    \",\n\x20\x20\x20\x20\x20\x20\x20\"domain\":\x20\"googleapis.com\",\n\
309    \x20\x20\x20\x20\x20\x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\x20\x20\
310    \x20\x20\x20\"consumer\":\x20\"projects/123\",\n\x20\x20\x20\x20\x20\x20\
311    \x20\x20\x20\"service\":\x20\"storage.googleapis.com\"\n\x20\x20\x20\x20\
312    \x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\r\n\x05\x05\0\x02\x07\x01\x12\
313    \x04\x95\x01\x02\x1d\n\r\n\x05\x05\0\x02\x07\x02\x12\x04\x95\x01\x20!\n\
314    \xc6\x04\n\x04\x05\0\x02\x08\x12\x04\xa5\x01\x02\x1f\x1a\xb7\x04\x20The\
315    \x20request\x20is\x20denied\x20because\x20it\x20violates\x20[API\x20key\
316    \x20iOS\x20application\n\x20restrictions](https://cloud.google.com/docs/\
317    authentication/api-keys#adding_application_restrictions).\n\n\x20Example\
318    \x20of\x20an\x20ErrorInfo\x20when\x20the\x20consumer\x20\"projects/123\"\
319    \x20fails\x20to\x20call\n\x20\"storage.googleapis.com\"\x20service\x20be\
320    cause\x20the\x20request\x20from\x20the\x20iOS\x20apps\n\x20violates\x20t\
321    he\x20API\x20key\x20iOS\x20application\x20restrictions:\n\n\x20\x20\x20\
322    \x20\x20{\x20\"reason\":\x20\"API_KEY_IOS_APP_BLOCKED\",\n\x20\x20\x20\
323    \x20\x20\x20\x20\"domain\":\x20\"googleapis.com\",\n\x20\x20\x20\x20\x20\
324    \x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"consum\
325    er\":\x20\"projects/123\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"servic\
326    e\":\x20\"storage.googleapis.com\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\
327    \x20\x20\x20\x20}\n\n\r\n\x05\x05\0\x02\x08\x01\x12\x04\xa5\x01\x02\x19\
328    \n\r\n\x05\x05\0\x02\x08\x02\x12\x04\xa5\x01\x1c\x1e\n\x80\n\n\x04\x05\0\
329    \x02\t\x12\x04\xc8\x01\x02\x1a\x1a\xf1\t\x20The\x20request\x20is\x20deni\
330    ed\x20because\x20there\x20is\x20not\x20enough\x20rate\x20quota\x20for\
331    \x20the\n\x20consumer.\n\n\x20Example\x20of\x20an\x20ErrorInfo\x20when\
332    \x20the\x20consumer\x20\"projects/123\"\x20fails\x20to\x20contact\n\x20\
333    \"pubsub.googleapis.com\"\x20service\x20because\x20consumer's\x20rate\
334    \x20quota\x20usage\x20has\n\x20reached\x20the\x20maximum\x20value\x20set\
335    \x20for\x20the\x20quota\x20limit\n\x20\"ReadsPerMinutePerProject\"\x20on\
336    \x20the\x20quota\x20metric\n\x20\"pubsub.googleapis.com/read_requests\":\
337    \n\n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\"RATE_LIMIT_EXCEEDED\",\n\
338    \x20\x20\x20\x20\x20\x20\x20\"domain\":\x20\"googleapis.com\",\n\x20\x20\
339    \x20\x20\x20\x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\
340    \x20\"consumer\":\x20\"projects/123\",\n\x20\x20\x20\x20\x20\x20\x20\x20\
341    \x20\"service\":\x20\"pubsub.googleapis.com\",\n\x20\x20\x20\x20\x20\x20\
342    \x20\x20\x20\"quota_metric\":\x20\"pubsub.googleapis.com/read_requests\"\
343    ,\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"quota_limit\":\x20\"ReadsPerMin\
344    utePerProject\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\
345    \n\x20Example\x20of\x20an\x20ErrorInfo\x20when\x20the\x20consumer\x20\"p\
346    rojects/123\"\x20checks\x20quota\x20on\n\x20the\x20service\x20\"dataflow\
347    .googleapis.com\"\x20and\x20hits\x20the\x20organization\x20quota\n\x20li\
348    mit\x20\"DefaultRequestsPerMinutePerOrganization\"\x20on\x20the\x20metri\
349    c\n\x20\"dataflow.googleapis.com/default_requests\".\n\n\x20\x20\x20\x20\
350    \x20{\x20\"reason\":\x20\"RATE_LIMIT_EXCEEDED\",\n\x20\x20\x20\x20\x20\
351    \x20\x20\"domain\":\x20\"googleapis.com\",\n\x20\x20\x20\x20\x20\x20\x20\
352    \"metadata\":\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"consumer\":\
353    \x20\"projects/123\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"service\":\
354    \x20\"dataflow.googleapis.com\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"\
355    quota_metric\":\x20\"dataflow.googleapis.com/default_requests\",\n\x20\
356    \x20\x20\x20\x20\x20\x20\x20\x20\"quota_limit\":\x20\"DefaultRequestsPer\
357    MinutePerOrganization\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\
358    \x20}\n\n\r\n\x05\x05\0\x02\t\x01\x12\x04\xc8\x01\x02\x15\n\r\n\x05\x05\
359    \0\x02\t\x02\x12\x04\xc8\x01\x18\x19\n\xc0\t\n\x04\x05\0\x02\n\x12\x04\
360    \xea\x01\x02\x1e\x1a\xb1\t\x20The\x20request\x20is\x20denied\x20because\
361    \x20there\x20is\x20not\x20enough\x20resource\x20quota\x20for\x20the\n\
362    \x20consumer.\n\n\x20Example\x20of\x20an\x20ErrorInfo\x20when\x20the\x20\
363    consumer\x20\"projects/123\"\x20fails\x20to\x20contact\n\x20\"compute.go\
364    ogleapis.com\"\x20service\x20because\x20consumer's\x20resource\x20quota\
365    \x20usage\n\x20has\x20reached\x20the\x20maximum\x20value\x20set\x20for\
366    \x20the\x20quota\x20limit\x20\"VMsPerProject\"\n\x20on\x20the\x20quota\
367    \x20metric\x20\"compute.googleapis.com/vms\":\n\n\x20\x20\x20\x20\x20{\
368    \x20\"reason\":\x20\"RESOURCE_QUOTA_EXCEEDED\",\n\x20\x20\x20\x20\x20\
369    \x20\x20\"domain\":\x20\"googleapis.com\",\n\x20\x20\x20\x20\x20\x20\x20\
370    \"metadata\":\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"consumer\":\
371    \x20\"projects/123\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"service\":\
372    \x20\"compute.googleapis.com\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"q\
373    uota_metric\":\x20\"compute.googleapis.com/vms\",\n\x20\x20\x20\x20\x20\
374    \x20\x20\x20\x20\"quota_limit\":\x20\"VMsPerProject\"\n\x20\x20\x20\x20\
375    \x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\x20Example\x20of\x20an\x20Error\
376    Info\x20when\x20the\x20consumer\x20\"projects/123\"\x20checks\x20resourc\
377    e\n\x20quota\x20on\x20the\x20service\x20\"dataflow.googleapis.com\"\x20a\
378    nd\x20hits\x20the\x20organization\n\x20quota\x20limit\x20\"jobs-per-orga\
379    nization\"\x20on\x20the\x20metric\n\x20\"dataflow.googleapis.com/job_cou\
380    nt\".\n\n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\"RESOURCE_QUOTA_EXCEED\
381    ED\",\n\x20\x20\x20\x20\x20\x20\x20\"domain\":\x20\"googleapis.com\",\n\
382    \x20\x20\x20\x20\x20\x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\x20\x20\
383    \x20\x20\x20\"consumer\":\x20\"projects/123\",\n\x20\x20\x20\x20\x20\x20\
384    \x20\x20\x20\"service\":\x20\"dataflow.googleapis.com\",\n\x20\x20\x20\
385    \x20\x20\x20\x20\x20\x20\"quota_metric\":\x20\"dataflow.googleapis.com/j\
386    ob_count\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"quota_limit\":\x20\"j\
387    obs-per-organization\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\
388    \x20}\n\n\r\n\x05\x05\0\x02\n\x01\x12\x04\xea\x01\x02\x19\n\r\n\x05\x05\
389    \0\x02\n\x02\x12\x04\xea\x01\x1c\x1d\n\xdd\x05\n\x04\x05\0\x02\x0b\x12\
390    \x04\xff\x01\x02$\x1a\xce\x05\x20The\x20request\x20whose\x20associated\
391    \x20billing\x20account\x20address\x20is\x20in\x20a\x20tax\x20restricted\
392    \n\x20location,\x20violates\x20the\x20local\x20tax\x20restrictions\x20wh\
393    en\x20creating\x20resources\x20in\n\x20the\x20restricted\x20region.\n\n\
394    \x20Example\x20of\x20an\x20ErrorInfo\x20when\x20creating\x20the\x20Cloud\
395    \x20Storage\x20Bucket\x20in\x20the\n\x20container\x20\"projects/123\"\
396    \x20under\x20a\x20tax\x20restricted\x20region\n\x20\"locations/asia-nort\
397    heast3\":\n\n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\"LOCATION_TAX_POLI\
398    CY_VIOLATED\",\n\x20\x20\x20\x20\x20\x20\x20\"domain\":\x20\"googleapis.\
399    com\",\n\x20\x20\x20\x20\x20\x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\
400    \x20\x20\x20\x20\x20\"consumer\":\x20\"projects/123\",\n\x20\x20\x20\x20\
401    \x20\x20\x20\x20\x20\"service\":\x20\"storage.googleapis.com\",\n\x20\
402    \x20\x20\x20\x20\x20\x20\x20\x20\"location\":\x20\"locations/asia-northe\
403    ast3\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\x20This\
404    \x20response\x20indicates\x20creating\x20the\x20Cloud\x20Storage\x20Buck\
405    et\x20in\n\x20\"locations/asia-northeast3\"\x20violates\x20the\x20locati\
406    on\x20tax\x20restriction.\n\n\r\n\x05\x05\0\x02\x0b\x01\x12\x04\xff\x01\
407    \x02\x1e\n\r\n\x05\x05\0\x02\x0b\x02\x12\x04\xff\x01!#\n\xda\x04\n\x04\
408    \x05\0\x02\x0c\x12\x04\x90\x02\x02\x1b\x1a\xcb\x04\x20The\x20request\x20\
409    is\x20denied\x20because\x20the\x20caller\x20does\x20not\x20have\x20requi\
410    red\x20permission\n\x20on\x20the\x20user\x20project\x20\"projects/123\"\
411    \x20or\x20the\x20user\x20project\x20is\x20invalid.\x20For\x20more\n\x20i\
412    nformation,\x20check\x20the\x20[userProject\x20System\n\x20Parameters](h\
413    ttps://cloud.google.com/apis/docs/system-parameters).\n\n\x20Example\x20\
414    of\x20an\x20ErrorInfo\x20when\x20the\x20caller\x20is\x20calling\x20Cloud\
415    \x20Storage\x20service\n\x20with\x20insufficient\x20permissions\x20on\
416    \x20the\x20user\x20project:\n\n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\
417    \"USER_PROJECT_DENIED\",\n\x20\x20\x20\x20\x20\x20\x20\"domain\":\x20\"g\
418    oogleapis.com\",\n\x20\x20\x20\x20\x20\x20\x20\"metadata\":\x20{\n\x20\
419    \x20\x20\x20\x20\x20\x20\x20\x20\"consumer\":\x20\"projects/123\",\n\x20\
420    \x20\x20\x20\x20\x20\x20\x20\x20\"service\":\x20\"storage.googleapis.com\
421    \"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\r\n\x05\x05\
422    \0\x02\x0c\x01\x12\x04\x90\x02\x02\x15\n\r\n\x05\x05\0\x02\x0c\x02\x12\
423    \x04\x90\x02\x18\x1a\n\xb9\x04\n\x04\x05\0\x02\r\x12\x04\xa1\x02\x02\x1a\
424    \x1a\xaa\x04\x20The\x20request\x20is\x20denied\x20because\x20the\x20cons\
425    umer\x20\"projects/123\"\x20is\x20suspended\x20due\n\x20to\x20Terms\x20o\
426    f\x20Service(Tos)\x20violations.\x20Check\x20[Project\x20suspension\n\
427    \x20guidelines](https://cloud.google.com/resource-manager/docs/project-s\
428    uspension-guidelines)\n\x20for\x20more\x20information.\n\n\x20Example\
429    \x20of\x20an\x20ErrorInfo\x20when\x20calling\x20Cloud\x20Storage\x20serv\
430    ice\x20with\x20the\n\x20suspended\x20consumer\x20\"projects/123\":\n\n\
431    \x20\x20\x20\x20\x20{\x20\"reason\":\x20\"CONSUMER_SUSPENDED\",\n\x20\
432    \x20\x20\x20\x20\x20\x20\"domain\":\x20\"googleapis.com\",\n\x20\x20\x20\
433    \x20\x20\x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\
434    \"consumer\":\x20\"projects/123\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\
435    \"service\":\x20\"storage.googleapis.com\"\n\x20\x20\x20\x20\x20\x20\x20\
436    }\n\x20\x20\x20\x20\x20}\n\n\r\n\x05\x05\0\x02\r\x01\x12\x04\xa1\x02\x02\
437    \x14\n\r\n\x05\x05\0\x02\r\x02\x12\x04\xa1\x02\x17\x19\n\xbd\x03\n\x04\
438    \x05\0\x02\x0e\x12\x04\xb0\x02\x02\x18\x1a\xae\x03\x20The\x20request\x20\
439    is\x20denied\x20because\x20the\x20associated\x20consumer\x20is\x20invali\
440    d.\x20It\x20may\x20be\n\x20in\x20a\x20bad\x20format,\x20cannot\x20be\x20\
441    found,\x20or\x20have\x20been\x20deleted.\n\n\x20Example\x20of\x20an\x20E\
442    rrorInfo\x20when\x20calling\x20Cloud\x20Storage\x20service\x20with\x20th\
443    e\n\x20invalid\x20consumer\x20\"projects/123\":\n\n\x20\x20\x20\x20\x20{\
444    \x20\"reason\":\x20\"CONSUMER_INVALID\",\n\x20\x20\x20\x20\x20\x20\x20\"\
445    domain\":\x20\"googleapis.com\",\n\x20\x20\x20\x20\x20\x20\x20\"metadata\
446    \":\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"consumer\":\x20\"project\
447    s/123\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"service\":\x20\"storage.\
448    googleapis.com\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\
449    \n\r\n\x05\x05\0\x02\x0e\x01\x12\x04\xb0\x02\x02\x12\n\r\n\x05\x05\0\x02\
450    \x0e\x02\x12\x04\xb0\x02\x15\x17\n\xc8\x06\n\x04\x05\0\x02\x0f\x12\x04\
451    \xc5\x02\x02\x20\x1a\xb9\x06\x20The\x20request\x20is\x20denied\x20becaus\
452    e\x20it\x20violates\x20[VPC\x20Service\n\x20Controls](https://cloud.goog\
453    le.com/vpc-service-controls/docs/overview).\n\x20The\x20'uid'\x20field\
454    \x20is\x20a\x20random\x20generated\x20identifier\x20that\x20customer\x20\
455    can\x20use\x20it\n\x20to\x20search\x20the\x20audit\x20log\x20for\x20a\
456    \x20request\x20rejected\x20by\x20VPC\x20Service\x20Controls.\x20For\n\
457    \x20more\x20information,\x20please\x20refer\x20[VPC\x20Service\x20Contro\
458    ls\n\x20Troubleshooting](https://cloud.google.com/vpc-service-controls/d\
459    ocs/troubleshooting#unique-id)\n\n\x20Example\x20of\x20an\x20ErrorInfo\
460    \x20when\x20the\x20consumer\x20\"projects/123\"\x20fails\x20to\x20call\n\
461    \x20Cloud\x20Storage\x20service\x20because\x20the\x20request\x20is\x20pr\
462    ohibited\x20by\x20the\x20VPC\x20Service\n\x20Controls.\n\n\x20\x20\x20\
463    \x20\x20{\x20\"reason\":\x20\"SECURITY_POLICY_VIOLATED\",\n\x20\x20\x20\
464    \x20\x20\x20\x20\"domain\":\x20\"googleapis.com\",\n\x20\x20\x20\x20\x20\
465    \x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"uid\":\
466    \x20\"123456789abcde\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"consumer\
467    \":\x20\"projects/123\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"service\
468    \":\x20\"storage.googleapis.com\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\
469    \x20\x20\x20\x20}\n\n\r\n\x05\x05\0\x02\x0f\x01\x12\x04\xc5\x02\x02\x1a\
470    \n\r\n\x05\x05\0\x02\x0f\x02\x12\x04\xc5\x02\x1d\x1f\n\x99\x03\n\x04\x05\
471    \0\x02\x10\x12\x04\xd3\x02\x02\x1c\x1a\x8a\x03\x20The\x20request\x20is\
472    \x20denied\x20because\x20the\x20provided\x20access\x20token\x20has\x20ex\
473    pired.\n\n\x20Example\x20of\x20an\x20ErrorInfo\x20when\x20the\x20request\
474    \x20is\x20calling\x20Cloud\x20Storage\x20service\n\x20with\x20an\x20expi\
475    red\x20access\x20token:\n\n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\"ACC\
476    ESS_TOKEN_EXPIRED\",\n\x20\x20\x20\x20\x20\x20\x20\"domain\":\x20\"googl\
477    eapis.com\",\n\x20\x20\x20\x20\x20\x20\x20\"metadata\":\x20{\n\x20\x20\
478    \x20\x20\x20\x20\x20\x20\x20\"service\":\x20\"storage.googleapis.com\",\
479    \n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"method\":\x20\"google.storage.v1\
480    .Storage.GetObject\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\
481    \x20}\n\n\r\n\x05\x05\0\x02\x10\x01\x12\x04\xd3\x02\x02\x16\n\r\n\x05\
482    \x05\0\x02\x10\x02\x12\x04\xd3\x02\x19\x1b\n\xc4\x05\n\x04\x05\0\x02\x11\
483    \x12\x04\xe6\x02\x02'\x1a\xb5\x05\x20The\x20request\x20is\x20denied\x20b\
484    ecause\x20the\x20provided\x20access\x20token\x20doesn't\x20have\x20at\n\
485    \x20least\x20one\x20of\x20the\x20acceptable\x20scopes\x20required\x20for\
486    \x20the\x20API.\x20Please\x20check\n\x20[OAuth\x202.0\x20Scopes\x20for\
487    \x20Google\n\x20APIs](https://developers.google.com/identity/protocols/o\
488    auth2/scopes)\x20for\n\x20the\x20list\x20of\x20the\x20OAuth\x202.0\x20sc\
489    opes\x20that\x20you\x20might\x20need\x20to\x20request\x20to\x20access\n\
490    \x20the\x20API.\n\n\x20Example\x20of\x20an\x20ErrorInfo\x20when\x20the\
491    \x20request\x20is\x20calling\x20Cloud\x20Storage\x20service\n\x20with\
492    \x20an\x20access\x20token\x20that\x20is\x20missing\x20required\x20scopes\
493    :\n\n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\"ACCESS_TOKEN_SCOPE_INSUFF\
494    ICIENT\",\n\x20\x20\x20\x20\x20\x20\x20\"domain\":\x20\"googleapis.com\"\
495    ,\n\x20\x20\x20\x20\x20\x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\x20\
496    \x20\x20\x20\x20\"service\":\x20\"storage.googleapis.com\",\n\x20\x20\
497    \x20\x20\x20\x20\x20\x20\x20\"method\":\x20\"google.storage.v1.Storage.G\
498    etObject\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\r\n\
499    \x05\x05\0\x02\x11\x01\x12\x04\xe6\x02\x02!\n\r\n\x05\x05\0\x02\x11\x02\
500    \x12\x04\xe6\x02$&\n\xf1\x06\n\x04\x05\0\x02\x12\x12\x04\xfc\x02\x02\x1d\
501    \x1a\xe2\x06\x20The\x20request\x20is\x20denied\x20because\x20the\x20acco\
502    unt\x20associated\x20with\x20the\x20provided\n\x20access\x20token\x20is\
503    \x20in\x20an\x20invalid\x20state,\x20such\x20as\x20disabled\x20or\x20del\
504    eted.\n\x20For\x20more\x20information,\x20see\x20https://cloud.google.co\
505    m/docs/authentication.\n\n\x20Warning:\x20For\x20privacy\x20reasons,\x20\
506    the\x20server\x20may\x20not\x20be\x20able\x20to\x20disclose\x20the\n\x20\
507    email\x20address\x20for\x20some\x20accounts.\x20The\x20client\x20MUST\
508    \x20NOT\x20depend\x20on\x20the\n\x20availability\x20of\x20the\x20`email`\
509    \x20attribute.\n\n\x20Example\x20of\x20an\x20ErrorInfo\x20when\x20the\
510    \x20request\x20is\x20to\x20the\x20Cloud\x20Storage\x20API\x20with\n\x20a\
511    n\x20access\x20token\x20that\x20is\x20associated\x20with\x20a\x20disable\
512    d\x20or\x20deleted\x20[service\n\x20account](http://cloud/iam/docs/servi\
513    ce-accounts):\n\n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\"ACCOUNT_STATE\
514    _INVALID\",\n\x20\x20\x20\x20\x20\x20\x20\"domain\":\x20\"googleapis.com\
515    \",\n\x20\x20\x20\x20\x20\x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\
516    \x20\x20\x20\x20\x20\"service\":\x20\"storage.googleapis.com\",\n\x20\
517    \x20\x20\x20\x20\x20\x20\x20\x20\"method\":\x20\"google.storage.v1.Stora\
518    ge.GetObject\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"email\":\x20\"use\
519    r@123.iam.gserviceaccount.com\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\
520    \x20\x20\x20}\n\n\r\n\x05\x05\0\x02\x12\x01\x12\x04\xfc\x02\x02\x17\n\r\
521    \n\x05\x05\0\x02\x12\x02\x12\x04\xfc\x02\x1a\x1c\n\xc9\x03\n\x04\x05\0\
522    \x02\x13\x12\x04\x8b\x03\x02%\x1a\xba\x03\x20The\x20request\x20is\x20den\
523    ied\x20because\x20the\x20type\x20of\x20the\x20provided\x20access\x20toke\
524    n\x20is\x20not\n\x20supported\x20by\x20the\x20API\x20being\x20called.\n\
525    \n\x20Example\x20of\x20an\x20ErrorInfo\x20when\x20the\x20request\x20is\
526    \x20to\x20the\x20Cloud\x20Storage\x20API\x20with\n\x20an\x20unsupported\
527    \x20token\x20type.\n\n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\"ACCESS_T\
528    OKEN_TYPE_UNSUPPORTED\",\n\x20\x20\x20\x20\x20\x20\x20\"domain\":\x20\"g\
529    oogleapis.com\",\n\x20\x20\x20\x20\x20\x20\x20\"metadata\":\x20{\n\x20\
530    \x20\x20\x20\x20\x20\x20\x20\x20\"service\":\x20\"storage.googleapis.com\
531    \",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"method\":\x20\"google.storage\
532    .v1.Storage.GetObject\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\
533    \x20}\n\n\r\n\x05\x05\0\x02\x13\x01\x12\x04\x8b\x03\x02\x1f\n\r\n\x05\
534    \x05\0\x02\x13\x02\x12\x04\x8b\x03\"$\n\xc2\x04\n\x04\x05\0\x02\x14\x12\
535    \x04\x9c\x03\x02\x1b\x1a\xb3\x04\x20The\x20request\x20is\x20denied\x20be\
536    cause\x20the\x20request\x20doesn't\x20have\x20any\x20authentication\n\
537    \x20credentials.\x20For\x20more\x20information\x20regarding\x20the\x20su\
538    pported\x20authentication\n\x20strategies\x20for\x20Google\x20Cloud\x20A\
539    PIs,\x20see\n\x20https://cloud.google.com/docs/authentication.\n\n\x20Ex\
540    ample\x20of\x20an\x20ErrorInfo\x20when\x20the\x20request\x20is\x20to\x20\
541    the\x20Cloud\x20Storage\x20API\n\x20without\x20any\x20authentication\x20\
542    credentials.\n\n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\"CREDENTIALS_MI\
543    SSING\",\n\x20\x20\x20\x20\x20\x20\x20\"domain\":\x20\"googleapis.com\",\
544    \n\x20\x20\x20\x20\x20\x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\x20\
545    \x20\x20\x20\x20\"service\":\x20\"storage.googleapis.com\",\n\x20\x20\
546    \x20\x20\x20\x20\x20\x20\x20\"method\":\x20\"google.storage.v1.Storage.G\
547    etObject\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\r\n\
548    \x05\x05\0\x02\x14\x01\x12\x04\x9c\x03\x02\x15\n\r\n\x05\x05\0\x02\x14\
549    \x02\x12\x04\x9c\x03\x18\x1a\n\xa8\x05\n\x04\x05\0\x02\x15\x12\x04\xaf\
550    \x03\x02\x20\x1a\x99\x05\x20The\x20request\x20is\x20denied\x20because\
551    \x20the\x20provided\x20project\x20owning\x20the\x20resource\n\x20which\
552    \x20acts\x20as\x20the\x20[API\n\x20consumer](https://cloud.google.com/ap\
553    is/design/glossary#api_consumer)\x20is\n\x20invalid.\x20It\x20may\x20be\
554    \x20in\x20a\x20bad\x20format\x20or\x20empty.\n\n\x20Example\x20of\x20an\
555    \x20ErrorInfo\x20when\x20the\x20request\x20is\x20to\x20the\x20Cloud\x20F\
556    unctions\x20API,\n\x20but\x20the\x20offered\x20resource\x20project\x20in\
557    \x20the\x20request\x20in\x20a\x20bad\x20format\x20which\x20can't\n\x20pe\
558    rform\x20the\x20ListFunctions\x20method.\n\n\x20\x20\x20\x20\x20{\x20\"r\
559    eason\":\x20\"RESOURCE_PROJECT_INVALID\",\n\x20\x20\x20\x20\x20\x20\x20\
560    \"domain\":\x20\"googleapis.com\",\n\x20\x20\x20\x20\x20\x20\x20\"metada\
561    ta\":\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"service\":\x20\"cloudf\
562    unctions.googleapis.com\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"method\
563    \":\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"google.cloud.functions.v1.Clo\
564    udFunctionsService.ListFunctions\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\
565    \x20\x20\x20\x20}\n\n\r\n\x05\x05\0\x02\x15\x01\x12\x04\xaf\x03\x02\x1a\
566    \n\r\n\x05\x05\0\x02\x15\x02\x12\x04\xaf\x03\x1d\x1f\n\xe0\x03\n\x04\x05\
567    \0\x02\x16\x12\x04\xbf\x03\x02\x1e\x1a\xd1\x03\x20The\x20request\x20is\
568    \x20denied\x20because\x20the\x20provided\x20session\x20cookie\x20is\x20m\
569    issing,\n\x20invalid\x20or\x20failed\x20to\x20decode.\n\n\x20Example\x20\
570    of\x20an\x20ErrorInfo\x20when\x20the\x20request\x20is\x20calling\x20Clou\
571    d\x20Storage\x20service\n\x20with\x20a\x20SID\x20cookie\x20which\x20can'\
572    t\x20be\x20decoded.\n\n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\"SESSION\
573    _COOKIE_INVALID\",\n\x20\x20\x20\x20\x20\x20\x20\"domain\":\x20\"googlea\
574    pis.com\",\n\x20\x20\x20\x20\x20\x20\x20\"metadata\":\x20{\n\x20\x20\x20\
575    \x20\x20\x20\x20\x20\x20\"service\":\x20\"storage.googleapis.com\",\n\
576    \x20\x20\x20\x20\x20\x20\x20\x20\x20\"method\":\x20\"google.storage.v1.S\
577    torage.GetObject\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"cookie\":\x20\
578    \"SID\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\r\n\
579    \x05\x05\0\x02\x16\x01\x12\x04\xbf\x03\x02\x18\n\r\n\x05\x05\0\x02\x16\
580    \x02\x12\x04\xbf\x03\x1b\x1d\n\xb3\x04\n\x04\x05\0\x02\x17\x12\x04\xd0\
581    \x03\x02\x1d\x1a\xa4\x04\x20The\x20request\x20is\x20denied\x20because\
582    \x20the\x20user\x20is\x20from\x20a\x20Google\x20Workspace\x20customer\n\
583    \x20that\x20blocks\x20their\x20users\x20from\x20accessing\x20a\x20partic\
584    ular\x20service.\n\n\x20Example\x20scenario:\x20https://support.google.c\
585    om/a/answer/9197205?hl=en\n\n\x20Example\x20of\x20an\x20ErrorInfo\x20whe\
586    n\x20access\x20to\x20Google\x20Cloud\x20Storage\x20service\x20is\n\x20bl\
587    ocked\x20by\x20the\x20Google\x20Workspace\x20administrator:\n\n\x20\x20\
588    \x20\x20\x20{\x20\"reason\":\x20\"USER_BLOCKED_BY_ADMIN\",\n\x20\x20\x20\
589    \x20\x20\x20\x20\"domain\":\x20\"googleapis.com\",\n\x20\x20\x20\x20\x20\
590    \x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"servic\
591    e\":\x20\"storage.googleapis.com\",\n\x20\x20\x20\x20\x20\x20\x20\x20\
592    \x20\"method\":\x20\"google.storage.v1.Storage.GetObject\",\n\x20\x20\
593    \x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\r\n\x05\x05\0\x02\x17\
594    \x01\x12\x04\xd0\x03\x02\x17\n\r\n\x05\x05\0\x02\x17\x02\x12\x04\xd0\x03\
595    \x1a\x1c\n\xe5\x04\n\x04\x05\0\x02\x18\x12\x04\xe1\x03\x02+\x1a\xd6\x04\
596    \x20The\x20request\x20is\x20denied\x20because\x20the\x20resource\x20serv\
597    ice\x20usage\x20is\x20restricted\n\x20by\x20administrators\x20according\
598    \x20to\x20the\x20organization\x20policy\x20constraint.\n\x20For\x20more\
599    \x20information\x20see\n\x20https://cloud.google.com/resource-manager/do\
600    cs/organization-policy/restricting-services.\n\n\x20Example\x20of\x20an\
601    \x20ErrorInfo\x20when\x20access\x20to\x20Google\x20Cloud\x20Storage\x20s\
602    ervice\x20is\n\x20restricted\x20by\x20Resource\x20Usage\x20Restriction\
603    \x20policy:\n\n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\"RESOURCE_USAGE_\
604    RESTRICTION_VIOLATED\",\n\x20\x20\x20\x20\x20\x20\x20\"domain\":\x20\"go\
605    ogleapis.com\",\n\x20\x20\x20\x20\x20\x20\x20\"metadata\":\x20{\n\x20\
606    \x20\x20\x20\x20\x20\x20\x20\x20\"consumer\":\x20\"projects/project-123\
607    \",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"service\":\x20\"storage.googl\
608    eapis.com\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\r\
609    \n\x05\x05\0\x02\x18\x01\x12\x04\xe1\x03\x02%\n\r\n\x05\x05\0\x02\x18\
610    \x02\x12\x04\xe1\x03(*\n\xae\x04\n\x04\x05\0\x02\x19\x12\x04\xf3\x03\x02\
611    $\x1a\x9f\x04\x20Unimplemented.\x20Do\x20not\x20use.\n\n\x20The\x20reque\
612    st\x20is\x20denied\x20because\x20it\x20contains\x20unsupported\x20system\
613    \x20parameters\x20in\n\x20URL\x20query\x20parameters\x20or\x20HTTP\x20he\
614    aders.\x20For\x20more\x20information,\n\x20see\x20https://cloud.google.c\
615    om/apis/docs/system-parameters\n\n\x20Example\x20of\x20an\x20ErrorInfo\
616    \x20when\x20access\x20\"pubsub.googleapis.com\"\x20service\x20with\n\x20\
617    a\x20request\x20header\x20of\x20\"x-goog-user-ip\":\n\n\x20\x20\x20\x20\
618    \x20{\x20\"reason\":\x20\"SYSTEM_PARAMETER_UNSUPPORTED\",\n\x20\x20\x20\
619    \x20\x20\x20\x20\"domain\":\x20\"googleapis.com\",\n\x20\x20\x20\x20\x20\
620    \x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"servic\
621    e\":\x20\"pubsub.googleapis.com\"\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\
622    \"parameter\":\x20\"x-goog-user-ip\"\n\x20\x20\x20\x20\x20\x20\x20}\n\
623    \x20\x20\x20\x20\x20}\n\n\r\n\x05\x05\0\x02\x19\x01\x12\x04\xf3\x03\x02\
624    \x1e\n\r\n\x05\x05\0\x02\x19\x02\x12\x04\xf3\x03!#\n\xe8\x03\n\x04\x05\0\
625    \x02\x1a\x12\x04\x84\x04\x02!\x1a\xd9\x03\x20The\x20request\x20is\x20den\
626    ied\x20because\x20it\x20violates\x20Org\x20Restriction:\x20the\x20reques\
627    ted\n\x20resource\x20does\x20not\x20belong\x20to\x20allowed\x20organizat\
628    ions\x20specified\x20in\n\x20\"X-Goog-Allowed-Resources\"\x20header.\n\n\
629    \x20Example\x20of\x20an\x20ErrorInfo\x20when\x20accessing\x20a\x20GCP\
630    \x20resource\x20that\x20is\x20restricted\x20by\n\x20Org\x20Restriction\
631    \x20for\x20\"pubsub.googleapis.com\"\x20service.\n\n\x20{\n\x20\x20\x20r\
632    eason:\x20\"ORG_RESTRICTION_VIOLATION\"\n\x20\x20\x20domain:\x20\"google\
633    apis.com\"\n\x20\x20\x20metadata\x20{\n\x20\x20\x20\x20\x20\"consumer\":\
634    \"projects/123456\"\n\x20\x20\x20\x20\x20\"service\":\x20\"pubsub.google\
635    apis.com\"\n\x20\x20\x20}\n\x20}\n\n\r\n\x05\x05\0\x02\x1a\x01\x12\x04\
636    \x84\x04\x02\x1b\n\r\n\x05\x05\0\x02\x1a\x02\x12\x04\x84\x04\x1e\x20\n\
637    \x97\x03\n\x04\x05\0\x02\x1b\x12\x04\x95\x04\x02&\x1a\x88\x03\x20The\x20\
638    request\x20is\x20denied\x20because\x20\"X-Goog-Allowed-Resources\"\x20he\
639    ader\x20is\x20in\x20a\x20bad\n\x20format.\n\n\x20Example\x20of\x20an\x20\
640    ErrorInfo\x20when\n\x20accessing\x20\"pubsub.googleapis.com\"\x20service\
641    \x20with\x20an\x20invalid\n\x20\"X-Goog-Allowed-Resources\"\x20request\
642    \x20header.\n\n\x20{\n\x20\x20\x20reason:\x20\"ORG_RESTRICTION_HEADER_IN\
643    VALID\"\n\x20\x20\x20domain:\x20\"googleapis.com\"\n\x20\x20\x20metadata\
644    \x20{\n\x20\x20\x20\x20\x20\"consumer\":\"projects/123456\"\n\x20\x20\
645    \x20\x20\x20\"service\":\x20\"pubsub.googleapis.com\"\n\x20\x20\x20}\n\
646    \x20}\n\n\r\n\x05\x05\0\x02\x1b\x01\x12\x04\x95\x04\x02\x20\n\r\n\x05\
647    \x05\0\x02\x1b\x02\x12\x04\x95\x04#%\n\xb2\x04\n\x04\x05\0\x02\x1c\x12\
648    \x04\xa8\x04\x02\x1b\x1a\xa3\x04\x20Unimplemented.\x20Do\x20not\x20use.\
649    \n\n\x20The\x20request\x20is\x20calling\x20a\x20service\x20that\x20is\
650    \x20not\x20visible\x20to\x20the\x20consumer.\n\n\x20Example\x20of\x20an\
651    \x20ErrorInfo\x20when\x20the\x20consumer\x20\"projects/123\"\x20contacti\
652    ng\n\x20\x20\"pubsub.googleapis.com\"\x20service\x20which\x20is\x20not\
653    \x20visible\x20to\x20the\x20consumer.\n\n\x20\x20\x20\x20\x20{\x20\"reas\
654    on\":\x20\"SERVICE_NOT_VISIBLE\",\n\x20\x20\x20\x20\x20\x20\x20\"domain\
655    \":\x20\"googleapis.com\",\n\x20\x20\x20\x20\x20\x20\x20\"metadata\":\
656    \x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"consumer\":\x20\"projects/1\
657    23\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\"service\":\x20\"pubsub.goog\
658    leapis.com\"\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\
659    \x20This\x20response\x20indicates\x20the\x20\"pubsub.googleapis.com\"\
660    \x20is\x20not\x20visible\x20to\n\x20\"projects/123\"\x20(or\x20it\x20may\
661    \x20not\x20exist).\n\n\r\n\x05\x05\0\x02\x1c\x01\x12\x04\xa8\x04\x02\x15\
662    \n\r\n\x05\x05\0\x02\x1c\x02\x12\x04\xa8\x04\x18\x1a\n\xea\x03\n\x04\x05\
663    \0\x02\x1d\x12\x04\xb8\x04\x02\x15\x1a\xdb\x03\x20The\x20request\x20is\
664    \x20related\x20to\x20a\x20project\x20for\x20which\x20GCP\x20access\x20is\
665    \x20suspended.\n\n\x20Example\x20of\x20an\x20ErrorInfo\x20when\x20the\
666    \x20consumer\x20\"projects/123\"\x20fails\x20to\x20contact\n\x20\"pubsub\
667    .googleapis.com\"\x20service\x20because\x20GCP\x20access\x20is\x20suspen\
668    ded:\n\n\x20\x20\x20\x20\x20{\x20\"reason\":\x20\"GCP_SUSPENDED\",\n\x20\
669    \x20\x20\x20\x20\x20\x20\"domain\":\x20\"googleapis.com\",\n\x20\x20\x20\
670    \x20\x20\x20\x20\"metadata\":\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\
671    \"consumer\":\x20\"projects/123\",\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\
672    \"service\":\x20\"pubsub.googleapis.com\"\n\x20\x20\x20\x20\x20\x20\x20}\
673    \n\x20\x20\x20\x20\x20}\n\n\x20This\x20response\x20indicates\x20the\x20a\
674    ssociated\x20GCP\x20account\x20has\x20been\x20suspended.\n\n\r\n\x05\x05\
675    \0\x02\x1d\x01\x12\x04\xb8\x04\x02\x0f\n\r\n\x05\x05\0\x02\x1d\x02\x12\
676    \x04\xb8\x04\x12\x14b\x06proto3\
677";
678
679static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
680
681fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
682    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
683}
684
685pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
686    file_descriptor_proto_lazy.get(|| {
687        parse_descriptor_proto()
688    })
689}