google-cloud-ftp-v1 0.a → 0.1.1

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.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +153 -8
  5. data/lib/google/cloud/ftp/v1/bindings_override.rb +75 -0
  6. data/lib/google/cloud/ftp/v1/cloud_ftp/credentials.rb +47 -0
  7. data/lib/google/cloud/ftp/v1/cloud_ftp/paths.rb +159 -0
  8. data/lib/google/cloud/ftp/v1/cloud_ftp/rest/client.rb +1617 -0
  9. data/lib/google/cloud/ftp/v1/cloud_ftp/rest/operations.rb +927 -0
  10. data/lib/google/cloud/ftp/v1/cloud_ftp/rest/service_stub.rb +819 -0
  11. data/lib/google/cloud/ftp/v1/cloud_ftp/rest.rb +54 -0
  12. data/lib/google/cloud/ftp/v1/cloud_ftp.rb +48 -0
  13. data/lib/google/cloud/ftp/v1/rest.rb +38 -0
  14. data/lib/google/cloud/ftp/v1/service_pb.rb +62 -0
  15. data/lib/google/cloud/ftp/v1/version.rb +7 -2
  16. data/lib/google/cloud/ftp/v1.rb +40 -0
  17. data/lib/google-cloud-ftp-v1.rb +21 -0
  18. data/proto_docs/README.md +4 -0
  19. data/proto_docs/google/api/client.rb +593 -0
  20. data/proto_docs/google/api/field_behavior.rb +85 -0
  21. data/proto_docs/google/api/field_info.rb +88 -0
  22. data/proto_docs/google/api/launch_stage.rb +71 -0
  23. data/proto_docs/google/api/resource.rb +227 -0
  24. data/proto_docs/google/cloud/ftp/v1/service.rb +683 -0
  25. data/proto_docs/google/longrunning/operations.rb +191 -0
  26. data/proto_docs/google/protobuf/any.rb +145 -0
  27. data/proto_docs/google/protobuf/duration.rb +98 -0
  28. data/proto_docs/google/protobuf/empty.rb +34 -0
  29. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  30. data/proto_docs/google/protobuf/timestamp.rb +128 -0
  31. data/proto_docs/google/rpc/status.rb +48 -0
  32. metadata +79 -9
@@ -0,0 +1,683 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Ftp
23
+ module V1
24
+ # Configuration for external server.
25
+ # @!attribute [r] ip_address
26
+ # @return [::String]
27
+ # Output only. IP address of the LB via which clients will connect.
28
+ # @!attribute [rw] allowed_cidr_blocks
29
+ # @return [::Array<::String>]
30
+ # Optional. List of CIDR blocks that are allowed to access the Server.
31
+ # A CIDR range consists of an IP Address and a prefix length to construct the
32
+ # subnet mask. By default, the prefix length is 32 (i.e. matches a single IP
33
+ # address). For now, only IPV4 addresses are supported.
34
+ # Examples: "203.0.113.0/24" -
35
+ # matches with the IP addresses in the range 203.0.113.0 - 203.0.113.255.
36
+ # "0.0.0.0/0" - matches against any IP address.
37
+ # This field must contain at least one entry if the access type is EXTERNAL.
38
+ # The number of allowed CIDR blocks cannot exceed 500.
39
+ # Example: 192.168.0.0/16
40
+ class ExternalServerConfig
41
+ include ::Google::Protobuf::MessageExts
42
+ extend ::Google::Protobuf::MessageExts::ClassMethods
43
+ end
44
+
45
+ # Configuration for private server accessible via PSC.
46
+ # @!attribute [r] service_attachment
47
+ # @return [::String]
48
+ # Output only. The resource name of the service attachment.
49
+ # Format:
50
+ # `projects/{project}/regions/{region}/serviceAttachments/{service_attachment}`
51
+ # @!attribute [rw] consumer_accept_list
52
+ # @return [::Array<::Google::Cloud::Ftp::V1::InternalServerConfig::AllowedConsumer>]
53
+ # Required. A list of projects that are permitted to connect.
54
+ # At least one project is required in the allow list.
55
+ # @!attribute [rw] consumer_reject_list
56
+ # @return [::Array<::Google::Cloud::Ftp::V1::InternalServerConfig::DeniedConsumer>]
57
+ # Optional. A list of projects that are denied connection.
58
+ # Format: "projects/sample_project_id" or "projects/1234567890"
59
+ # Projects in this list will be denied access, even if they are included in
60
+ # the `allow_list`. If this list is empty, no projects are explicitly
61
+ # rejected.
62
+ # @!attribute [r] psc_endpoints
63
+ # @return [::Array<::Google::Cloud::Ftp::V1::InternalServerConfig::PscEndpoint>]
64
+ # Output only. Details of endpoints created by the customer.
65
+ class InternalServerConfig
66
+ include ::Google::Protobuf::MessageExts
67
+ extend ::Google::Protobuf::MessageExts::ClassMethods
68
+
69
+ # A consumer project or network that is permitted to connect to the server
70
+ # via PSC.
71
+ # @!attribute [rw] project
72
+ # @return [::String]
73
+ # The project ID or number of the consumer project.
74
+ # Must be in the format: `projects/{project}`.
75
+ # @!attribute [rw] connection_limit
76
+ # @return [::Integer]
77
+ # Required. The connection limit for the consumer.
78
+ # Value must be greater than 0.
79
+ class AllowedConsumer
80
+ include ::Google::Protobuf::MessageExts
81
+ extend ::Google::Protobuf::MessageExts::ClassMethods
82
+ end
83
+
84
+ # A consumer project or network that is denied to connect to the server via
85
+ # PSC.
86
+ # @!attribute [rw] project
87
+ # @return [::String]
88
+ # The project ID or number of the consumer project.
89
+ # Must be in the format: `projects/{project}`.
90
+ class DeniedConsumer
91
+ include ::Google::Protobuf::MessageExts
92
+ extend ::Google::Protobuf::MessageExts::ClassMethods
93
+ end
94
+
95
+ # Details of PSC endpoint created by customer.
96
+ # @!attribute [r] endpoint
97
+ # @return [::String]
98
+ # Output only. This is a Resource name for Private Service Connect
99
+ # endpoint. Format:
100
+ # `projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}`
101
+ # @!attribute [r] network
102
+ # @return [::String]
103
+ # Output only. The consumer network.
104
+ # Format: `projects/{project}/locations/{location}/networks/{network}`
105
+ # @!attribute [r] status
106
+ # @return [::String]
107
+ # Output only. The status of the connected endpoint.
108
+ class PscEndpoint
109
+ include ::Google::Protobuf::MessageExts
110
+ extend ::Google::Protobuf::MessageExts::ClassMethods
111
+ end
112
+ end
113
+
114
+ # Represents credentials of an FTP Server.
115
+ # @!attribute [r] fingerprint
116
+ # @return [::String]
117
+ # Output only. The fingerprint is a hash of the public key, and is displayed
118
+ # when clients access the server for the first time to verify the server's
119
+ # identity.
120
+ # @!attribute [r] asymmetric_algorithm
121
+ # @return [::String]
122
+ # Output only. Asymmetric algorithm used by the public key.
123
+ # Possible values (can be expanded in future):
124
+ # - ssh-ed25519
125
+ class ServerCredential
126
+ include ::Google::Protobuf::MessageExts
127
+ extend ::Google::Protobuf::MessageExts::ClassMethods
128
+ end
129
+
130
+ # Message describing Server object
131
+ # @!attribute [rw] external_config
132
+ # @return [::Google::Cloud::Ftp::V1::ExternalServerConfig]
133
+ # Configuration for external access.
134
+ #
135
+ # Note: The following fields are mutually exclusive: `external_config`, `internal_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
136
+ # @!attribute [rw] internal_config
137
+ # @return [::Google::Cloud::Ftp::V1::InternalServerConfig]
138
+ # Configuration for internal access.
139
+ #
140
+ # Note: The following fields are mutually exclusive: `internal_config`, `external_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
141
+ # @!attribute [rw] name
142
+ # @return [::String]
143
+ # Identifier. name of resource
144
+ # @!attribute [r] create_time
145
+ # @return [::Google::Protobuf::Timestamp]
146
+ # Output only. [Output only] Create time stamp
147
+ # @!attribute [r] update_time
148
+ # @return [::Google::Protobuf::Timestamp]
149
+ # Output only. [Output only] Update time stamp
150
+ # @!attribute [rw] labels
151
+ # @return [::Google::Protobuf::Map{::String => ::String}]
152
+ # Optional. Labels as key value pairs
153
+ # @!attribute [rw] display_name
154
+ # @return [::String]
155
+ # Optional. Display name of the Server
156
+ # @!attribute [rw] access_type
157
+ # @return [::Google::Cloud::Ftp::V1::Server::AccessType]
158
+ # Required. The access type of the Server.
159
+ # @!attribute [r] state
160
+ # @return [::Google::Cloud::Ftp::V1::Server::State]
161
+ # Output only. The state of the server.
162
+ # @!attribute [r] google_managed_server_credential
163
+ # @return [::Google::Cloud::Ftp::V1::ServerCredential]
164
+ # Output only. Credentials of the FTP Server.
165
+ # @!attribute [r] service_agent
166
+ # @return [::String]
167
+ # Output only. Service agent used to access the customer bucket.
168
+ class Server
169
+ include ::Google::Protobuf::MessageExts
170
+ extend ::Google::Protobuf::MessageExts::ClassMethods
171
+
172
+ # @!attribute [rw] key
173
+ # @return [::String]
174
+ # @!attribute [rw] value
175
+ # @return [::String]
176
+ class LabelsEntry
177
+ include ::Google::Protobuf::MessageExts
178
+ extend ::Google::Protobuf::MessageExts::ClassMethods
179
+ end
180
+
181
+ # The access type of the Server.
182
+ module AccessType
183
+ # Default value. This value is unused.
184
+ ACCESS_TYPE_UNSPECIFIED = 0
185
+
186
+ # Server is assigned a public IP.
187
+ EXTERNAL = 1
188
+
189
+ # Server is assigned an internal IP.
190
+ INTERNAL = 2
191
+ end
192
+
193
+ # Tracks Server status.
194
+ module State
195
+ # Default value. This value is unused.
196
+ STATE_UNSPECIFIED = 0
197
+
198
+ # Server is being created.
199
+ CREATING = 1
200
+
201
+ # Server is starting.
202
+ STARTING = 2
203
+
204
+ # Server is ready to be used.
205
+ ACTIVE = 3
206
+
207
+ # Server is stopping.
208
+ STOPPING = 4
209
+
210
+ # Server is stopped.
211
+ STOPPED = 5
212
+
213
+ # Server is being deleted.
214
+ DELETING = 6
215
+
216
+ # Server is in error state.
217
+ ERROR = 7
218
+
219
+ # Server is being updated.
220
+ UPDATING = 8
221
+ end
222
+ end
223
+
224
+ # Message for requesting list of Servers
225
+ # @!attribute [rw] parent
226
+ # @return [::String]
227
+ # Required. Parent value for ListServersRequest
228
+ # @!attribute [rw] page_size
229
+ # @return [::Integer]
230
+ # Optional. Requested page size. Server may return fewer items than
231
+ # requested. If unspecified, server will pick an appropriate default.
232
+ # @!attribute [rw] page_token
233
+ # @return [::String]
234
+ # Optional. A token identifying a page of results the server should return.
235
+ # @!attribute [rw] filter
236
+ # @return [::String]
237
+ # Optional. Filtering results
238
+ # @!attribute [rw] order_by
239
+ # @return [::String]
240
+ # Optional. Hint for how to order the results
241
+ # @!attribute [rw] view
242
+ # @return [::Google::Cloud::Ftp::V1::ServerView]
243
+ # Optional. The view of the Server resource to return.
244
+ class ListServersRequest
245
+ include ::Google::Protobuf::MessageExts
246
+ extend ::Google::Protobuf::MessageExts::ClassMethods
247
+ end
248
+
249
+ # Message for response to listing Servers
250
+ # @!attribute [rw] servers
251
+ # @return [::Array<::Google::Cloud::Ftp::V1::Server>]
252
+ # The list of Server
253
+ # @!attribute [rw] next_page_token
254
+ # @return [::String]
255
+ # A token identifying a page of results the server should return.
256
+ # @!attribute [rw] unreachable
257
+ # @return [::Array<::String>]
258
+ # Unordered list. Locations that could not be reached.
259
+ class ListServersResponse
260
+ include ::Google::Protobuf::MessageExts
261
+ extend ::Google::Protobuf::MessageExts::ClassMethods
262
+ end
263
+
264
+ # Message for getting a Server
265
+ # @!attribute [rw] name
266
+ # @return [::String]
267
+ # Required. Name of the resource
268
+ # @!attribute [rw] view
269
+ # @return [::Google::Cloud::Ftp::V1::ServerView]
270
+ # Optional. The view of the Server resource to return.
271
+ class GetServerRequest
272
+ include ::Google::Protobuf::MessageExts
273
+ extend ::Google::Protobuf::MessageExts::ClassMethods
274
+ end
275
+
276
+ # Message for creating a Server
277
+ # @!attribute [rw] parent
278
+ # @return [::String]
279
+ # Required. Value for parent.
280
+ # @!attribute [rw] server_id
281
+ # @return [::String]
282
+ # Required. A unique ID for the server. Must start with a lowercase letter,
283
+ # and end with a lowercase letter or number. Can contain lowercase letters,
284
+ # numbers, and hyphens. Maximum length is 30 characters.
285
+ # @!attribute [rw] server
286
+ # @return [::Google::Cloud::Ftp::V1::Server]
287
+ # Required. The resource being created
288
+ # @!attribute [rw] request_id
289
+ # @return [::String]
290
+ # Optional. An optional request ID to identify requests. Specify a unique
291
+ # request ID so that if you must retry your request, the server will know to
292
+ # ignore the request if it has already been completed. The server will
293
+ # guarantee that for at least 60 minutes since the first request.
294
+ #
295
+ # For example, consider a situation where you make an initial request and the
296
+ # request times out. If you make the request again with the same request
297
+ # ID, the server can check if original operation with the same request ID
298
+ # was received, and if so, will ignore the second request. This prevents
299
+ # clients from accidentally creating duplicate commitments.
300
+ #
301
+ # The request ID must be a valid UUID with the exception that zero UUID is
302
+ # not supported (00000000-0000-0000-0000-000000000000).
303
+ class CreateServerRequest
304
+ include ::Google::Protobuf::MessageExts
305
+ extend ::Google::Protobuf::MessageExts::ClassMethods
306
+ end
307
+
308
+ # Message for updating a Server
309
+ # @!attribute [rw] update_mask
310
+ # @return [::Google::Protobuf::FieldMask]
311
+ # Optional. Field mask is used to specify the fields to be overwritten in the
312
+ # Server resource by the update.
313
+ # The fields specified in the update_mask are relative to the resource, not
314
+ # the full request. A field will be overwritten if it is in the mask. If the
315
+ # user does not provide a mask then all fields present in the request will be
316
+ # overwritten.
317
+ # @!attribute [rw] server
318
+ # @return [::Google::Cloud::Ftp::V1::Server]
319
+ # Required. The resource being updated
320
+ # @!attribute [rw] request_id
321
+ # @return [::String]
322
+ # Optional. An optional request ID to identify requests. Specify a unique
323
+ # request ID so that if you must retry your request, the server will know to
324
+ # ignore the request if it has already been completed. The server will
325
+ # guarantee that for at least 60 minutes since the first request.
326
+ #
327
+ # For example, consider a situation where you make an initial request and the
328
+ # request times out. If you make the request again with the same request
329
+ # ID, the server can check if original operation with the same request ID
330
+ # was received, and if so, will ignore the second request. This prevents
331
+ # clients from accidentally creating duplicate commitments.
332
+ #
333
+ # The request ID must be a valid UUID with the exception that zero UUID is
334
+ # not supported (00000000-0000-0000-0000-000000000000).
335
+ class UpdateServerRequest
336
+ include ::Google::Protobuf::MessageExts
337
+ extend ::Google::Protobuf::MessageExts::ClassMethods
338
+ end
339
+
340
+ # Message for deleting a Server
341
+ # Note: Cascading delete is not supported. Any nested User resources
342
+ # under this Server must be deleted before the Server itself can be deleted.
343
+ # Attempting to delete a Server with active User resources will result in an
344
+ # error.
345
+ # @!attribute [rw] name
346
+ # @return [::String]
347
+ # Required. Name of the resource
348
+ class DeleteServerRequest
349
+ include ::Google::Protobuf::MessageExts
350
+ extend ::Google::Protobuf::MessageExts::ClassMethods
351
+ end
352
+
353
+ # Mapping of backing Cloud Storage path to the directory where the user lands
354
+ # in the SFTP server. If directory is not specified, it'll default to '/'.
355
+ #
356
+ # Eg 1 -
357
+ # (bucket_name: bucket, bucket_prefix: path1/path2, directory:
358
+ # /abc/def/username)
359
+ #
360
+ # The user will land at /abcd/def/username, and the view there will match that
361
+ # of /bucket/path1/path2. The user will not be aware of Cloud Storage prefix
362
+ # '/bucket/path1' and there will be no such directory in the view.
363
+ #
364
+ # Eg 2 -
365
+ # (bucket_name: bucket, bucket_prefix: path1/path2, directory: '')
366
+ #
367
+ # The user will land at '/', and the view there will match
368
+ # that of /bucket/path1/path2. The user will not be aware of Cloud Storage
369
+ # prefix '/bucket/path1/path2' and there will be no such directory in the view.
370
+ # @!attribute [rw] bucket
371
+ # @return [::String]
372
+ # Required. Name of the bucket.
373
+ # @!attribute [rw] bucket_prefix
374
+ # @return [::String]
375
+ # Optional. Prefix inside the bucket.
376
+ # @!attribute [rw] directory
377
+ # @return [::String]
378
+ # Required. Directory where the user lands in the SFTP server.
379
+ # @!attribute [rw] permission
380
+ # @return [::Google::Cloud::Ftp::V1::StorageDirectoryMapping::Permission]
381
+ # Required. Permission to the bucket.
382
+ class StorageDirectoryMapping
383
+ include ::Google::Protobuf::MessageExts
384
+ extend ::Google::Protobuf::MessageExts::ClassMethods
385
+
386
+ # Tracks read/write access to the bucket.
387
+ module Permission
388
+ # Permission unspecified.
389
+ PERMISSION_UNSPECIFIED = 0
390
+
391
+ # Read only permission.
392
+ READ_ONLY = 1
393
+
394
+ # Read write permission.
395
+ READ_WRITE = 2
396
+ end
397
+ end
398
+
399
+ # Message describing User object
400
+ # @!attribute [rw] name
401
+ # @return [::String]
402
+ # Identifier. User-friendly name via which User will be identified.
403
+ # projects/\\{project}/locations/\\{location}/servers/\\{server}/users/\\{user}
404
+ # @!attribute [r] create_time
405
+ # @return [::Google::Protobuf::Timestamp]
406
+ # Output only. [Output only] Create time stamp
407
+ # @!attribute [r] update_time
408
+ # @return [::Google::Protobuf::Timestamp]
409
+ # Output only. [Output only] Update time stamp
410
+ # @!attribute [rw] labels
411
+ # @return [::Google::Protobuf::Map{::String => ::String}]
412
+ # Optional. Labels as key value pairs
413
+ # @!attribute [r] username
414
+ # @return [::String]
415
+ # Output only. [Output only] The username of the user.
416
+ # @!attribute [rw] customer_service_account
417
+ # @return [::String]
418
+ # Required. Service account in customer project attached to this SFTP User.
419
+ # @!attribute [r] state
420
+ # @return [::Google::Cloud::Ftp::V1::User::State]
421
+ # Output only. Tracks user creation.
422
+ # @!attribute [rw] user_credentials
423
+ # @return [::Array<::Google::Cloud::Ftp::V1::UserCredential>]
424
+ # Required. User credential for the user.
425
+ # The maximum number of user credentials is 10.
426
+ # @!attribute [rw] storage_directory_mappings
427
+ # @return [::Array<::Google::Cloud::Ftp::V1::StorageDirectoryMapping>]
428
+ # Required. Mapping of Cloud Storage buckets to directories where the user
429
+ # will land in the SFTP server.
430
+ class User
431
+ include ::Google::Protobuf::MessageExts
432
+ extend ::Google::Protobuf::MessageExts::ClassMethods
433
+
434
+ # @!attribute [rw] key
435
+ # @return [::String]
436
+ # @!attribute [rw] value
437
+ # @return [::String]
438
+ class LabelsEntry
439
+ include ::Google::Protobuf::MessageExts
440
+ extend ::Google::Protobuf::MessageExts::ClassMethods
441
+ end
442
+
443
+ # Tracks user creation.
444
+ module State
445
+ # State unspecified.
446
+ STATE_UNSPECIFIED = 0
447
+
448
+ # User is being created.
449
+ CREATING = 1
450
+
451
+ # User is ready to be used.
452
+ ACTIVE = 2
453
+
454
+ # User creation failed.
455
+ ERROR = 3
456
+
457
+ # The resource is being updated.
458
+ UPDATING = 4
459
+
460
+ # The resource is being deleted.
461
+ DELETING = 5
462
+ end
463
+ end
464
+
465
+ # Message for requesting list of Users
466
+ # @!attribute [rw] parent
467
+ # @return [::String]
468
+ # Required. Parent value for ListUsersRequest
469
+ # @!attribute [rw] page_size
470
+ # @return [::Integer]
471
+ # Optional. Requested page size. User may return fewer items than requested.
472
+ # The maximum value is 1000; The default value is 50 if the field is omitted
473
+ # (or set to 0).
474
+ # @!attribute [rw] page_token
475
+ # @return [::String]
476
+ # Optional. A token identifying a page of results the user should return.
477
+ # @!attribute [rw] filter
478
+ # @return [::String]
479
+ # Optional. Filtering results
480
+ # @!attribute [rw] order_by
481
+ # @return [::String]
482
+ # Optional. Hint for how to order the results
483
+ # @!attribute [rw] view
484
+ # @return [::Google::Cloud::Ftp::V1::UserView]
485
+ # Optional. The view of the User resource to return.
486
+ class ListUsersRequest
487
+ include ::Google::Protobuf::MessageExts
488
+ extend ::Google::Protobuf::MessageExts::ClassMethods
489
+ end
490
+
491
+ # Message for response to listing Users
492
+ # @!attribute [rw] users
493
+ # @return [::Array<::Google::Cloud::Ftp::V1::User>]
494
+ # The list of User
495
+ # @!attribute [rw] next_page_token
496
+ # @return [::String]
497
+ # A token identifying a page of results the user should return.
498
+ # @!attribute [rw] unreachable
499
+ # @return [::Array<::String>]
500
+ # Unordered list. Locations that could not be reached.
501
+ class ListUsersResponse
502
+ include ::Google::Protobuf::MessageExts
503
+ extend ::Google::Protobuf::MessageExts::ClassMethods
504
+ end
505
+
506
+ # Message for getting a User
507
+ # @!attribute [rw] name
508
+ # @return [::String]
509
+ # Required. Name of the resource
510
+ # @!attribute [rw] view
511
+ # @return [::Google::Cloud::Ftp::V1::UserView]
512
+ # Optional. The view of the User resource to return.
513
+ class GetUserRequest
514
+ include ::Google::Protobuf::MessageExts
515
+ extend ::Google::Protobuf::MessageExts::ClassMethods
516
+ end
517
+
518
+ # Message for creating a User
519
+ # @!attribute [rw] parent
520
+ # @return [::String]
521
+ # Required. Value for parent.
522
+ # @!attribute [rw] user_id
523
+ # @return [::String]
524
+ # Required. A unique user ID for the SFTP user. The user ID must start with a
525
+ # lowercase letter and can include lowercase letters, numbers, or hyphens.
526
+ # @!attribute [rw] user
527
+ # @return [::Google::Cloud::Ftp::V1::User]
528
+ # Required. The resource being created
529
+ # @!attribute [rw] request_id
530
+ # @return [::String]
531
+ # Optional. An optional request ID to identify requests. Specify a unique
532
+ # request ID so that if you must retry your request, the server will know to
533
+ # ignore the request if it has already been completed. The server will
534
+ # guarantee that for at least 60 minutes since the first request.
535
+ #
536
+ # For example, consider a situation where you make an initial request and the
537
+ # request times out. If you make the request again with the same request
538
+ # ID, the server can check if original operation with the same request ID
539
+ # was received, and if so, will ignore the second request. This prevents
540
+ # clients from accidentally creating duplicate commitments.
541
+ #
542
+ # The request ID must be a valid UUID with the exception that zero UUID is
543
+ # not supported (00000000-0000-0000-0000-000000000000).
544
+ class CreateUserRequest
545
+ include ::Google::Protobuf::MessageExts
546
+ extend ::Google::Protobuf::MessageExts::ClassMethods
547
+ end
548
+
549
+ # Message for updating a User
550
+ # @!attribute [rw] update_mask
551
+ # @return [::Google::Protobuf::FieldMask]
552
+ # Optional. Field mask is used to specify the fields to be overwritten in the
553
+ # User resource by the update.
554
+ # The fields specified in the update_mask are relative to the resource, not
555
+ # the full request. A field will be overwritten if it is in the mask. If the
556
+ # user does not provide a mask then all fields present in the request will be
557
+ # overwritten.
558
+ # @!attribute [rw] user
559
+ # @return [::Google::Cloud::Ftp::V1::User]
560
+ # Required. The resource being updated
561
+ class UpdateUserRequest
562
+ include ::Google::Protobuf::MessageExts
563
+ extend ::Google::Protobuf::MessageExts::ClassMethods
564
+ end
565
+
566
+ # Message for deleting a User
567
+ # @!attribute [rw] name
568
+ # @return [::String]
569
+ # Required. Name of the resource
570
+ # @!attribute [rw] force
571
+ # @return [::Boolean]
572
+ # Optional. If set to true, the request will force the deletion of the User.
573
+ class DeleteUserRequest
574
+ include ::Google::Protobuf::MessageExts
575
+ extend ::Google::Protobuf::MessageExts::ClassMethods
576
+ end
577
+
578
+ # Request message for starting a Server.
579
+ # @!attribute [rw] name
580
+ # @return [::String]
581
+ # Required. Name of the resource
582
+ # Format: `projects/{project}/locations/{location}/servers/{server}`
583
+ class StartServerRequest
584
+ include ::Google::Protobuf::MessageExts
585
+ extend ::Google::Protobuf::MessageExts::ClassMethods
586
+ end
587
+
588
+ # Request message for stopping a Server.
589
+ # @!attribute [rw] name
590
+ # @return [::String]
591
+ # Required. Name of the resource.
592
+ # Format: `projects/{project}/locations/{location}/servers/{server}`
593
+ class StopServerRequest
594
+ include ::Google::Protobuf::MessageExts
595
+ extend ::Google::Protobuf::MessageExts::ClassMethods
596
+ end
597
+
598
+ # Message describing UserCredential object
599
+ # @!attribute [rw] credential_name
600
+ # @return [::String]
601
+ # Required. Name of the user credential.
602
+ # @!attribute [rw] credential_type
603
+ # @return [::Google::Cloud::Ftp::V1::UserCredential::Type]
604
+ # Required. Type of credential.
605
+ # @!attribute [rw] ssh_public_key_body
606
+ # @return [::String]
607
+ # Optional. SSH public key body in OpenSSH format.
608
+ # Example: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..."
609
+ class UserCredential
610
+ include ::Google::Protobuf::MessageExts
611
+ extend ::Google::Protobuf::MessageExts::ClassMethods
612
+
613
+ # Type of credential.
614
+ module Type
615
+ # Type unspecified.
616
+ TYPE_UNSPECIFIED = 0
617
+
618
+ # Public key credential.
619
+ PUBLIC_KEY = 1
620
+ end
621
+ end
622
+
623
+ # Represents the metadata of the long-running operation.
624
+ # @!attribute [r] create_time
625
+ # @return [::Google::Protobuf::Timestamp]
626
+ # Output only. The time the operation was created.
627
+ # @!attribute [r] end_time
628
+ # @return [::Google::Protobuf::Timestamp]
629
+ # Output only. The time the operation finished running.
630
+ # @!attribute [r] target
631
+ # @return [::String]
632
+ # Output only. Server-defined resource path for the target of the operation.
633
+ # @!attribute [r] verb
634
+ # @return [::String]
635
+ # Output only. Name of the verb executed by the operation.
636
+ # @!attribute [r] status_message
637
+ # @return [::String]
638
+ # Output only. Human-readable status of the operation, if any.
639
+ # @!attribute [r] requested_cancellation
640
+ # @return [::Boolean]
641
+ # Output only. Identifies whether the user has requested cancellation
642
+ # of the operation. Operations that have been cancelled successfully
643
+ # have
644
+ # {::Google::Longrunning::Operation#error google.longrunning.Operation.error}
645
+ # value with a {::Google::Rpc::Status#code google.rpc.Status.code} of `1`,
646
+ # corresponding to `Code.CANCELLED`.
647
+ # @!attribute [r] api_version
648
+ # @return [::String]
649
+ # Output only. API version used to start the operation.
650
+ class OperationMetadata
651
+ include ::Google::Protobuf::MessageExts
652
+ extend ::Google::Protobuf::MessageExts::ClassMethods
653
+ end
654
+
655
+ # View for Server resource.
656
+ module ServerView
657
+ # Default value. Equivalent to SERVER_VIEW_BASIC.
658
+ SERVER_VIEW_UNSPECIFIED = 0
659
+
660
+ # Basic view. Excludes heavy configurations (internal_config,
661
+ # external_config, google_managed_server_credential).
662
+ SERVER_VIEW_BASIC = 1
663
+
664
+ # Full view. Includes all fields.
665
+ SERVER_VIEW_FULL = 2
666
+ end
667
+
668
+ # View for User resource.
669
+ module UserView
670
+ # Default value. Equivalent to USER_VIEW_BASIC.
671
+ USER_VIEW_UNSPECIFIED = 0
672
+
673
+ # Basic view. Excludes heavy configurations (user_credentials,
674
+ # storage_directory_mappings).
675
+ USER_VIEW_BASIC = 1
676
+
677
+ # Full view. Includes all fields.
678
+ USER_VIEW_FULL = 2
679
+ end
680
+ end
681
+ end
682
+ end
683
+ end