@maxim_mazurok/gapi.client.networksecurity-v1 0.0.20220808

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.
package/index.d.ts ADDED
@@ -0,0 +1,1591 @@
1
+ /* Type definitions for non-npm package Network Security API v1 0.0 */
2
+ // Project: https://cloud.google.com/networking
3
+ // Definitions by: Maxim Mazurok <https://github.com/Maxim-Mazurok>
4
+ // Nick Amoscato <https://github.com/namoscato>
5
+ // Declan Vong <https://github.com/declanvong>
6
+ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
7
+ // TypeScript Version: 2.8
8
+
9
+ // IMPORTANT
10
+ // This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually.
11
+ // In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator
12
+ // Generated from: https://networksecurity.googleapis.com/$discovery/rest?version=v1
13
+ // Revision: 20220808
14
+
15
+ /// <reference types="gapi.client" />
16
+
17
+ declare namespace gapi.client {
18
+ /** Load Network Security API v1 */
19
+ function load(urlOrObject: "https://networksecurity.googleapis.com/$discovery/rest?version=v1"): Promise<void>;
20
+ /** @deprecated Please load APIs with discovery documents. */
21
+ function load(name: "networksecurity", version: "v1"): Promise<void>;
22
+ /** @deprecated Please load APIs with discovery documents. */
23
+ function load(name: "networksecurity", version: "v1", callback: () => any): void;
24
+
25
+ namespace networksecurity {
26
+ interface AuthorizationPolicy {
27
+ /** Required. The action to take when a rule match is found. Possible values are "ALLOW" or "DENY". */
28
+ action?: string;
29
+ /** Output only. The timestamp when the resource was created. */
30
+ createTime?: string;
31
+ /** Optional. Free-text description of the resource. */
32
+ description?: string;
33
+ /** Optional. Set of label tags associated with the AuthorizationPolicy resource. */
34
+ labels?: { [P in string]: string };
35
+ /** Required. Name of the AuthorizationPolicy resource. It matches pattern `projects/{project}/locations/{location}/authorizationPolicies/`. */
36
+ name?: string;
37
+ /**
38
+ * Optional. List of rules to match. Note that at least one of the rules must match in order for the action specified in the 'action' field to be taken. A rule is a match if there is a
39
+ * matching source and destination. If left blank, the action specified in the `action` field will be applied on every request.
40
+ */
41
+ rules?: Rule[];
42
+ /** Output only. The timestamp when the resource was updated. */
43
+ updateTime?: string;
44
+ }
45
+ // tslint:disable-next-line:no-empty-interface
46
+ interface CancelOperationRequest {
47
+ }
48
+ interface CertificateProviderInstance {
49
+ /**
50
+ * Required. Plugin instance name, used to locate and load CertificateProvider instance configuration. Set to "google_cloud_private_spiffe" to use Certificate Authority Service
51
+ * certificate provider instance.
52
+ */
53
+ pluginInstance?: string;
54
+ }
55
+ interface ClientTlsPolicy {
56
+ /** Optional. Defines a mechanism to provision client identity (public and private keys) for peer to peer authentication. The presence of this dictates mTLS. */
57
+ clientCertificate?: GoogleCloudNetworksecurityV1CertificateProvider;
58
+ /** Output only. The timestamp when the resource was created. */
59
+ createTime?: string;
60
+ /** Optional. Free-text description of the resource. */
61
+ description?: string;
62
+ /** Optional. Set of label tags associated with the resource. */
63
+ labels?: { [P in string]: string };
64
+ /** Required. Name of the ClientTlsPolicy resource. It matches the pattern `projects/*‍/locations/{location}/clientTlsPolicies/{client_tls_policy}` */
65
+ name?: string;
66
+ /** Optional. Defines the mechanism to obtain the Certificate Authority certificate to validate the server certificate. If empty, client does not validate the server certificate. */
67
+ serverValidationCa?: ValidationCA[];
68
+ /** Optional. Server Name Indication string to present to the server during TLS handshake. E.g: "secure.example.com". */
69
+ sni?: string;
70
+ /** Output only. The timestamp when the resource was updated. */
71
+ updateTime?: string;
72
+ }
73
+ interface Destination {
74
+ /**
75
+ * Required. List of host names to match. Matched against the ":authority" header in http requests. At least one host should match. Each host can be an exact match, or a prefix match
76
+ * (example "mydomain.*") or a suffix match (example "*.myorg.com") or a presence (any) match "*".
77
+ */
78
+ hosts?: string[];
79
+ /**
80
+ * Optional. Match against key:value pair in http header. Provides a flexible match based on HTTP headers, for potentially advanced use cases. At least one header should match. Avoid
81
+ * using header matches to make authorization decisions unless there is a strong guarantee that requests arrive through a trusted client or proxy.
82
+ */
83
+ httpHeaderMatch?: HttpHeaderMatch;
84
+ /** Optional. A list of HTTP methods to match. At least one method should match. Should not be set for gRPC services. */
85
+ methods?: string[];
86
+ /** Required. List of destination ports to match. At least one port should match. */
87
+ ports?: number[];
88
+ }
89
+ // tslint:disable-next-line:no-empty-interface
90
+ interface Empty {
91
+ }
92
+ interface Expr {
93
+ /** Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. */
94
+ description?: string;
95
+ /** Textual representation of an expression in Common Expression Language syntax. */
96
+ expression?: string;
97
+ /** Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. */
98
+ location?: string;
99
+ /** Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. */
100
+ title?: string;
101
+ }
102
+ interface GoogleCloudNetworksecurityV1CertificateProvider {
103
+ /** The certificate provider instance specification that will be passed to the data plane, which will be used to load necessary credential information. */
104
+ certificateProviderInstance?: CertificateProviderInstance;
105
+ /** gRPC specific configuration to access the gRPC server to obtain the cert and private key. */
106
+ grpcEndpoint?: GoogleCloudNetworksecurityV1GrpcEndpoint;
107
+ }
108
+ interface GoogleCloudNetworksecurityV1GrpcEndpoint {
109
+ /** Required. The target URI of the gRPC endpoint. Only UDS path is supported, and should start with "unix:". */
110
+ targetUri?: string;
111
+ }
112
+ interface GoogleIamV1AuditConfig {
113
+ /** The configuration for logging of each type of permission. */
114
+ auditLogConfigs?: GoogleIamV1AuditLogConfig[];
115
+ /**
116
+ * Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all
117
+ * services.
118
+ */
119
+ service?: string;
120
+ }
121
+ interface GoogleIamV1AuditLogConfig {
122
+ /** Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. */
123
+ exemptedMembers?: string[];
124
+ /** The log type that this config enables. */
125
+ logType?: string;
126
+ }
127
+ interface GoogleIamV1Binding {
128
+ /**
129
+ * The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`,
130
+ * then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which
131
+ * resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
132
+ */
133
+ condition?: Expr;
134
+ /**
135
+ * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on
136
+ * the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service
137
+ * account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that
138
+ * represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier
139
+ * for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example,
140
+ * `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. *
141
+ * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example,
142
+ * `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. *
143
+ * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example,
144
+ * `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service
145
+ * account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently
146
+ * deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in
147
+ * the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
148
+ */
149
+ members?: string[];
150
+ /** Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. */
151
+ role?: string;
152
+ }
153
+ interface GoogleIamV1Policy {
154
+ /** Specifies cloud audit logging configuration for this policy. */
155
+ auditConfigs?: GoogleIamV1AuditConfig[];
156
+ /**
157
+ * Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings`
158
+ * must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a
159
+ * principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another
160
+ * 1,450 principals to the `bindings` in the `Policy`.
161
+ */
162
+ bindings?: GoogleIamV1Binding[];
163
+ /**
164
+ * `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make
165
+ * use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems
166
+ * are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM
167
+ * Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1`
168
+ * policy, and all of the conditions in the version `3` policy are lost.
169
+ */
170
+ etag?: string;
171
+ /**
172
+ * Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings
173
+ * must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a
174
+ * policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use
175
+ * IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1`
176
+ * policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave
177
+ * the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
178
+ */
179
+ version?: number;
180
+ }
181
+ interface GoogleIamV1SetIamPolicyRequest {
182
+ /**
183
+ * REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud
184
+ * services (such as Projects) might reject them.
185
+ */
186
+ policy?: GoogleIamV1Policy;
187
+ /**
188
+ * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used:
189
+ * `paths: "bindings, etag"`
190
+ */
191
+ updateMask?: string;
192
+ }
193
+ interface GoogleIamV1TestIamPermissionsRequest {
194
+ /**
195
+ * The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM
196
+ * Overview](https://cloud.google.com/iam/docs/overview#permissions).
197
+ */
198
+ permissions?: string[];
199
+ }
200
+ interface GoogleIamV1TestIamPermissionsResponse {
201
+ /** A subset of `TestPermissionsRequest.permissions` that the caller is allowed. */
202
+ permissions?: string[];
203
+ }
204
+ interface HttpHeaderMatch {
205
+ /**
206
+ * Required. The name of the HTTP header to match. For matching against the HTTP request's authority, use a headerMatch with the header name ":authority". For matching a request's
207
+ * method, use the headerName ":method".
208
+ */
209
+ headerName?: string;
210
+ /**
211
+ * Required. The value of the header must match the regular expression specified in regexMatch. For regular expression grammar, please see: en.cppreference.com/w/cpp/regex/ecmascript
212
+ * For matching against a port specified in the HTTP request, use a headerMatch with headerName set to Host and a regular expression that satisfies the RFC2616 Host header's port
213
+ * specifier.
214
+ */
215
+ regexMatch?: string;
216
+ }
217
+ interface ListAuthorizationPoliciesResponse {
218
+ /** List of AuthorizationPolicies resources. */
219
+ authorizationPolicies?: AuthorizationPolicy[];
220
+ /**
221
+ * If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of
222
+ * `next_page_token` as `page_token`.
223
+ */
224
+ nextPageToken?: string;
225
+ }
226
+ interface ListClientTlsPoliciesResponse {
227
+ /** List of ClientTlsPolicy resources. */
228
+ clientTlsPolicies?: ClientTlsPolicy[];
229
+ /**
230
+ * If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of
231
+ * `next_page_token` as `page_token`.
232
+ */
233
+ nextPageToken?: string;
234
+ }
235
+ interface ListLocationsResponse {
236
+ /** A list of locations that matches the specified filter in the request. */
237
+ locations?: Location[];
238
+ /** The standard List next-page token. */
239
+ nextPageToken?: string;
240
+ }
241
+ interface ListOperationsResponse {
242
+ /** The standard List next-page token. */
243
+ nextPageToken?: string;
244
+ /** A list of operations that matches the specified filter in the request. */
245
+ operations?: Operation[];
246
+ }
247
+ interface ListServerTlsPoliciesResponse {
248
+ /**
249
+ * If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of
250
+ * `next_page_token` as `page_token`.
251
+ */
252
+ nextPageToken?: string;
253
+ /** List of ServerTlsPolicy resources. */
254
+ serverTlsPolicies?: ServerTlsPolicy[];
255
+ }
256
+ interface Location {
257
+ /** The friendly name for this location, typically a nearby city name. For example, "Tokyo". */
258
+ displayName?: string;
259
+ /** Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} */
260
+ labels?: { [P in string]: string };
261
+ /** The canonical id for this location. For example: `"us-east1"`. */
262
+ locationId?: string;
263
+ /** Service-specific metadata. For example the available capacity at the given location. */
264
+ metadata?: { [P in string]: any };
265
+ /** Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` */
266
+ name?: string;
267
+ }
268
+ interface MTLSPolicy {
269
+ /** Defines the mechanism to obtain the Certificate Authority certificate to validate the client certificate. */
270
+ clientValidationCa?: ValidationCA[];
271
+ }
272
+ interface Operation {
273
+ /** If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. */
274
+ done?: boolean;
275
+ /** The error result of the operation in case of failure or cancellation. */
276
+ error?: Status;
277
+ /**
278
+ * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such
279
+ * metadata. Any method that returns a long-running operation should document the metadata type, if any.
280
+ */
281
+ metadata?: { [P in string]: any };
282
+ /**
283
+ * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending
284
+ * with `operations/{unique_id}`.
285
+ */
286
+ name?: string;
287
+ /**
288
+ * The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the
289
+ * original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the
290
+ * original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
291
+ */
292
+ response?: { [P in string]: any };
293
+ }
294
+ interface OperationMetadata {
295
+ /** Output only. API version used to start the operation. */
296
+ apiVersion?: string;
297
+ /** Output only. The time the operation was created. */
298
+ createTime?: string;
299
+ /** Output only. The time the operation finished running. */
300
+ endTime?: string;
301
+ /**
302
+ * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a
303
+ * google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
304
+ */
305
+ requestedCancellation?: boolean;
306
+ /** Output only. Human-readable status of the operation, if any. */
307
+ statusMessage?: string;
308
+ /** Output only. Server-defined resource path for the target of the operation. */
309
+ target?: string;
310
+ /** Output only. Name of the verb executed by the operation. */
311
+ verb?: string;
312
+ }
313
+ interface Rule {
314
+ /**
315
+ * Optional. List of attributes for the traffic destination. All of the destinations must match. A destination is a match if a request matches all the specified hosts, ports, methods
316
+ * and headers. If not set, the action specified in the 'action' field will be applied without any rule checks for the destination.
317
+ */
318
+ destinations?: Destination[];
319
+ /**
320
+ * Optional. List of attributes for the traffic source. All of the sources must match. A source is a match if both principals and ip_blocks match. If not set, the action specified in
321
+ * the 'action' field will be applied without any rule checks for the source.
322
+ */
323
+ sources?: Source[];
324
+ }
325
+ interface ServerTlsPolicy {
326
+ /**
327
+ * Determines if server allows plaintext connections. If set to true, server allows plain text connections. By default, it is set to false. This setting is not exclusive of other
328
+ * encryption modes. For example, if `allow_open` and `mtls_policy` are set, server allows both plain text and mTLS connections. See documentation of other encryption modes to confirm
329
+ * compatibility. Consider using it if you wish to upgrade in place your deployment to TLS while having mixed TLS and non-TLS traffic reaching port :80.
330
+ */
331
+ allowOpen?: boolean;
332
+ /** Output only. The timestamp when the resource was created. */
333
+ createTime?: string;
334
+ /** Free-text description of the resource. */
335
+ description?: string;
336
+ /** Set of label tags associated with the resource. */
337
+ labels?: { [P in string]: string };
338
+ /**
339
+ * Defines a mechanism to provision peer validation certificates for peer to peer authentication (Mutual TLS - mTLS). If not specified, client certificate will not be requested. The
340
+ * connection is treated as TLS and not mTLS. If `allow_open` and `mtls_policy` are set, server allows both plain text and mTLS connections.
341
+ */
342
+ mtlsPolicy?: MTLSPolicy;
343
+ /** Required. Name of the ServerTlsPolicy resource. It matches the pattern `projects/*‍/locations/{location}/serverTlsPolicies/{server_tls_policy}` */
344
+ name?: string;
345
+ /**
346
+ * Defines a mechanism to provision server identity (public and private keys). Cannot be combined with `allow_open` as a permissive mode that allows both plain text and TLS is not
347
+ * supported.
348
+ */
349
+ serverCertificate?: GoogleCloudNetworksecurityV1CertificateProvider;
350
+ /** Output only. The timestamp when the resource was updated. */
351
+ updateTime?: string;
352
+ }
353
+ interface Source {
354
+ /**
355
+ * Optional. List of CIDR ranges to match based on source IP address. At least one IP block should match. Single IP (e.g., "1.2.3.4") and CIDR (e.g., "1.2.3.0/24") are supported.
356
+ * Authorization based on source IP alone should be avoided. The IP addresses of any load balancers or proxies should be considered untrusted.
357
+ */
358
+ ipBlocks?: string[];
359
+ /**
360
+ * Optional. List of peer identities to match for authorization. At least one principal should match. Each peer can be an exact match, or a prefix match (example, "namespace/*") or a
361
+ * suffix match (example, "*‍/service-account") or a presence match "*". Authorization based on the principal name without certificate validation (configured by ServerTlsPolicy
362
+ * resource) is considered insecure.
363
+ */
364
+ principals?: string[];
365
+ }
366
+ interface Status {
367
+ /** The status code, which should be an enum value of google.rpc.Code. */
368
+ code?: number;
369
+ /** A list of messages that carry the error details. There is a common set of message types for APIs to use. */
370
+ details?: Array<{ [P in string]: any }>;
371
+ /**
372
+ * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the
373
+ * client.
374
+ */
375
+ message?: string;
376
+ }
377
+ interface ValidationCA {
378
+ /** The certificate provider instance specification that will be passed to the data plane, which will be used to load necessary credential information. */
379
+ certificateProviderInstance?: CertificateProviderInstance;
380
+ /** gRPC specific configuration to access the gRPC server to obtain the CA certificate. */
381
+ grpcEndpoint?: GoogleCloudNetworksecurityV1GrpcEndpoint;
382
+ }
383
+ interface AuthorizationPoliciesResource {
384
+ /** Creates a new AuthorizationPolicy in a given project and location. */
385
+ create(request: {
386
+ /** V1 error format. */
387
+ "$.xgafv"?: string;
388
+ /** OAuth access token. */
389
+ access_token?: string;
390
+ /** Data format for response. */
391
+ alt?: string;
392
+ /**
393
+ * Required. Short name of the AuthorizationPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores,
394
+ * and should not start with a number. E.g. "authz_policy".
395
+ */
396
+ authorizationPolicyId?: string;
397
+ /** JSONP */
398
+ callback?: string;
399
+ /** Selector specifying which fields to include in a partial response. */
400
+ fields?: string;
401
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
402
+ key?: string;
403
+ /** OAuth 2.0 token for the current user. */
404
+ oauth_token?: string;
405
+ /** Required. The parent resource of the AuthorizationPolicy. Must be in the format `projects/{project}/locations/{location}`. */
406
+ parent: string;
407
+ /** Returns response with indentations and line breaks. */
408
+ prettyPrint?: boolean;
409
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
410
+ quotaUser?: string;
411
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
412
+ upload_protocol?: string;
413
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
414
+ uploadType?: string;
415
+ /** Request body */
416
+ resource: AuthorizationPolicy;
417
+ }): Request<Operation>;
418
+ create(request: {
419
+ /** V1 error format. */
420
+ "$.xgafv"?: string;
421
+ /** OAuth access token. */
422
+ access_token?: string;
423
+ /** Data format for response. */
424
+ alt?: string;
425
+ /**
426
+ * Required. Short name of the AuthorizationPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores,
427
+ * and should not start with a number. E.g. "authz_policy".
428
+ */
429
+ authorizationPolicyId?: string;
430
+ /** JSONP */
431
+ callback?: string;
432
+ /** Selector specifying which fields to include in a partial response. */
433
+ fields?: string;
434
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
435
+ key?: string;
436
+ /** OAuth 2.0 token for the current user. */
437
+ oauth_token?: string;
438
+ /** Required. The parent resource of the AuthorizationPolicy. Must be in the format `projects/{project}/locations/{location}`. */
439
+ parent: string;
440
+ /** Returns response with indentations and line breaks. */
441
+ prettyPrint?: boolean;
442
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
443
+ quotaUser?: string;
444
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
445
+ upload_protocol?: string;
446
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
447
+ uploadType?: string;
448
+ },
449
+ body: AuthorizationPolicy): Request<Operation>;
450
+ /** Deletes a single AuthorizationPolicy. */
451
+ delete(request?: {
452
+ /** V1 error format. */
453
+ "$.xgafv"?: string;
454
+ /** OAuth access token. */
455
+ access_token?: string;
456
+ /** Data format for response. */
457
+ alt?: string;
458
+ /** JSONP */
459
+ callback?: string;
460
+ /** Selector specifying which fields to include in a partial response. */
461
+ fields?: string;
462
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
463
+ key?: string;
464
+ /** Required. A name of the AuthorizationPolicy to delete. Must be in the format `projects/{project}/locations/{location}/authorizationPolicies/*`. */
465
+ name: string;
466
+ /** OAuth 2.0 token for the current user. */
467
+ oauth_token?: string;
468
+ /** Returns response with indentations and line breaks. */
469
+ prettyPrint?: boolean;
470
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
471
+ quotaUser?: string;
472
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
473
+ upload_protocol?: string;
474
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
475
+ uploadType?: string;
476
+ }): Request<Operation>;
477
+ /** Gets details of a single AuthorizationPolicy. */
478
+ get(request?: {
479
+ /** V1 error format. */
480
+ "$.xgafv"?: string;
481
+ /** OAuth access token. */
482
+ access_token?: string;
483
+ /** Data format for response. */
484
+ alt?: string;
485
+ /** JSONP */
486
+ callback?: string;
487
+ /** Selector specifying which fields to include in a partial response. */
488
+ fields?: string;
489
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
490
+ key?: string;
491
+ /** Required. A name of the AuthorizationPolicy to get. Must be in the format `projects/{project}/locations/{location}/authorizationPolicies/*`. */
492
+ name: string;
493
+ /** OAuth 2.0 token for the current user. */
494
+ oauth_token?: string;
495
+ /** Returns response with indentations and line breaks. */
496
+ prettyPrint?: boolean;
497
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
498
+ quotaUser?: string;
499
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
500
+ upload_protocol?: string;
501
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
502
+ uploadType?: string;
503
+ }): Request<AuthorizationPolicy>;
504
+ /** Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. */
505
+ getIamPolicy(request?: {
506
+ /** V1 error format. */
507
+ "$.xgafv"?: string;
508
+ /** OAuth access token. */
509
+ access_token?: string;
510
+ /** Data format for response. */
511
+ alt?: string;
512
+ /** JSONP */
513
+ callback?: string;
514
+ /** Selector specifying which fields to include in a partial response. */
515
+ fields?: string;
516
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
517
+ key?: string;
518
+ /** OAuth 2.0 token for the current user. */
519
+ oauth_token?: string;
520
+ /**
521
+ * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for
522
+ * policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy
523
+ * in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional
524
+ * role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM
525
+ * documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
526
+ */
527
+ "options.requestedPolicyVersion"?: number;
528
+ /** Returns response with indentations and line breaks. */
529
+ prettyPrint?: boolean;
530
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
531
+ quotaUser?: string;
532
+ /**
533
+ * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this
534
+ * field.
535
+ */
536
+ resource: string;
537
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
538
+ upload_protocol?: string;
539
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
540
+ uploadType?: string;
541
+ }): Request<GoogleIamV1Policy>;
542
+ /** Lists AuthorizationPolicies in a given project and location. */
543
+ list(request?: {
544
+ /** V1 error format. */
545
+ "$.xgafv"?: string;
546
+ /** OAuth access token. */
547
+ access_token?: string;
548
+ /** Data format for response. */
549
+ alt?: string;
550
+ /** JSONP */
551
+ callback?: string;
552
+ /** Selector specifying which fields to include in a partial response. */
553
+ fields?: string;
554
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
555
+ key?: string;
556
+ /** OAuth 2.0 token for the current user. */
557
+ oauth_token?: string;
558
+ /** Maximum number of AuthorizationPolicies to return per call. */
559
+ pageSize?: number;
560
+ /**
561
+ * The value returned by the last `ListAuthorizationPoliciesResponse` Indicates that this is a continuation of a prior `ListAuthorizationPolicies` call, and that the system should
562
+ * return the next page of data.
563
+ */
564
+ pageToken?: string;
565
+ /** Required. The project and location from which the AuthorizationPolicies should be listed, specified in the format `projects/{project}/locations/{location}`. */
566
+ parent: string;
567
+ /** Returns response with indentations and line breaks. */
568
+ prettyPrint?: boolean;
569
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
570
+ quotaUser?: string;
571
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
572
+ upload_protocol?: string;
573
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
574
+ uploadType?: string;
575
+ }): Request<ListAuthorizationPoliciesResponse>;
576
+ /** Updates the parameters of a single AuthorizationPolicy. */
577
+ patch(request: {
578
+ /** V1 error format. */
579
+ "$.xgafv"?: string;
580
+ /** OAuth access token. */
581
+ access_token?: string;
582
+ /** Data format for response. */
583
+ alt?: string;
584
+ /** JSONP */
585
+ callback?: string;
586
+ /** Selector specifying which fields to include in a partial response. */
587
+ fields?: string;
588
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
589
+ key?: string;
590
+ /** Required. Name of the AuthorizationPolicy resource. It matches pattern `projects/{project}/locations/{location}/authorizationPolicies/`. */
591
+ name: string;
592
+ /** OAuth 2.0 token for the current user. */
593
+ oauth_token?: string;
594
+ /** Returns response with indentations and line breaks. */
595
+ prettyPrint?: boolean;
596
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
597
+ quotaUser?: string;
598
+ /**
599
+ * Optional. Field mask is used to specify the fields to be overwritten in the AuthorizationPolicy resource by the update. The fields specified in the update_mask are relative to
600
+ * the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
601
+ */
602
+ updateMask?: string;
603
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
604
+ upload_protocol?: string;
605
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
606
+ uploadType?: string;
607
+ /** Request body */
608
+ resource: AuthorizationPolicy;
609
+ }): Request<Operation>;
610
+ patch(request: {
611
+ /** V1 error format. */
612
+ "$.xgafv"?: string;
613
+ /** OAuth access token. */
614
+ access_token?: string;
615
+ /** Data format for response. */
616
+ alt?: string;
617
+ /** JSONP */
618
+ callback?: string;
619
+ /** Selector specifying which fields to include in a partial response. */
620
+ fields?: string;
621
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
622
+ key?: string;
623
+ /** Required. Name of the AuthorizationPolicy resource. It matches pattern `projects/{project}/locations/{location}/authorizationPolicies/`. */
624
+ name: string;
625
+ /** OAuth 2.0 token for the current user. */
626
+ oauth_token?: string;
627
+ /** Returns response with indentations and line breaks. */
628
+ prettyPrint?: boolean;
629
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
630
+ quotaUser?: string;
631
+ /**
632
+ * Optional. Field mask is used to specify the fields to be overwritten in the AuthorizationPolicy resource by the update. The fields specified in the update_mask are relative to
633
+ * the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
634
+ */
635
+ updateMask?: string;
636
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
637
+ upload_protocol?: string;
638
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
639
+ uploadType?: string;
640
+ },
641
+ body: AuthorizationPolicy): Request<Operation>;
642
+ /** Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. */
643
+ setIamPolicy(request: {
644
+ /** V1 error format. */
645
+ "$.xgafv"?: string;
646
+ /** OAuth access token. */
647
+ access_token?: string;
648
+ /** Data format for response. */
649
+ alt?: string;
650
+ /** JSONP */
651
+ callback?: string;
652
+ /** Selector specifying which fields to include in a partial response. */
653
+ fields?: string;
654
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
655
+ key?: string;
656
+ /** OAuth 2.0 token for the current user. */
657
+ oauth_token?: string;
658
+ /** Returns response with indentations and line breaks. */
659
+ prettyPrint?: boolean;
660
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
661
+ quotaUser?: string;
662
+ /**
663
+ * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this
664
+ * field.
665
+ */
666
+ resource: string;
667
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
668
+ upload_protocol?: string;
669
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
670
+ uploadType?: string;
671
+ },
672
+ body: GoogleIamV1SetIamPolicyRequest): Request<GoogleIamV1Policy>;
673
+ /**
674
+ * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This
675
+ * operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.
676
+ */
677
+ testIamPermissions(request: {
678
+ /** V1 error format. */
679
+ "$.xgafv"?: string;
680
+ /** OAuth access token. */
681
+ access_token?: string;
682
+ /** Data format for response. */
683
+ alt?: string;
684
+ /** JSONP */
685
+ callback?: string;
686
+ /** Selector specifying which fields to include in a partial response. */
687
+ fields?: string;
688
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
689
+ key?: string;
690
+ /** OAuth 2.0 token for the current user. */
691
+ oauth_token?: string;
692
+ /** Returns response with indentations and line breaks. */
693
+ prettyPrint?: boolean;
694
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
695
+ quotaUser?: string;
696
+ /**
697
+ * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for
698
+ * this field.
699
+ */
700
+ resource: string;
701
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
702
+ upload_protocol?: string;
703
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
704
+ uploadType?: string;
705
+ },
706
+ body: GoogleIamV1TestIamPermissionsRequest): Request<GoogleIamV1TestIamPermissionsResponse>;
707
+ }
708
+ interface ClientTlsPoliciesResource {
709
+ /** Creates a new ClientTlsPolicy in a given project and location. */
710
+ create(request: {
711
+ /** V1 error format. */
712
+ "$.xgafv"?: string;
713
+ /** OAuth access token. */
714
+ access_token?: string;
715
+ /** Data format for response. */
716
+ alt?: string;
717
+ /** JSONP */
718
+ callback?: string;
719
+ /**
720
+ * Required. Short name of the ClientTlsPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and
721
+ * should not start with a number. E.g. "client_mtls_policy".
722
+ */
723
+ clientTlsPolicyId?: string;
724
+ /** Selector specifying which fields to include in a partial response. */
725
+ fields?: string;
726
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
727
+ key?: string;
728
+ /** OAuth 2.0 token for the current user. */
729
+ oauth_token?: string;
730
+ /** Required. The parent resource of the ClientTlsPolicy. Must be in the format `projects/*‍/locations/{location}`. */
731
+ parent: string;
732
+ /** Returns response with indentations and line breaks. */
733
+ prettyPrint?: boolean;
734
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
735
+ quotaUser?: string;
736
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
737
+ upload_protocol?: string;
738
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
739
+ uploadType?: string;
740
+ /** Request body */
741
+ resource: ClientTlsPolicy;
742
+ }): Request<Operation>;
743
+ create(request: {
744
+ /** V1 error format. */
745
+ "$.xgafv"?: string;
746
+ /** OAuth access token. */
747
+ access_token?: string;
748
+ /** Data format for response. */
749
+ alt?: string;
750
+ /** JSONP */
751
+ callback?: string;
752
+ /**
753
+ * Required. Short name of the ClientTlsPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and
754
+ * should not start with a number. E.g. "client_mtls_policy".
755
+ */
756
+ clientTlsPolicyId?: string;
757
+ /** Selector specifying which fields to include in a partial response. */
758
+ fields?: string;
759
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
760
+ key?: string;
761
+ /** OAuth 2.0 token for the current user. */
762
+ oauth_token?: string;
763
+ /** Required. The parent resource of the ClientTlsPolicy. Must be in the format `projects/*‍/locations/{location}`. */
764
+ parent: string;
765
+ /** Returns response with indentations and line breaks. */
766
+ prettyPrint?: boolean;
767
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
768
+ quotaUser?: string;
769
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
770
+ upload_protocol?: string;
771
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
772
+ uploadType?: string;
773
+ },
774
+ body: ClientTlsPolicy): Request<Operation>;
775
+ /** Deletes a single ClientTlsPolicy. */
776
+ delete(request?: {
777
+ /** V1 error format. */
778
+ "$.xgafv"?: string;
779
+ /** OAuth access token. */
780
+ access_token?: string;
781
+ /** Data format for response. */
782
+ alt?: string;
783
+ /** JSONP */
784
+ callback?: string;
785
+ /** Selector specifying which fields to include in a partial response. */
786
+ fields?: string;
787
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
788
+ key?: string;
789
+ /** Required. A name of the ClientTlsPolicy to delete. Must be in the format `projects/*‍/locations/{location}/clientTlsPolicies/*`. */
790
+ name: string;
791
+ /** OAuth 2.0 token for the current user. */
792
+ oauth_token?: string;
793
+ /** Returns response with indentations and line breaks. */
794
+ prettyPrint?: boolean;
795
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
796
+ quotaUser?: string;
797
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
798
+ upload_protocol?: string;
799
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
800
+ uploadType?: string;
801
+ }): Request<Operation>;
802
+ /** Gets details of a single ClientTlsPolicy. */
803
+ get(request?: {
804
+ /** V1 error format. */
805
+ "$.xgafv"?: string;
806
+ /** OAuth access token. */
807
+ access_token?: string;
808
+ /** Data format for response. */
809
+ alt?: string;
810
+ /** JSONP */
811
+ callback?: string;
812
+ /** Selector specifying which fields to include in a partial response. */
813
+ fields?: string;
814
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
815
+ key?: string;
816
+ /** Required. A name of the ClientTlsPolicy to get. Must be in the format `projects/*‍/locations/{location}/clientTlsPolicies/*`. */
817
+ name: string;
818
+ /** OAuth 2.0 token for the current user. */
819
+ oauth_token?: string;
820
+ /** Returns response with indentations and line breaks. */
821
+ prettyPrint?: boolean;
822
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
823
+ quotaUser?: string;
824
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
825
+ upload_protocol?: string;
826
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
827
+ uploadType?: string;
828
+ }): Request<ClientTlsPolicy>;
829
+ /** Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. */
830
+ getIamPolicy(request?: {
831
+ /** V1 error format. */
832
+ "$.xgafv"?: string;
833
+ /** OAuth access token. */
834
+ access_token?: string;
835
+ /** Data format for response. */
836
+ alt?: string;
837
+ /** JSONP */
838
+ callback?: string;
839
+ /** Selector specifying which fields to include in a partial response. */
840
+ fields?: string;
841
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
842
+ key?: string;
843
+ /** OAuth 2.0 token for the current user. */
844
+ oauth_token?: string;
845
+ /**
846
+ * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for
847
+ * policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy
848
+ * in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional
849
+ * role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM
850
+ * documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
851
+ */
852
+ "options.requestedPolicyVersion"?: number;
853
+ /** Returns response with indentations and line breaks. */
854
+ prettyPrint?: boolean;
855
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
856
+ quotaUser?: string;
857
+ /**
858
+ * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this
859
+ * field.
860
+ */
861
+ resource: string;
862
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
863
+ upload_protocol?: string;
864
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
865
+ uploadType?: string;
866
+ }): Request<GoogleIamV1Policy>;
867
+ /** Lists ClientTlsPolicies in a given project and location. */
868
+ list(request?: {
869
+ /** V1 error format. */
870
+ "$.xgafv"?: string;
871
+ /** OAuth access token. */
872
+ access_token?: string;
873
+ /** Data format for response. */
874
+ alt?: string;
875
+ /** JSONP */
876
+ callback?: string;
877
+ /** Selector specifying which fields to include in a partial response. */
878
+ fields?: string;
879
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
880
+ key?: string;
881
+ /** OAuth 2.0 token for the current user. */
882
+ oauth_token?: string;
883
+ /** Maximum number of ClientTlsPolicies to return per call. */
884
+ pageSize?: number;
885
+ /**
886
+ * The value returned by the last `ListClientTlsPoliciesResponse` Indicates that this is a continuation of a prior `ListClientTlsPolicies` call, and that the system should return
887
+ * the next page of data.
888
+ */
889
+ pageToken?: string;
890
+ /** Required. The project and location from which the ClientTlsPolicies should be listed, specified in the format `projects/*‍/locations/{location}`. */
891
+ parent: string;
892
+ /** Returns response with indentations and line breaks. */
893
+ prettyPrint?: boolean;
894
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
895
+ quotaUser?: string;
896
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
897
+ upload_protocol?: string;
898
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
899
+ uploadType?: string;
900
+ }): Request<ListClientTlsPoliciesResponse>;
901
+ /** Updates the parameters of a single ClientTlsPolicy. */
902
+ patch(request: {
903
+ /** V1 error format. */
904
+ "$.xgafv"?: string;
905
+ /** OAuth access token. */
906
+ access_token?: string;
907
+ /** Data format for response. */
908
+ alt?: string;
909
+ /** JSONP */
910
+ callback?: string;
911
+ /** Selector specifying which fields to include in a partial response. */
912
+ fields?: string;
913
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
914
+ key?: string;
915
+ /** Required. Name of the ClientTlsPolicy resource. It matches the pattern `projects/*‍/locations/{location}/clientTlsPolicies/{client_tls_policy}` */
916
+ name: string;
917
+ /** OAuth 2.0 token for the current user. */
918
+ oauth_token?: string;
919
+ /** Returns response with indentations and line breaks. */
920
+ prettyPrint?: boolean;
921
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
922
+ quotaUser?: string;
923
+ /**
924
+ * Optional. Field mask is used to specify the fields to be overwritten in the ClientTlsPolicy resource by the update. The fields specified in the update_mask are relative to the
925
+ * resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
926
+ */
927
+ updateMask?: string;
928
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
929
+ upload_protocol?: string;
930
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
931
+ uploadType?: string;
932
+ /** Request body */
933
+ resource: ClientTlsPolicy;
934
+ }): Request<Operation>;
935
+ patch(request: {
936
+ /** V1 error format. */
937
+ "$.xgafv"?: string;
938
+ /** OAuth access token. */
939
+ access_token?: string;
940
+ /** Data format for response. */
941
+ alt?: string;
942
+ /** JSONP */
943
+ callback?: string;
944
+ /** Selector specifying which fields to include in a partial response. */
945
+ fields?: string;
946
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
947
+ key?: string;
948
+ /** Required. Name of the ClientTlsPolicy resource. It matches the pattern `projects/*‍/locations/{location}/clientTlsPolicies/{client_tls_policy}` */
949
+ name: string;
950
+ /** OAuth 2.0 token for the current user. */
951
+ oauth_token?: string;
952
+ /** Returns response with indentations and line breaks. */
953
+ prettyPrint?: boolean;
954
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
955
+ quotaUser?: string;
956
+ /**
957
+ * Optional. Field mask is used to specify the fields to be overwritten in the ClientTlsPolicy resource by the update. The fields specified in the update_mask are relative to the
958
+ * resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
959
+ */
960
+ updateMask?: string;
961
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
962
+ upload_protocol?: string;
963
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
964
+ uploadType?: string;
965
+ },
966
+ body: ClientTlsPolicy): Request<Operation>;
967
+ /** Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. */
968
+ setIamPolicy(request: {
969
+ /** V1 error format. */
970
+ "$.xgafv"?: string;
971
+ /** OAuth access token. */
972
+ access_token?: string;
973
+ /** Data format for response. */
974
+ alt?: string;
975
+ /** JSONP */
976
+ callback?: string;
977
+ /** Selector specifying which fields to include in a partial response. */
978
+ fields?: string;
979
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
980
+ key?: string;
981
+ /** OAuth 2.0 token for the current user. */
982
+ oauth_token?: string;
983
+ /** Returns response with indentations and line breaks. */
984
+ prettyPrint?: boolean;
985
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
986
+ quotaUser?: string;
987
+ /**
988
+ * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this
989
+ * field.
990
+ */
991
+ resource: string;
992
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
993
+ upload_protocol?: string;
994
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
995
+ uploadType?: string;
996
+ },
997
+ body: GoogleIamV1SetIamPolicyRequest): Request<GoogleIamV1Policy>;
998
+ /**
999
+ * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This
1000
+ * operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.
1001
+ */
1002
+ testIamPermissions(request: {
1003
+ /** V1 error format. */
1004
+ "$.xgafv"?: string;
1005
+ /** OAuth access token. */
1006
+ access_token?: string;
1007
+ /** Data format for response. */
1008
+ alt?: string;
1009
+ /** JSONP */
1010
+ callback?: string;
1011
+ /** Selector specifying which fields to include in a partial response. */
1012
+ fields?: string;
1013
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1014
+ key?: string;
1015
+ /** OAuth 2.0 token for the current user. */
1016
+ oauth_token?: string;
1017
+ /** Returns response with indentations and line breaks. */
1018
+ prettyPrint?: boolean;
1019
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1020
+ quotaUser?: string;
1021
+ /**
1022
+ * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for
1023
+ * this field.
1024
+ */
1025
+ resource: string;
1026
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1027
+ upload_protocol?: string;
1028
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1029
+ uploadType?: string;
1030
+ },
1031
+ body: GoogleIamV1TestIamPermissionsRequest): Request<GoogleIamV1TestIamPermissionsResponse>;
1032
+ }
1033
+ interface OperationsResource {
1034
+ /**
1035
+ * Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support
1036
+ * this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the
1037
+ * operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a
1038
+ * google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
1039
+ */
1040
+ cancel(request: {
1041
+ /** V1 error format. */
1042
+ "$.xgafv"?: string;
1043
+ /** OAuth access token. */
1044
+ access_token?: string;
1045
+ /** Data format for response. */
1046
+ alt?: string;
1047
+ /** JSONP */
1048
+ callback?: string;
1049
+ /** Selector specifying which fields to include in a partial response. */
1050
+ fields?: string;
1051
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1052
+ key?: string;
1053
+ /** The name of the operation resource to be cancelled. */
1054
+ name: string;
1055
+ /** OAuth 2.0 token for the current user. */
1056
+ oauth_token?: string;
1057
+ /** Returns response with indentations and line breaks. */
1058
+ prettyPrint?: boolean;
1059
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1060
+ quotaUser?: string;
1061
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1062
+ upload_protocol?: string;
1063
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1064
+ uploadType?: string;
1065
+ /** Request body */
1066
+ resource: CancelOperationRequest;
1067
+ }): Request<{}>;
1068
+ cancel(request: {
1069
+ /** V1 error format. */
1070
+ "$.xgafv"?: string;
1071
+ /** OAuth access token. */
1072
+ access_token?: string;
1073
+ /** Data format for response. */
1074
+ alt?: string;
1075
+ /** JSONP */
1076
+ callback?: string;
1077
+ /** Selector specifying which fields to include in a partial response. */
1078
+ fields?: string;
1079
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1080
+ key?: string;
1081
+ /** The name of the operation resource to be cancelled. */
1082
+ name: string;
1083
+ /** OAuth 2.0 token for the current user. */
1084
+ oauth_token?: string;
1085
+ /** Returns response with indentations and line breaks. */
1086
+ prettyPrint?: boolean;
1087
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1088
+ quotaUser?: string;
1089
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1090
+ upload_protocol?: string;
1091
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1092
+ uploadType?: string;
1093
+ },
1094
+ body: CancelOperationRequest): Request<{}>;
1095
+ /**
1096
+ * Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't
1097
+ * support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.
1098
+ */
1099
+ delete(request?: {
1100
+ /** V1 error format. */
1101
+ "$.xgafv"?: string;
1102
+ /** OAuth access token. */
1103
+ access_token?: string;
1104
+ /** Data format for response. */
1105
+ alt?: string;
1106
+ /** JSONP */
1107
+ callback?: string;
1108
+ /** Selector specifying which fields to include in a partial response. */
1109
+ fields?: string;
1110
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1111
+ key?: string;
1112
+ /** The name of the operation resource to be deleted. */
1113
+ name: string;
1114
+ /** OAuth 2.0 token for the current user. */
1115
+ oauth_token?: string;
1116
+ /** Returns response with indentations and line breaks. */
1117
+ prettyPrint?: boolean;
1118
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1119
+ quotaUser?: string;
1120
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1121
+ upload_protocol?: string;
1122
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1123
+ uploadType?: string;
1124
+ }): Request<{}>;
1125
+ /** Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. */
1126
+ get(request?: {
1127
+ /** V1 error format. */
1128
+ "$.xgafv"?: string;
1129
+ /** OAuth access token. */
1130
+ access_token?: string;
1131
+ /** Data format for response. */
1132
+ alt?: string;
1133
+ /** JSONP */
1134
+ callback?: string;
1135
+ /** Selector specifying which fields to include in a partial response. */
1136
+ fields?: string;
1137
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1138
+ key?: string;
1139
+ /** The name of the operation resource. */
1140
+ name: string;
1141
+ /** OAuth 2.0 token for the current user. */
1142
+ oauth_token?: string;
1143
+ /** Returns response with indentations and line breaks. */
1144
+ prettyPrint?: boolean;
1145
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1146
+ quotaUser?: string;
1147
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1148
+ upload_protocol?: string;
1149
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1150
+ uploadType?: string;
1151
+ }): Request<Operation>;
1152
+ /**
1153
+ * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services
1154
+ * to override the binding to use different resource name schemes, such as `users/*‍/operations`. To override the binding, API services can add a binding such as
1155
+ * `"/v1/{name=users/*}/operations"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must
1156
+ * ensure the name binding is the parent resource, without the operations collection id.
1157
+ */
1158
+ list(request?: {
1159
+ /** V1 error format. */
1160
+ "$.xgafv"?: string;
1161
+ /** OAuth access token. */
1162
+ access_token?: string;
1163
+ /** Data format for response. */
1164
+ alt?: string;
1165
+ /** JSONP */
1166
+ callback?: string;
1167
+ /** Selector specifying which fields to include in a partial response. */
1168
+ fields?: string;
1169
+ /** The standard list filter. */
1170
+ filter?: string;
1171
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1172
+ key?: string;
1173
+ /** The name of the operation's parent resource. */
1174
+ name: string;
1175
+ /** OAuth 2.0 token for the current user. */
1176
+ oauth_token?: string;
1177
+ /** The standard list page size. */
1178
+ pageSize?: number;
1179
+ /** The standard list page token. */
1180
+ pageToken?: string;
1181
+ /** Returns response with indentations and line breaks. */
1182
+ prettyPrint?: boolean;
1183
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1184
+ quotaUser?: string;
1185
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1186
+ upload_protocol?: string;
1187
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1188
+ uploadType?: string;
1189
+ }): Request<ListOperationsResponse>;
1190
+ }
1191
+ interface ServerTlsPoliciesResource {
1192
+ /** Creates a new ServerTlsPolicy in a given project and location. */
1193
+ create(request: {
1194
+ /** V1 error format. */
1195
+ "$.xgafv"?: string;
1196
+ /** OAuth access token. */
1197
+ access_token?: string;
1198
+ /** Data format for response. */
1199
+ alt?: string;
1200
+ /** JSONP */
1201
+ callback?: string;
1202
+ /** Selector specifying which fields to include in a partial response. */
1203
+ fields?: string;
1204
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1205
+ key?: string;
1206
+ /** OAuth 2.0 token for the current user. */
1207
+ oauth_token?: string;
1208
+ /** Required. The parent resource of the ServerTlsPolicy. Must be in the format `projects/*‍/locations/{location}`. */
1209
+ parent: string;
1210
+ /** Returns response with indentations and line breaks. */
1211
+ prettyPrint?: boolean;
1212
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1213
+ quotaUser?: string;
1214
+ /**
1215
+ * Required. Short name of the ServerTlsPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and
1216
+ * should not start with a number. E.g. "server_mtls_policy".
1217
+ */
1218
+ serverTlsPolicyId?: string;
1219
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1220
+ upload_protocol?: string;
1221
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1222
+ uploadType?: string;
1223
+ /** Request body */
1224
+ resource: ServerTlsPolicy;
1225
+ }): Request<Operation>;
1226
+ create(request: {
1227
+ /** V1 error format. */
1228
+ "$.xgafv"?: string;
1229
+ /** OAuth access token. */
1230
+ access_token?: string;
1231
+ /** Data format for response. */
1232
+ alt?: string;
1233
+ /** JSONP */
1234
+ callback?: string;
1235
+ /** Selector specifying which fields to include in a partial response. */
1236
+ fields?: string;
1237
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1238
+ key?: string;
1239
+ /** OAuth 2.0 token for the current user. */
1240
+ oauth_token?: string;
1241
+ /** Required. The parent resource of the ServerTlsPolicy. Must be in the format `projects/*‍/locations/{location}`. */
1242
+ parent: string;
1243
+ /** Returns response with indentations and line breaks. */
1244
+ prettyPrint?: boolean;
1245
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1246
+ quotaUser?: string;
1247
+ /**
1248
+ * Required. Short name of the ServerTlsPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and
1249
+ * should not start with a number. E.g. "server_mtls_policy".
1250
+ */
1251
+ serverTlsPolicyId?: string;
1252
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1253
+ upload_protocol?: string;
1254
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1255
+ uploadType?: string;
1256
+ },
1257
+ body: ServerTlsPolicy): Request<Operation>;
1258
+ /** Deletes a single ServerTlsPolicy. */
1259
+ delete(request?: {
1260
+ /** V1 error format. */
1261
+ "$.xgafv"?: string;
1262
+ /** OAuth access token. */
1263
+ access_token?: string;
1264
+ /** Data format for response. */
1265
+ alt?: string;
1266
+ /** JSONP */
1267
+ callback?: string;
1268
+ /** Selector specifying which fields to include in a partial response. */
1269
+ fields?: string;
1270
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1271
+ key?: string;
1272
+ /** Required. A name of the ServerTlsPolicy to delete. Must be in the format `projects/*‍/locations/{location}/serverTlsPolicies/*`. */
1273
+ name: string;
1274
+ /** OAuth 2.0 token for the current user. */
1275
+ oauth_token?: string;
1276
+ /** Returns response with indentations and line breaks. */
1277
+ prettyPrint?: boolean;
1278
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1279
+ quotaUser?: string;
1280
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1281
+ upload_protocol?: string;
1282
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1283
+ uploadType?: string;
1284
+ }): Request<Operation>;
1285
+ /** Gets details of a single ServerTlsPolicy. */
1286
+ get(request?: {
1287
+ /** V1 error format. */
1288
+ "$.xgafv"?: string;
1289
+ /** OAuth access token. */
1290
+ access_token?: string;
1291
+ /** Data format for response. */
1292
+ alt?: string;
1293
+ /** JSONP */
1294
+ callback?: string;
1295
+ /** Selector specifying which fields to include in a partial response. */
1296
+ fields?: string;
1297
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1298
+ key?: string;
1299
+ /** Required. A name of the ServerTlsPolicy to get. Must be in the format `projects/*‍/locations/{location}/serverTlsPolicies/*`. */
1300
+ name: string;
1301
+ /** OAuth 2.0 token for the current user. */
1302
+ oauth_token?: string;
1303
+ /** Returns response with indentations and line breaks. */
1304
+ prettyPrint?: boolean;
1305
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1306
+ quotaUser?: string;
1307
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1308
+ upload_protocol?: string;
1309
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1310
+ uploadType?: string;
1311
+ }): Request<ServerTlsPolicy>;
1312
+ /** Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. */
1313
+ getIamPolicy(request?: {
1314
+ /** V1 error format. */
1315
+ "$.xgafv"?: string;
1316
+ /** OAuth access token. */
1317
+ access_token?: string;
1318
+ /** Data format for response. */
1319
+ alt?: string;
1320
+ /** JSONP */
1321
+ callback?: string;
1322
+ /** Selector specifying which fields to include in a partial response. */
1323
+ fields?: string;
1324
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1325
+ key?: string;
1326
+ /** OAuth 2.0 token for the current user. */
1327
+ oauth_token?: string;
1328
+ /**
1329
+ * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for
1330
+ * policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy
1331
+ * in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional
1332
+ * role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM
1333
+ * documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
1334
+ */
1335
+ "options.requestedPolicyVersion"?: number;
1336
+ /** Returns response with indentations and line breaks. */
1337
+ prettyPrint?: boolean;
1338
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1339
+ quotaUser?: string;
1340
+ /**
1341
+ * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this
1342
+ * field.
1343
+ */
1344
+ resource: string;
1345
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1346
+ upload_protocol?: string;
1347
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1348
+ uploadType?: string;
1349
+ }): Request<GoogleIamV1Policy>;
1350
+ /** Lists ServerTlsPolicies in a given project and location. */
1351
+ list(request?: {
1352
+ /** V1 error format. */
1353
+ "$.xgafv"?: string;
1354
+ /** OAuth access token. */
1355
+ access_token?: string;
1356
+ /** Data format for response. */
1357
+ alt?: string;
1358
+ /** JSONP */
1359
+ callback?: string;
1360
+ /** Selector specifying which fields to include in a partial response. */
1361
+ fields?: string;
1362
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1363
+ key?: string;
1364
+ /** OAuth 2.0 token for the current user. */
1365
+ oauth_token?: string;
1366
+ /** Maximum number of ServerTlsPolicies to return per call. */
1367
+ pageSize?: number;
1368
+ /**
1369
+ * The value returned by the last `ListServerTlsPoliciesResponse` Indicates that this is a continuation of a prior `ListServerTlsPolicies` call, and that the system should return
1370
+ * the next page of data.
1371
+ */
1372
+ pageToken?: string;
1373
+ /** Required. The project and location from which the ServerTlsPolicies should be listed, specified in the format `projects/*‍/locations/{location}`. */
1374
+ parent: string;
1375
+ /** Returns response with indentations and line breaks. */
1376
+ prettyPrint?: boolean;
1377
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1378
+ quotaUser?: string;
1379
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1380
+ upload_protocol?: string;
1381
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1382
+ uploadType?: string;
1383
+ }): Request<ListServerTlsPoliciesResponse>;
1384
+ /** Updates the parameters of a single ServerTlsPolicy. */
1385
+ patch(request: {
1386
+ /** V1 error format. */
1387
+ "$.xgafv"?: string;
1388
+ /** OAuth access token. */
1389
+ access_token?: string;
1390
+ /** Data format for response. */
1391
+ alt?: string;
1392
+ /** JSONP */
1393
+ callback?: string;
1394
+ /** Selector specifying which fields to include in a partial response. */
1395
+ fields?: string;
1396
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1397
+ key?: string;
1398
+ /** Required. Name of the ServerTlsPolicy resource. It matches the pattern `projects/*‍/locations/{location}/serverTlsPolicies/{server_tls_policy}` */
1399
+ name: string;
1400
+ /** OAuth 2.0 token for the current user. */
1401
+ oauth_token?: string;
1402
+ /** Returns response with indentations and line breaks. */
1403
+ prettyPrint?: boolean;
1404
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1405
+ quotaUser?: string;
1406
+ /**
1407
+ * Optional. Field mask is used to specify the fields to be overwritten in the ServerTlsPolicy resource by the update. The fields specified in the update_mask are relative to the
1408
+ * resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
1409
+ */
1410
+ updateMask?: string;
1411
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1412
+ upload_protocol?: string;
1413
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1414
+ uploadType?: string;
1415
+ /** Request body */
1416
+ resource: ServerTlsPolicy;
1417
+ }): Request<Operation>;
1418
+ patch(request: {
1419
+ /** V1 error format. */
1420
+ "$.xgafv"?: string;
1421
+ /** OAuth access token. */
1422
+ access_token?: string;
1423
+ /** Data format for response. */
1424
+ alt?: string;
1425
+ /** JSONP */
1426
+ callback?: string;
1427
+ /** Selector specifying which fields to include in a partial response. */
1428
+ fields?: string;
1429
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1430
+ key?: string;
1431
+ /** Required. Name of the ServerTlsPolicy resource. It matches the pattern `projects/*‍/locations/{location}/serverTlsPolicies/{server_tls_policy}` */
1432
+ name: string;
1433
+ /** OAuth 2.0 token for the current user. */
1434
+ oauth_token?: string;
1435
+ /** Returns response with indentations and line breaks. */
1436
+ prettyPrint?: boolean;
1437
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1438
+ quotaUser?: string;
1439
+ /**
1440
+ * Optional. Field mask is used to specify the fields to be overwritten in the ServerTlsPolicy resource by the update. The fields specified in the update_mask are relative to the
1441
+ * resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
1442
+ */
1443
+ updateMask?: string;
1444
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1445
+ upload_protocol?: string;
1446
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1447
+ uploadType?: string;
1448
+ },
1449
+ body: ServerTlsPolicy): Request<Operation>;
1450
+ /** Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. */
1451
+ setIamPolicy(request: {
1452
+ /** V1 error format. */
1453
+ "$.xgafv"?: string;
1454
+ /** OAuth access token. */
1455
+ access_token?: string;
1456
+ /** Data format for response. */
1457
+ alt?: string;
1458
+ /** JSONP */
1459
+ callback?: string;
1460
+ /** Selector specifying which fields to include in a partial response. */
1461
+ fields?: string;
1462
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1463
+ key?: string;
1464
+ /** OAuth 2.0 token for the current user. */
1465
+ oauth_token?: string;
1466
+ /** Returns response with indentations and line breaks. */
1467
+ prettyPrint?: boolean;
1468
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1469
+ quotaUser?: string;
1470
+ /**
1471
+ * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this
1472
+ * field.
1473
+ */
1474
+ resource: string;
1475
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1476
+ upload_protocol?: string;
1477
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1478
+ uploadType?: string;
1479
+ },
1480
+ body: GoogleIamV1SetIamPolicyRequest): Request<GoogleIamV1Policy>;
1481
+ /**
1482
+ * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This
1483
+ * operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.
1484
+ */
1485
+ testIamPermissions(request: {
1486
+ /** V1 error format. */
1487
+ "$.xgafv"?: string;
1488
+ /** OAuth access token. */
1489
+ access_token?: string;
1490
+ /** Data format for response. */
1491
+ alt?: string;
1492
+ /** JSONP */
1493
+ callback?: string;
1494
+ /** Selector specifying which fields to include in a partial response. */
1495
+ fields?: string;
1496
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1497
+ key?: string;
1498
+ /** OAuth 2.0 token for the current user. */
1499
+ oauth_token?: string;
1500
+ /** Returns response with indentations and line breaks. */
1501
+ prettyPrint?: boolean;
1502
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1503
+ quotaUser?: string;
1504
+ /**
1505
+ * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for
1506
+ * this field.
1507
+ */
1508
+ resource: string;
1509
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1510
+ upload_protocol?: string;
1511
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1512
+ uploadType?: string;
1513
+ },
1514
+ body: GoogleIamV1TestIamPermissionsRequest): Request<GoogleIamV1TestIamPermissionsResponse>;
1515
+ }
1516
+ interface LocationsResource {
1517
+ /** Gets information about a location. */
1518
+ get(request?: {
1519
+ /** V1 error format. */
1520
+ "$.xgafv"?: string;
1521
+ /** OAuth access token. */
1522
+ access_token?: string;
1523
+ /** Data format for response. */
1524
+ alt?: string;
1525
+ /** JSONP */
1526
+ callback?: string;
1527
+ /** Selector specifying which fields to include in a partial response. */
1528
+ fields?: string;
1529
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1530
+ key?: string;
1531
+ /** Resource name for the location. */
1532
+ name: string;
1533
+ /** OAuth 2.0 token for the current user. */
1534
+ oauth_token?: string;
1535
+ /** Returns response with indentations and line breaks. */
1536
+ prettyPrint?: boolean;
1537
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1538
+ quotaUser?: string;
1539
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1540
+ upload_protocol?: string;
1541
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1542
+ uploadType?: string;
1543
+ }): Request<Location>;
1544
+ /** Lists information about the supported locations for this service. */
1545
+ list(request?: {
1546
+ /** V1 error format. */
1547
+ "$.xgafv"?: string;
1548
+ /** OAuth access token. */
1549
+ access_token?: string;
1550
+ /** Data format for response. */
1551
+ alt?: string;
1552
+ /** JSONP */
1553
+ callback?: string;
1554
+ /** Selector specifying which fields to include in a partial response. */
1555
+ fields?: string;
1556
+ /**
1557
+ * A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in
1558
+ * [AIP-160](https://google.aip.dev/160).
1559
+ */
1560
+ filter?: string;
1561
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1562
+ key?: string;
1563
+ /** The resource that owns the locations collection, if applicable. */
1564
+ name: string;
1565
+ /** OAuth 2.0 token for the current user. */
1566
+ oauth_token?: string;
1567
+ /** The maximum number of results to return. If not set, the service selects a default. */
1568
+ pageSize?: number;
1569
+ /** A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. */
1570
+ pageToken?: string;
1571
+ /** Returns response with indentations and line breaks. */
1572
+ prettyPrint?: boolean;
1573
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1574
+ quotaUser?: string;
1575
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1576
+ upload_protocol?: string;
1577
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1578
+ uploadType?: string;
1579
+ }): Request<ListLocationsResponse>;
1580
+ authorizationPolicies: AuthorizationPoliciesResource;
1581
+ clientTlsPolicies: ClientTlsPoliciesResource;
1582
+ operations: OperationsResource;
1583
+ serverTlsPolicies: ServerTlsPoliciesResource;
1584
+ }
1585
+ interface ProjectsResource {
1586
+ locations: LocationsResource;
1587
+ }
1588
+
1589
+ const projects: ProjectsResource;
1590
+ }
1591
+ }