google-apis-baremetalsolution_v2 0.2.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,90 +22,6 @@ module Google
22
22
  module Apis
23
23
  module BaremetalsolutionV2
24
24
 
25
- # Associates `members` with a `role`.
26
- class Binding
27
- include Google::Apis::Core::Hashable
28
-
29
- # Represents a textual expression in the Common Expression Language (CEL) syntax.
30
- # CEL is a C-like expression language. The syntax and semantics of CEL are
31
- # documented at https://github.com/google/cel-spec. Example (Comparison): title:
32
- # "Summary size limit" description: "Determines if a summary is less than 100
33
- # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
34
- # Requestor is owner" description: "Determines if requestor is the document
35
- # owner" expression: "document.owner == request.auth.claims.email" Example (
36
- # Logic): title: "Public documents" description: "Determine whether the document
37
- # should be publicly visible" expression: "document.type != 'private' &&
38
- # document.type != 'internal'" Example (Data Manipulation): title: "Notification
39
- # string" description: "Create a notification string with a timestamp."
40
- # expression: "'New message received at ' + string(document.create_time)" The
41
- # exact variables and functions that may be referenced within an expression are
42
- # determined by the service that evaluates it. See the service documentation for
43
- # additional information.
44
- # Corresponds to the JSON property `condition`
45
- # @return [Google::Apis::BaremetalsolutionV2::Expr]
46
- attr_accessor :condition
47
-
48
- # Specifies the identities requesting access for a Cloud Platform resource. `
49
- # members` can have the following values: * `allUsers`: A special identifier
50
- # that represents anyone who is on the internet; with or without a Google
51
- # account. * `allAuthenticatedUsers`: A special identifier that represents
52
- # anyone who is authenticated with a Google account or a service account. * `
53
- # user:`emailid``: An email address that represents a specific Google account.
54
- # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
55
- # address that represents a service account. For example, `my-other-app@appspot.
56
- # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
57
- # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
58
- # `uniqueid``: An email address (plus unique identifier) representing a user
59
- # that has been recently deleted. For example, `alice@example.com?uid=
60
- # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
61
- # emailid`` and the recovered user retains the role in the binding. * `deleted:
62
- # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
63
- # identifier) representing a service account that has been recently deleted. For
64
- # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
65
- # If the service account is undeleted, this value reverts to `serviceAccount:`
66
- # emailid`` and the undeleted service account retains the role in the binding. *
67
- # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
68
- # identifier) representing a Google group that has been recently deleted. For
69
- # example, `admins@example.com?uid=123456789012345678901`. If the group is
70
- # recovered, this value reverts to `group:`emailid`` and the recovered group
71
- # retains the role in the binding. * `domain:`domain``: The G Suite domain (
72
- # primary) that represents all the users of that domain. For example, `google.
73
- # com` or `example.com`.
74
- # Corresponds to the JSON property `members`
75
- # @return [Array<String>]
76
- attr_accessor :members
77
-
78
- # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
79
- # , or `roles/owner`.
80
- # Corresponds to the JSON property `role`
81
- # @return [String]
82
- attr_accessor :role
83
-
84
- def initialize(**args)
85
- update!(**args)
86
- end
87
-
88
- # Update properties of this object
89
- def update!(**args)
90
- @condition = args[:condition] if args.key?(:condition)
91
- @members = args[:members] if args.key?(:members)
92
- @role = args[:role] if args.key?(:role)
93
- end
94
- end
95
-
96
- # The request message for Operations.CancelOperation.
97
- class CancelOperationRequest
98
- include Google::Apis::Core::Hashable
99
-
100
- def initialize(**args)
101
- update!(**args)
102
- end
103
-
104
- # Update properties of this object
105
- def update!(**args)
106
- end
107
- end
108
-
109
25
  # A generic empty message that you can re-use to avoid defining duplicated empty
110
26
  # messages in your APIs. A typical example is to use it as the request or the
111
27
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -123,88 +39,46 @@ module Google
123
39
  end
124
40
  end
125
41
 
126
- # Represents a textual expression in the Common Expression Language (CEL) syntax.
127
- # CEL is a C-like expression language. The syntax and semantics of CEL are
128
- # documented at https://github.com/google/cel-spec. Example (Comparison): title:
129
- # "Summary size limit" description: "Determines if a summary is less than 100
130
- # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
131
- # Requestor is owner" description: "Determines if requestor is the document
132
- # owner" expression: "document.owner == request.auth.claims.email" Example (
133
- # Logic): title: "Public documents" description: "Determine whether the document
134
- # should be publicly visible" expression: "document.type != 'private' &&
135
- # document.type != 'internal'" Example (Data Manipulation): title: "Notification
136
- # string" description: "Create a notification string with a timestamp."
137
- # expression: "'New message received at ' + string(document.create_time)" The
138
- # exact variables and functions that may be referenced within an expression are
139
- # determined by the service that evaluates it. See the service documentation for
140
- # additional information.
141
- class Expr
142
- include Google::Apis::Core::Hashable
143
-
144
- # Optional. Description of the expression. This is a longer text which describes
145
- # the expression, e.g. when hovered over it in a UI.
146
- # Corresponds to the JSON property `description`
147
- # @return [String]
148
- attr_accessor :description
149
-
150
- # Textual representation of an expression in Common Expression Language syntax.
151
- # Corresponds to the JSON property `expression`
152
- # @return [String]
153
- attr_accessor :expression
154
-
155
- # Optional. String indicating the location of the expression for error reporting,
156
- # e.g. a file name and a position in the file.
157
- # Corresponds to the JSON property `location`
158
- # @return [String]
159
- attr_accessor :location
160
-
161
- # Optional. Title for the expression, i.e. a short string describing its purpose.
162
- # This can be used e.g. in UIs which allow to enter the expression.
163
- # Corresponds to the JSON property `title`
164
- # @return [String]
165
- attr_accessor :title
166
-
167
- def initialize(**args)
168
- update!(**args)
169
- end
170
-
171
- # Update properties of this object
172
- def update!(**args)
173
- @description = args[:description] if args.key?(:description)
174
- @expression = args[:expression] if args.key?(:expression)
175
- @location = args[:location] if args.key?(:location)
176
- @title = args[:title] if args.key?(:title)
177
- end
178
- end
179
-
180
- # An instance resource.
42
+ # A server.
181
43
  class Instance
182
44
  include Google::Apis::Core::Hashable
183
45
 
184
- # Output only. Create time stamp.
46
+ # Output only. Create a time stamp.
185
47
  # Corresponds to the JSON property `createTime`
186
48
  # @return [String]
187
49
  attr_accessor :create_time
188
50
 
189
- # True if hyperthreading enabled for the instance, false otherwise. The default
51
+ # True if you enable hyperthreading for the server, otherwise false. The default
190
52
  # value is false.
191
53
  # Corresponds to the JSON property `hyperthreadingEnabled`
192
54
  # @return [Boolean]
193
55
  attr_accessor :hyperthreading_enabled
194
56
  alias_method :hyperthreading_enabled?, :hyperthreading_enabled
195
57
 
58
+ # An identifier for the `Instance`, generated by the backend.
59
+ # Corresponds to the JSON property `id`
60
+ # @return [String]
61
+ attr_accessor :id
62
+
63
+ # True if the interactive serial console feature is enabled for the instance,
64
+ # false otherwise. The default value is false.
65
+ # Corresponds to the JSON property `interactiveSerialConsoleEnabled`
66
+ # @return [Boolean]
67
+ attr_accessor :interactive_serial_console_enabled
68
+ alias_method :interactive_serial_console_enabled?, :interactive_serial_console_enabled
69
+
196
70
  # Labels as key value pairs.
197
71
  # Corresponds to the JSON property `labels`
198
72
  # @return [Hash<String,String>]
199
73
  attr_accessor :labels
200
74
 
201
- # List of luns associated with this instance.
75
+ # List of LUNs associated with this server.
202
76
  # Corresponds to the JSON property `luns`
203
77
  # @return [Array<Google::Apis::BaremetalsolutionV2::Lun>]
204
78
  attr_accessor :luns
205
79
 
206
- # The type of this Instance. [Available Instance types](https://cloud.google.com/
207
- # bare-metal/docs/bms-planning#server_configurations)
80
+ # The server type. [Available server types](https://cloud.google.com/bare-metal/
81
+ # docs/bms-planning#server_configurations)
208
82
  # Corresponds to the JSON property `machineType`
209
83
  # @return [String]
210
84
  attr_accessor :machine_type
@@ -217,17 +91,17 @@ module Google
217
91
  # @return [String]
218
92
  attr_accessor :name
219
93
 
220
- # List of networks associated with this instance.
94
+ # List of networks associated with this server.
221
95
  # Corresponds to the JSON property `networks`
222
96
  # @return [Array<Google::Apis::BaremetalsolutionV2::Network>]
223
97
  attr_accessor :networks
224
98
 
225
- # The state of this Instance.
99
+ # The state of the server.
226
100
  # Corresponds to the JSON property `state`
227
101
  # @return [String]
228
102
  attr_accessor :state
229
103
 
230
- # Output only. Update time stamp.
104
+ # Output only. Update a time stamp.
231
105
  # Corresponds to the JSON property `updateTime`
232
106
  # @return [String]
233
107
  attr_accessor :update_time
@@ -240,6 +114,8 @@ module Google
240
114
  def update!(**args)
241
115
  @create_time = args[:create_time] if args.key?(:create_time)
242
116
  @hyperthreading_enabled = args[:hyperthreading_enabled] if args.key?(:hyperthreading_enabled)
117
+ @id = args[:id] if args.key?(:id)
118
+ @interactive_serial_console_enabled = args[:interactive_serial_console_enabled] if args.key?(:interactive_serial_console_enabled)
243
119
  @labels = args[:labels] if args.key?(:labels)
244
120
  @luns = args[:luns] if args.key?(:luns)
245
121
  @machine_type = args[:machine_type] if args.key?(:machine_type)
@@ -250,16 +126,16 @@ module Google
250
126
  end
251
127
  end
252
128
 
253
- # Message for response to listing Instances.
129
+ # Response message for the list of servers.
254
130
  class ListInstancesResponse
255
131
  include Google::Apis::Core::Hashable
256
132
 
257
- # The list of Instance.
133
+ # The list of servers.
258
134
  # Corresponds to the JSON property `instances`
259
135
  # @return [Array<Google::Apis::BaremetalsolutionV2::Instance>]
260
136
  attr_accessor :instances
261
137
 
262
- # A token identifying a page of results the server should return.
138
+ # A token identifying a page of results from the server.
263
139
  # Corresponds to the JSON property `nextPageToken`
264
140
  # @return [String]
265
141
  attr_accessor :next_page_token
@@ -306,19 +182,24 @@ module Google
306
182
  end
307
183
  end
308
184
 
309
- # The response message for Operations.ListOperations.
310
- class ListOperationsResponse
185
+ # Response message containing the list of storage volume luns.
186
+ class ListLunsResponse
311
187
  include Google::Apis::Core::Hashable
312
188
 
313
- # The standard List next-page token.
189
+ # The list of luns.
190
+ # Corresponds to the JSON property `luns`
191
+ # @return [Array<Google::Apis::BaremetalsolutionV2::Lun>]
192
+ attr_accessor :luns
193
+
194
+ # A token identifying a page of results from the server.
314
195
  # Corresponds to the JSON property `nextPageToken`
315
196
  # @return [String]
316
197
  attr_accessor :next_page_token
317
198
 
318
- # A list of operations that matches the specified filter in the request.
319
- # Corresponds to the JSON property `operations`
320
- # @return [Array<Google::Apis::BaremetalsolutionV2::Operation>]
321
- attr_accessor :operations
199
+ # Locations that could not be reached.
200
+ # Corresponds to the JSON property `unreachable`
201
+ # @return [Array<String>]
202
+ attr_accessor :unreachable
322
203
 
323
204
  def initialize(**args)
324
205
  update!(**args)
@@ -326,16 +207,105 @@ module Google
326
207
 
327
208
  # Update properties of this object
328
209
  def update!(**args)
210
+ @luns = args[:luns] if args.key?(:luns)
329
211
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
330
- @operations = args[:operations] if args.key?(:operations)
212
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
331
213
  end
332
214
  end
333
215
 
334
- # Message for response to listing Volumes.
216
+ # Response message containing the list of networks.
217
+ class ListNetworksResponse
218
+ include Google::Apis::Core::Hashable
219
+
220
+ # The list of networks.
221
+ # Corresponds to the JSON property `networks`
222
+ # @return [Array<Google::Apis::BaremetalsolutionV2::Network>]
223
+ attr_accessor :networks
224
+
225
+ # A token identifying a page of results from the server.
226
+ # Corresponds to the JSON property `nextPageToken`
227
+ # @return [String]
228
+ attr_accessor :next_page_token
229
+
230
+ # Locations that could not be reached.
231
+ # Corresponds to the JSON property `unreachable`
232
+ # @return [Array<String>]
233
+ attr_accessor :unreachable
234
+
235
+ def initialize(**args)
236
+ update!(**args)
237
+ end
238
+
239
+ # Update properties of this object
240
+ def update!(**args)
241
+ @networks = args[:networks] if args.key?(:networks)
242
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
243
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
244
+ end
245
+ end
246
+
247
+ # Response message containing the list of snapshot schedule policies.
248
+ class ListSnapshotSchedulePoliciesResponse
249
+ include Google::Apis::Core::Hashable
250
+
251
+ # Token to retrieve the next page of results, or empty if there are no more
252
+ # results in the list.
253
+ # Corresponds to the JSON property `nextPageToken`
254
+ # @return [String]
255
+ attr_accessor :next_page_token
256
+
257
+ # The snapshot schedule policies registered in this project.
258
+ # Corresponds to the JSON property `snapshotSchedulePolicies`
259
+ # @return [Array<Google::Apis::BaremetalsolutionV2::SnapshotSchedulePolicy>]
260
+ attr_accessor :snapshot_schedule_policies
261
+
262
+ def initialize(**args)
263
+ update!(**args)
264
+ end
265
+
266
+ # Update properties of this object
267
+ def update!(**args)
268
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
269
+ @snapshot_schedule_policies = args[:snapshot_schedule_policies] if args.key?(:snapshot_schedule_policies)
270
+ end
271
+ end
272
+
273
+ # Response message containing the list of storage volume snapshots.
274
+ class ListVolumeSnapshotsResponse
275
+ include Google::Apis::Core::Hashable
276
+
277
+ # A token identifying a page of results from the server.
278
+ # Corresponds to the JSON property `nextPageToken`
279
+ # @return [String]
280
+ attr_accessor :next_page_token
281
+
282
+ # Locations that could not be reached.
283
+ # Corresponds to the JSON property `unreachable`
284
+ # @return [Array<String>]
285
+ attr_accessor :unreachable
286
+
287
+ # The list of storage volumes.
288
+ # Corresponds to the JSON property `volumeSnapshots`
289
+ # @return [Array<Google::Apis::BaremetalsolutionV2::VolumeSnapshot>]
290
+ attr_accessor :volume_snapshots
291
+
292
+ def initialize(**args)
293
+ update!(**args)
294
+ end
295
+
296
+ # Update properties of this object
297
+ def update!(**args)
298
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
299
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
300
+ @volume_snapshots = args[:volume_snapshots] if args.key?(:volume_snapshots)
301
+ end
302
+ end
303
+
304
+ # Response message containing the list of storage volumes.
335
305
  class ListVolumesResponse
336
306
  include Google::Apis::Core::Hashable
337
307
 
338
- # A token identifying a page of results the server should return.
308
+ # A token identifying a page of results from the server.
339
309
  # Corresponds to the JSON property `nextPageToken`
340
310
  # @return [String]
341
311
  attr_accessor :next_page_token
@@ -345,7 +315,7 @@ module Google
345
315
  # @return [Array<String>]
346
316
  attr_accessor :unreachable
347
317
 
348
- # The list of Volume.
318
+ # The list of storage volumes.
349
319
  # Corresponds to the JSON property `volumes`
350
320
  # @return [Array<Google::Apis::BaremetalsolutionV2::Volume>]
351
321
  attr_accessor :volumes
@@ -409,53 +379,63 @@ module Google
409
379
  end
410
380
  end
411
381
 
412
- # A storage Lun.
382
+ # A storage volume logical unit number (LUN).
413
383
  class Lun
414
384
  include Google::Apis::Core::Hashable
415
385
 
416
- # Whether this Lun is a boot Lun.
386
+ # Display if this LUN is a boot LUN.
417
387
  # Corresponds to the JSON property `bootLun`
418
388
  # @return [Boolean]
419
389
  attr_accessor :boot_lun
420
390
  alias_method :boot_lun?, :boot_lun
421
391
 
422
- # The Lun Multiprotocol type to ensure the characteristics of the LUN are
423
- # optimized for the Operating System.
392
+ # An identifier for the LUN, generated by the backend.
393
+ # Corresponds to the JSON property `id`
394
+ # @return [String]
395
+ attr_accessor :id
396
+
397
+ # The LUN multiprotocol type ensures the characteristics of the LUN are
398
+ # optimized for each operating system.
424
399
  # Corresponds to the JSON property `multiprotocolType`
425
400
  # @return [String]
426
401
  attr_accessor :multiprotocol_type
427
402
 
428
- # Output only. The name of this Lun.
403
+ # Output only. The name of the LUN.
429
404
  # Corresponds to the JSON property `name`
430
405
  # @return [String]
431
406
  attr_accessor :name
432
407
 
433
- # Whether this Lun is allowed to be shared between multiple physical servers.
434
- # Corresponds to the JSON property `shared`
408
+ # Display if this LUN can be shared between multiple physical servers.
409
+ # Corresponds to the JSON property `shareable`
435
410
  # @return [Boolean]
436
- attr_accessor :shared
437
- alias_method :shared?, :shared
411
+ attr_accessor :shareable
412
+ alias_method :shareable?, :shareable
438
413
 
439
- # The size of this Lun, in gigabytes.
414
+ # The size of this LUN, in gigabytes.
440
415
  # Corresponds to the JSON property `sizeGb`
441
416
  # @return [Fixnum]
442
417
  attr_accessor :size_gb
443
418
 
444
- # The state of this Volume.
419
+ # The state of this storage volume.
445
420
  # Corresponds to the JSON property `state`
446
421
  # @return [String]
447
422
  attr_accessor :state
448
423
 
449
- # The storage type of this Lun.
424
+ # The storage type for this LUN.
450
425
  # Corresponds to the JSON property `storageType`
451
426
  # @return [String]
452
427
  attr_accessor :storage_type
453
428
 
454
- # The storage volume that this Lun is attached to.
429
+ # Display the storage volume for this LUN.
455
430
  # Corresponds to the JSON property `storageVolume`
456
431
  # @return [String]
457
432
  attr_accessor :storage_volume
458
433
 
434
+ # The WWID for this LUN.
435
+ # Corresponds to the JSON property `wwid`
436
+ # @return [String]
437
+ attr_accessor :wwid
438
+
459
439
  def initialize(**args)
460
440
  update!(**args)
461
441
  end
@@ -463,50 +443,97 @@ module Google
463
443
  # Update properties of this object
464
444
  def update!(**args)
465
445
  @boot_lun = args[:boot_lun] if args.key?(:boot_lun)
446
+ @id = args[:id] if args.key?(:id)
466
447
  @multiprotocol_type = args[:multiprotocol_type] if args.key?(:multiprotocol_type)
467
448
  @name = args[:name] if args.key?(:name)
468
- @shared = args[:shared] if args.key?(:shared)
449
+ @shareable = args[:shareable] if args.key?(:shareable)
469
450
  @size_gb = args[:size_gb] if args.key?(:size_gb)
470
451
  @state = args[:state] if args.key?(:state)
471
452
  @storage_type = args[:storage_type] if args.key?(:storage_type)
472
453
  @storage_volume = args[:storage_volume] if args.key?(:storage_volume)
454
+ @wwid = args[:wwid] if args.key?(:wwid)
473
455
  end
474
456
  end
475
457
 
476
- # A network.
458
+ # A Network.
477
459
  class Network
478
460
  include Google::Apis::Core::Hashable
479
461
 
462
+ # The cidr of the Network.
463
+ # Corresponds to the JSON property `cidr`
464
+ # @return [String]
465
+ attr_accessor :cidr
466
+
467
+ # An identifier for the `Network`, generated by the backend.
468
+ # Corresponds to the JSON property `id`
469
+ # @return [String]
470
+ attr_accessor :id
471
+
480
472
  # IP address configured.
481
473
  # Corresponds to the JSON property `ipAddress`
482
474
  # @return [String]
483
475
  attr_accessor :ip_address
484
476
 
485
- # List of physical nics.
477
+ # Labels as key value pairs.
478
+ # Corresponds to the JSON property `labels`
479
+ # @return [Hash<String,String>]
480
+ attr_accessor :labels
481
+
482
+ # List of physical interfaces.
486
483
  # Corresponds to the JSON property `macAddress`
487
484
  # @return [Array<String>]
488
485
  attr_accessor :mac_address
489
486
 
490
- # Name of the network.
491
- # Corresponds to the JSON property `network`
487
+ # Output only. The resource name of this `Network`. Resource names are
488
+ # schemeless URIs that follow the conventions in https://cloud.google.com/apis/
489
+ # design/resource_names. Format: `projects/`project`/locations/`location`/
490
+ # networks/`network``
491
+ # Corresponds to the JSON property `name`
492
+ # @return [String]
493
+ attr_accessor :name
494
+
495
+ # IP range for reserved for services (e.g. NFS).
496
+ # Corresponds to the JSON property `servicesCidr`
497
+ # @return [String]
498
+ attr_accessor :services_cidr
499
+
500
+ # The Network state.
501
+ # Corresponds to the JSON property `state`
492
502
  # @return [String]
493
- attr_accessor :network
503
+ attr_accessor :state
494
504
 
495
505
  # The type of this network.
496
506
  # Corresponds to the JSON property `type`
497
507
  # @return [String]
498
508
  attr_accessor :type
499
509
 
510
+ # The vlan id of the Network.
511
+ # Corresponds to the JSON property `vlanId`
512
+ # @return [String]
513
+ attr_accessor :vlan_id
514
+
515
+ # A network VRF.
516
+ # Corresponds to the JSON property `vrf`
517
+ # @return [Google::Apis::BaremetalsolutionV2::Vrf]
518
+ attr_accessor :vrf
519
+
500
520
  def initialize(**args)
501
521
  update!(**args)
502
522
  end
503
523
 
504
524
  # Update properties of this object
505
525
  def update!(**args)
526
+ @cidr = args[:cidr] if args.key?(:cidr)
527
+ @id = args[:id] if args.key?(:id)
506
528
  @ip_address = args[:ip_address] if args.key?(:ip_address)
529
+ @labels = args[:labels] if args.key?(:labels)
507
530
  @mac_address = args[:mac_address] if args.key?(:mac_address)
508
- @network = args[:network] if args.key?(:network)
531
+ @name = args[:name] if args.key?(:name)
532
+ @services_cidr = args[:services_cidr] if args.key?(:services_cidr)
533
+ @state = args[:state] if args.key?(:state)
509
534
  @type = args[:type] if args.key?(:type)
535
+ @vlan_id = args[:vlan_id] if args.key?(:vlan_id)
536
+ @vrf = args[:vrf] if args.key?(:vrf)
510
537
  end
511
538
  end
512
539
 
@@ -572,48 +599,28 @@ module Google
572
599
  end
573
600
  end
574
601
 
575
- # Represents the metadata of the long-running operation.
576
- class OperationMetadata
602
+ # QOS policy parameters.
603
+ class QosPolicy
577
604
  include Google::Apis::Core::Hashable
578
605
 
579
- # Output only. API version used to start the operation.
580
- # Corresponds to the JSON property `apiVersion`
581
- # @return [String]
582
- attr_accessor :api_version
583
-
584
- # Output only. The time the operation was created.
585
- # Corresponds to the JSON property `createTime`
586
- # @return [String]
587
- attr_accessor :create_time
588
-
589
- # Output only. The time the operation finished running.
590
- # Corresponds to the JSON property `endTime`
591
- # @return [String]
592
- attr_accessor :end_time
593
-
594
- # Output only. Identifies whether the user has requested cancellation of the
595
- # operation. Operations that have successfully been cancelled have Operation.
596
- # error value with a google.rpc.Status.code of 1, corresponding to `Code.
597
- # CANCELLED`.
598
- # Corresponds to the JSON property `requestedCancellation`
599
- # @return [Boolean]
600
- attr_accessor :requested_cancellation
601
- alias_method :requested_cancellation?, :requested_cancellation
606
+ # The bandwidth permitted by the QOS policy, in gbps.
607
+ # Corresponds to the JSON property `bandwidthGbps`
608
+ # @return [Float]
609
+ attr_accessor :bandwidth_gbps
602
610
 
603
- # Output only. Human-readable status of the operation, if any.
604
- # Corresponds to the JSON property `statusMessage`
605
- # @return [String]
606
- attr_accessor :status_message
611
+ def initialize(**args)
612
+ update!(**args)
613
+ end
607
614
 
608
- # Output only. Server-defined resource path for the target of the operation.
609
- # Corresponds to the JSON property `target`
610
- # @return [String]
611
- attr_accessor :target
615
+ # Update properties of this object
616
+ def update!(**args)
617
+ @bandwidth_gbps = args[:bandwidth_gbps] if args.key?(:bandwidth_gbps)
618
+ end
619
+ end
612
620
 
613
- # Output only. Name of the verb executed by the operation.
614
- # Corresponds to the JSON property `verb`
615
- # @return [String]
616
- attr_accessor :verb
621
+ # Message requesting to reset a server.
622
+ class ResetInstanceRequest
623
+ include Google::Apis::Core::Hashable
617
624
 
618
625
  def initialize(**args)
619
626
  update!(**args)
@@ -621,134 +628,40 @@ module Google
621
628
 
622
629
  # Update properties of this object
623
630
  def update!(**args)
624
- @api_version = args[:api_version] if args.key?(:api_version)
625
- @create_time = args[:create_time] if args.key?(:create_time)
626
- @end_time = args[:end_time] if args.key?(:end_time)
627
- @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
628
- @status_message = args[:status_message] if args.key?(:status_message)
629
- @target = args[:target] if args.key?(:target)
630
- @verb = args[:verb] if args.key?(:verb)
631
631
  end
632
632
  end
633
633
 
634
- # An Identity and Access Management (IAM) policy, which specifies access
635
- # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
636
- # A `binding` binds one or more `members` to a single `role`. Members can be
637
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
638
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
639
- # role or a user-created custom role. For some types of Google Cloud resources,
640
- # a `binding` can also specify a `condition`, which is a logical expression that
641
- # allows access to a resource only if the expression evaluates to `true`. A
642
- # condition can add constraints based on attributes of the request, the resource,
643
- # or both. To learn which resources support conditions in their IAM policies,
644
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
645
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
646
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
647
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
648
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
649
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
650
- # title": "expirable access", "description": "Does not grant access after Sep
651
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
652
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
653
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
654
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
655
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
656
- # roles/resourcemanager.organizationViewer condition: title: expirable access
657
- # description: Does not grant access after Sep 2020 expression: request.time <
658
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
659
- # description of IAM and its features, see the [IAM documentation](https://cloud.
660
- # google.com/iam/docs/).
661
- class Policy
634
+ # Message for restoring a volume snapshot.
635
+ class RestoreVolumeSnapshotRequest
662
636
  include Google::Apis::Core::Hashable
663
637
 
664
- # Associates a list of `members` to a `role`. Optionally, may specify a `
665
- # condition` that determines how and when the `bindings` are applied. Each of
666
- # the `bindings` must contain at least one member.
667
- # Corresponds to the JSON property `bindings`
668
- # @return [Array<Google::Apis::BaremetalsolutionV2::Binding>]
669
- attr_accessor :bindings
670
-
671
- # `etag` is used for optimistic concurrency control as a way to help prevent
672
- # simultaneous updates of a policy from overwriting each other. It is strongly
673
- # suggested that systems make use of the `etag` in the read-modify-write cycle
674
- # to perform policy updates in order to avoid race conditions: An `etag` is
675
- # returned in the response to `getIamPolicy`, and systems are expected to put
676
- # that etag in the request to `setIamPolicy` to ensure that their change will be
677
- # applied to the same version of the policy. **Important:** If you use IAM
678
- # Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
679
- # If you omit this field, then IAM allows you to overwrite a version `3` policy
680
- # with a version `1` policy, and all of the conditions in the version `3` policy
681
- # are lost.
682
- # Corresponds to the JSON property `etag`
683
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
684
- # @return [String]
685
- attr_accessor :etag
686
-
687
- # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
688
- # Requests that specify an invalid value are rejected. Any operation that
689
- # affects conditional role bindings must specify version `3`. This requirement
690
- # applies to the following operations: * Getting a policy that includes a
691
- # conditional role binding * Adding a conditional role binding to a policy *
692
- # Changing a conditional role binding in a policy * Removing any role binding,
693
- # with or without a condition, from a policy that includes conditions **
694
- # Important:** If you use IAM Conditions, you must include the `etag` field
695
- # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
696
- # to overwrite a version `3` policy with a version `1` policy, and all of the
697
- # conditions in the version `3` policy are lost. If a policy does not include
698
- # any conditions, operations on that policy may specify any valid version or
699
- # leave the field unset. To learn which resources support conditions in their
700
- # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
701
- # conditions/resource-policies).
702
- # Corresponds to the JSON property `version`
703
- # @return [Fixnum]
704
- attr_accessor :version
705
-
706
638
  def initialize(**args)
707
639
  update!(**args)
708
640
  end
709
641
 
710
642
  # Update properties of this object
711
643
  def update!(**args)
712
- @bindings = args[:bindings] if args.key?(:bindings)
713
- @etag = args[:etag] if args.key?(:etag)
714
- @version = args[:version] if args.key?(:version)
715
644
  end
716
645
  end
717
646
 
718
- # Request message for `SetIamPolicy` method.
719
- class SetIamPolicyRequest
647
+ # A snapshot schedule.
648
+ class Schedule
720
649
  include Google::Apis::Core::Hashable
721
650
 
722
- # An Identity and Access Management (IAM) policy, which specifies access
723
- # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
724
- # A `binding` binds one or more `members` to a single `role`. Members can be
725
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
726
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
727
- # role or a user-created custom role. For some types of Google Cloud resources,
728
- # a `binding` can also specify a `condition`, which is a logical expression that
729
- # allows access to a resource only if the expression evaluates to `true`. A
730
- # condition can add constraints based on attributes of the request, the resource,
731
- # or both. To learn which resources support conditions in their IAM policies,
732
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
733
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
734
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
735
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
736
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
737
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
738
- # title": "expirable access", "description": "Does not grant access after Sep
739
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
740
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
741
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
742
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
743
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
744
- # roles/resourcemanager.organizationViewer condition: title: expirable access
745
- # description: Does not grant access after Sep 2020 expression: request.time <
746
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
747
- # description of IAM and its features, see the [IAM documentation](https://cloud.
748
- # google.com/iam/docs/).
749
- # Corresponds to the JSON property `policy`
750
- # @return [Google::Apis::BaremetalsolutionV2::Policy]
751
- attr_accessor :policy
651
+ # A crontab-like specification that the schedule uses to take snapshots.
652
+ # Corresponds to the JSON property `crontabSpec`
653
+ # @return [String]
654
+ attr_accessor :crontab_spec
655
+
656
+ # A list of snapshot names created in this schedule.
657
+ # Corresponds to the JSON property `prefix`
658
+ # @return [String]
659
+ attr_accessor :prefix
660
+
661
+ # The maximum number of snapshots to retain in this schedule.
662
+ # Corresponds to the JSON property `retentionCount`
663
+ # @return [Fixnum]
664
+ attr_accessor :retention_count
752
665
 
753
666
  def initialize(**args)
754
667
  update!(**args)
@@ -756,28 +669,30 @@ module Google
756
669
 
757
670
  # Update properties of this object
758
671
  def update!(**args)
759
- @policy = args[:policy] if args.key?(:policy)
672
+ @crontab_spec = args[:crontab_spec] if args.key?(:crontab_spec)
673
+ @prefix = args[:prefix] if args.key?(:prefix)
674
+ @retention_count = args[:retention_count] if args.key?(:retention_count)
760
675
  end
761
676
  end
762
677
 
763
- # Details about snapshot space reservation and usage on the Volume.
678
+ # Details about snapshot space reservation and usage on the storage volume.
764
679
  class SnapshotReservationDetail
765
680
  include Google::Apis::Core::Hashable
766
681
 
767
- # The space on this Volume reserved for snapshotsk, provided in GiB.
682
+ # The space on this storage volume reserved for snapshots, shown in GiB.
768
683
  # Corresponds to the JSON property `reservedSpaceGib`
769
684
  # @return [Fixnum]
770
685
  attr_accessor :reserved_space_gib
771
686
 
772
- # The amount, in GiB, of space available in this Volume's reserved snapshot
773
- # space.
687
+ # The amount, in GiB, of available space in this storage volume's reserved
688
+ # snapshot space.
774
689
  # Corresponds to the JSON property `reservedSpaceRemainingGib`
775
690
  # @return [Fixnum]
776
691
  attr_accessor :reserved_space_remaining_gib
777
692
 
778
- # The percent of reserved snapshot space on this Volume that is actually used by
779
- # snapshot copies. This may be higher than 100% if snapshot copies are occupying
780
- # more space than has been reserved on the Volume.
693
+ # The percent of snapshot space on this storage volume actually being used by
694
+ # the snapshot copies. This value might be higher than 100% if the snapshot
695
+ # copies have overflowed into the data portion of the storage volume.
781
696
  # Corresponds to the JSON property `reservedSpaceUsedPercent`
782
697
  # @return [Fixnum]
783
698
  attr_accessor :reserved_space_used_percent
@@ -794,6 +709,50 @@ module Google
794
709
  end
795
710
  end
796
711
 
712
+ # A snapshot schedule policy.
713
+ class SnapshotSchedulePolicy
714
+ include Google::Apis::Core::Hashable
715
+
716
+ # The description of the snapshot schedule policy.
717
+ # Corresponds to the JSON property `description`
718
+ # @return [String]
719
+ attr_accessor :description
720
+
721
+ # An identifier for the snapshot schedule policy, generated by the backend.
722
+ # Corresponds to the JSON property `id`
723
+ # @return [String]
724
+ attr_accessor :id
725
+
726
+ # Labels as key value pairs.
727
+ # Corresponds to the JSON property `labels`
728
+ # @return [Hash<String,String>]
729
+ attr_accessor :labels
730
+
731
+ # Output only. The name of the snapshot schedule policy.
732
+ # Corresponds to the JSON property `name`
733
+ # @return [String]
734
+ attr_accessor :name
735
+
736
+ # The snapshot schedules contained in this policy. You can specify a maximum of
737
+ # 5 schedules.
738
+ # Corresponds to the JSON property `schedules`
739
+ # @return [Array<Google::Apis::BaremetalsolutionV2::Schedule>]
740
+ attr_accessor :schedules
741
+
742
+ def initialize(**args)
743
+ update!(**args)
744
+ end
745
+
746
+ # Update properties of this object
747
+ def update!(**args)
748
+ @description = args[:description] if args.key?(:description)
749
+ @id = args[:id] if args.key?(:id)
750
+ @labels = args[:labels] if args.key?(:labels)
751
+ @name = args[:name] if args.key?(:name)
752
+ @schedules = args[:schedules] if args.key?(:schedules)
753
+ end
754
+ end
755
+
797
756
  # The `Status` type defines a logical error model that is suitable for different
798
757
  # programming environments, including REST APIs and RPC APIs. It is used by [
799
758
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -833,16 +792,29 @@ module Google
833
792
  end
834
793
  end
835
794
 
836
- # Request message for `TestIamPermissions` method.
837
- class TestIamPermissionsRequest
795
+ # A network VRF.
796
+ class Vrf
838
797
  include Google::Apis::Core::Hashable
839
798
 
840
- # The set of permissions to check for the `resource`. Permissions with wildcards
841
- # (such as '*' or 'storage.*') are not allowed. For more information see [IAM
842
- # Overview](https://cloud.google.com/iam/docs/overview#permissions).
843
- # Corresponds to the JSON property `permissions`
844
- # @return [Array<String>]
845
- attr_accessor :permissions
799
+ # The name of the VRF.
800
+ # Corresponds to the JSON property `name`
801
+ # @return [String]
802
+ attr_accessor :name
803
+
804
+ # QOS policy parameters.
805
+ # Corresponds to the JSON property `qosPolicy`
806
+ # @return [Google::Apis::BaremetalsolutionV2::QosPolicy]
807
+ attr_accessor :qos_policy
808
+
809
+ # The possible state of VRF.
810
+ # Corresponds to the JSON property `state`
811
+ # @return [String]
812
+ attr_accessor :state
813
+
814
+ # The list of VLAN attachments for the VRF.
815
+ # Corresponds to the JSON property `vlanAttachments`
816
+ # @return [Array<Google::Apis::BaremetalsolutionV2::VlanAttachment>]
817
+ attr_accessor :vlan_attachments
846
818
 
847
819
  def initialize(**args)
848
820
  update!(**args)
@@ -850,18 +822,31 @@ module Google
850
822
 
851
823
  # Update properties of this object
852
824
  def update!(**args)
853
- @permissions = args[:permissions] if args.key?(:permissions)
825
+ @name = args[:name] if args.key?(:name)
826
+ @qos_policy = args[:qos_policy] if args.key?(:qos_policy)
827
+ @state = args[:state] if args.key?(:state)
828
+ @vlan_attachments = args[:vlan_attachments] if args.key?(:vlan_attachments)
854
829
  end
855
830
  end
856
831
 
857
- # Response message for `TestIamPermissions` method.
858
- class TestIamPermissionsResponse
832
+ # VLAN attachment details.
833
+ class VlanAttachment
859
834
  include Google::Apis::Core::Hashable
860
835
 
861
- # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
862
- # Corresponds to the JSON property `permissions`
863
- # @return [Array<String>]
864
- attr_accessor :permissions
836
+ # The peer IP of the attachment.
837
+ # Corresponds to the JSON property `peerIp`
838
+ # @return [String]
839
+ attr_accessor :peer_ip
840
+
841
+ # The peer vlan ID of the attachment.
842
+ # Corresponds to the JSON property `peerVlanId`
843
+ # @return [Fixnum]
844
+ attr_accessor :peer_vlan_id
845
+
846
+ # The router IP of the attachment.
847
+ # Corresponds to the JSON property `routerIp`
848
+ # @return [String]
849
+ attr_accessor :router_ip
865
850
 
866
851
  def initialize(**args)
867
852
  update!(**args)
@@ -869,27 +854,39 @@ module Google
869
854
 
870
855
  # Update properties of this object
871
856
  def update!(**args)
872
- @permissions = args[:permissions] if args.key?(:permissions)
857
+ @peer_ip = args[:peer_ip] if args.key?(:peer_ip)
858
+ @peer_vlan_id = args[:peer_vlan_id] if args.key?(:peer_vlan_id)
859
+ @router_ip = args[:router_ip] if args.key?(:router_ip)
873
860
  end
874
861
  end
875
862
 
876
- # A storage Volume.
863
+ # A storage volume.
877
864
  class Volume
878
865
  include Google::Apis::Core::Hashable
879
866
 
880
- # The size, in GiB, that this Volume has expanded as a result of an auto grow
881
- # policy. In the absence of auto-grow, the value is 0.
867
+ # The size, in GiB, that this storage volume has expanded as a result of an auto
868
+ # grow policy. In the absence of auto-grow, the value is 0.
882
869
  # Corresponds to the JSON property `autoGrownSizeGib`
883
870
  # @return [Fixnum]
884
871
  attr_accessor :auto_grown_size_gib
885
872
 
886
- # The current size of this Volume, in GiB, including space reserved for
887
- # snapshots. This size may be different than the requested size if the Volume
888
- # has been configured with auto grow or auto shrink.
873
+ # The current size of this storage volume, in GiB, including space reserved for
874
+ # snapshots. This size might be different than the requested size if the storage
875
+ # volume has been configured with auto grow or auto shrink.
889
876
  # Corresponds to the JSON property `currentSizeGib`
890
877
  # @return [Fixnum]
891
878
  attr_accessor :current_size_gib
892
879
 
880
+ # An identifier for the `Volume`, generated by the backend.
881
+ # Corresponds to the JSON property `id`
882
+ # @return [String]
883
+ attr_accessor :id
884
+
885
+ # Labels as key value pairs.
886
+ # Corresponds to the JSON property `labels`
887
+ # @return [Hash<String,String>]
888
+ attr_accessor :labels
889
+
893
890
  # Output only. The resource name of this `Volume`. Resource names are schemeless
894
891
  # URIs that follow the conventions in https://cloud.google.com/apis/design/
895
892
  # resource_names. Format: `projects/`project`/locations/`location`/volumes/`
@@ -898,28 +895,38 @@ module Google
898
895
  # @return [String]
899
896
  attr_accessor :name
900
897
 
901
- # The space remaining in the Volume for new LUNs, in GiB, excluding space
902
- # reserved for snapshots.
898
+ # The space remaining in the storage volume for new LUNs, in GiB, excluding
899
+ # space reserved for snapshots.
903
900
  # Corresponds to the JSON property `remainingSpaceGib`
904
901
  # @return [Fixnum]
905
902
  attr_accessor :remaining_space_gib
906
903
 
907
- # The requested size of this Volume, in GiB.
904
+ # The requested size of this storage volume, in GiB.
908
905
  # Corresponds to the JSON property `requestedSizeGib`
909
906
  # @return [Fixnum]
910
907
  attr_accessor :requested_size_gib
911
908
 
912
- # Details about snapshot space reservation and usage on the Volume.
909
+ # The behavior to use when snapshot reserved space is full.
910
+ # Corresponds to the JSON property `snapshotAutoDeleteBehavior`
911
+ # @return [String]
912
+ attr_accessor :snapshot_auto_delete_behavior
913
+
914
+ # Details about snapshot space reservation and usage on the storage volume.
913
915
  # Corresponds to the JSON property `snapshotReservationDetail`
914
916
  # @return [Google::Apis::BaremetalsolutionV2::SnapshotReservationDetail]
915
917
  attr_accessor :snapshot_reservation_detail
916
918
 
917
- # The state of this Volume.
919
+ # The name of the snapshot schedule policy in use for this volume, if any.
920
+ # Corresponds to the JSON property `snapshotSchedulePolicy`
921
+ # @return [String]
922
+ attr_accessor :snapshot_schedule_policy
923
+
924
+ # The state of this storage volume.
918
925
  # Corresponds to the JSON property `state`
919
926
  # @return [String]
920
927
  attr_accessor :state
921
928
 
922
- # The storage type of this Volume.
929
+ # The storage type for this volume.
923
930
  # Corresponds to the JSON property `storageType`
924
931
  # @return [String]
925
932
  attr_accessor :storage_type
@@ -932,14 +939,67 @@ module Google
932
939
  def update!(**args)
933
940
  @auto_grown_size_gib = args[:auto_grown_size_gib] if args.key?(:auto_grown_size_gib)
934
941
  @current_size_gib = args[:current_size_gib] if args.key?(:current_size_gib)
942
+ @id = args[:id] if args.key?(:id)
943
+ @labels = args[:labels] if args.key?(:labels)
935
944
  @name = args[:name] if args.key?(:name)
936
945
  @remaining_space_gib = args[:remaining_space_gib] if args.key?(:remaining_space_gib)
937
946
  @requested_size_gib = args[:requested_size_gib] if args.key?(:requested_size_gib)
947
+ @snapshot_auto_delete_behavior = args[:snapshot_auto_delete_behavior] if args.key?(:snapshot_auto_delete_behavior)
938
948
  @snapshot_reservation_detail = args[:snapshot_reservation_detail] if args.key?(:snapshot_reservation_detail)
949
+ @snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy)
939
950
  @state = args[:state] if args.key?(:state)
940
951
  @storage_type = args[:storage_type] if args.key?(:storage_type)
941
952
  end
942
953
  end
954
+
955
+ # Snapshot registered for a given storage volume.
956
+ class VolumeSnapshot
957
+ include Google::Apis::Core::Hashable
958
+
959
+ # Output only. The creation time of the storage volume snapshot.
960
+ # Corresponds to the JSON property `createTime`
961
+ # @return [String]
962
+ attr_accessor :create_time
963
+
964
+ # The description of the storage volume snapshot.
965
+ # Corresponds to the JSON property `description`
966
+ # @return [String]
967
+ attr_accessor :description
968
+
969
+ # An identifier for the snapshot, generated by the backend.
970
+ # Corresponds to the JSON property `id`
971
+ # @return [String]
972
+ attr_accessor :id
973
+
974
+ # Output only. The name of the storage volume snapshot.
975
+ # Corresponds to the JSON property `name`
976
+ # @return [String]
977
+ attr_accessor :name
978
+
979
+ # The size of the storage volume snapshot, in bytes.
980
+ # Corresponds to the JSON property `sizeBytes`
981
+ # @return [Fixnum]
982
+ attr_accessor :size_bytes
983
+
984
+ # The storage volume this snapshot belongs to.
985
+ # Corresponds to the JSON property `storageVolume`
986
+ # @return [String]
987
+ attr_accessor :storage_volume
988
+
989
+ def initialize(**args)
990
+ update!(**args)
991
+ end
992
+
993
+ # Update properties of this object
994
+ def update!(**args)
995
+ @create_time = args[:create_time] if args.key?(:create_time)
996
+ @description = args[:description] if args.key?(:description)
997
+ @id = args[:id] if args.key?(:id)
998
+ @name = args[:name] if args.key?(:name)
999
+ @size_bytes = args[:size_bytes] if args.key?(:size_bytes)
1000
+ @storage_volume = args[:storage_volume] if args.key?(:storage_volume)
1001
+ end
1002
+ end
943
1003
  end
944
1004
  end
945
1005
  end