google-apis-baremetalsolution_v2 0.1.0 → 0.5.0

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.
@@ -22,77 +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
25
  # The request message for Operations.CancelOperation.
97
26
  class CancelOperationRequest
98
27
  include Google::Apis::Core::Hashable
@@ -123,88 +52,41 @@ module Google
123
52
  end
124
53
  end
125
54
 
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.
55
+ # A server.
181
56
  class Instance
182
57
  include Google::Apis::Core::Hashable
183
58
 
184
- # Output only. Create time stamp.
59
+ # Output only. Create a time stamp.
185
60
  # Corresponds to the JSON property `createTime`
186
61
  # @return [String]
187
62
  attr_accessor :create_time
188
63
 
189
- # True if hyperthreading enabled for the instance, false otherwise. The default
64
+ # True if you enable hyperthreading for the server, otherwise false. The default
190
65
  # value is false.
191
66
  # Corresponds to the JSON property `hyperthreadingEnabled`
192
67
  # @return [Boolean]
193
68
  attr_accessor :hyperthreading_enabled
194
69
  alias_method :hyperthreading_enabled?, :hyperthreading_enabled
195
70
 
71
+ # True if the interactive serial console feature is enabled for the instance,
72
+ # false otherwise. The default value is false.
73
+ # Corresponds to the JSON property `interactiveSerialConsoleEnabled`
74
+ # @return [Boolean]
75
+ attr_accessor :interactive_serial_console_enabled
76
+ alias_method :interactive_serial_console_enabled?, :interactive_serial_console_enabled
77
+
196
78
  # Labels as key value pairs.
197
79
  # Corresponds to the JSON property `labels`
198
80
  # @return [Hash<String,String>]
199
81
  attr_accessor :labels
200
82
 
201
- # List of luns associated with this instance.
83
+ # List of LUNs associated with this server.
202
84
  # Corresponds to the JSON property `luns`
203
85
  # @return [Array<Google::Apis::BaremetalsolutionV2::Lun>]
204
86
  attr_accessor :luns
205
87
 
206
- # The type of this Instance. [Available Instance types](https://cloud.google.com/
207
- # bare-metal/docs/bms-planning#server_configurations)
88
+ # The server type. [Available server types](https://cloud.google.com/bare-metal/
89
+ # docs/bms-planning#server_configurations)
208
90
  # Corresponds to the JSON property `machineType`
209
91
  # @return [String]
210
92
  attr_accessor :machine_type
@@ -217,17 +99,17 @@ module Google
217
99
  # @return [String]
218
100
  attr_accessor :name
219
101
 
220
- # List of networks associated with this instance.
102
+ # List of networks associated with this server.
221
103
  # Corresponds to the JSON property `networks`
222
104
  # @return [Array<Google::Apis::BaremetalsolutionV2::Network>]
223
105
  attr_accessor :networks
224
106
 
225
- # The state of this Instance.
107
+ # The state of the server.
226
108
  # Corresponds to the JSON property `state`
227
109
  # @return [String]
228
110
  attr_accessor :state
229
111
 
230
- # Output only. Update time stamp.
112
+ # Output only. Update a time stamp.
231
113
  # Corresponds to the JSON property `updateTime`
232
114
  # @return [String]
233
115
  attr_accessor :update_time
@@ -240,6 +122,7 @@ module Google
240
122
  def update!(**args)
241
123
  @create_time = args[:create_time] if args.key?(:create_time)
242
124
  @hyperthreading_enabled = args[:hyperthreading_enabled] if args.key?(:hyperthreading_enabled)
125
+ @interactive_serial_console_enabled = args[:interactive_serial_console_enabled] if args.key?(:interactive_serial_console_enabled)
243
126
  @labels = args[:labels] if args.key?(:labels)
244
127
  @luns = args[:luns] if args.key?(:luns)
245
128
  @machine_type = args[:machine_type] if args.key?(:machine_type)
@@ -250,16 +133,16 @@ module Google
250
133
  end
251
134
  end
252
135
 
253
- # Message for response to listing Instances.
136
+ # Response message for the list of servers.
254
137
  class ListInstancesResponse
255
138
  include Google::Apis::Core::Hashable
256
139
 
257
- # The list of Instance.
140
+ # The list of servers.
258
141
  # Corresponds to the JSON property `instances`
259
142
  # @return [Array<Google::Apis::BaremetalsolutionV2::Instance>]
260
143
  attr_accessor :instances
261
144
 
262
- # A token identifying a page of results the server should return.
145
+ # A token identifying a page of results from the server.
263
146
  # Corresponds to the JSON property `nextPageToken`
264
147
  # @return [String]
265
148
  attr_accessor :next_page_token
@@ -306,6 +189,68 @@ module Google
306
189
  end
307
190
  end
308
191
 
192
+ # Response message containing the list of storage volume luns.
193
+ class ListLunsResponse
194
+ include Google::Apis::Core::Hashable
195
+
196
+ # The list of luns.
197
+ # Corresponds to the JSON property `luns`
198
+ # @return [Array<Google::Apis::BaremetalsolutionV2::Lun>]
199
+ attr_accessor :luns
200
+
201
+ # A token identifying a page of results from the server.
202
+ # Corresponds to the JSON property `nextPageToken`
203
+ # @return [String]
204
+ attr_accessor :next_page_token
205
+
206
+ # Locations that could not be reached.
207
+ # Corresponds to the JSON property `unreachable`
208
+ # @return [Array<String>]
209
+ attr_accessor :unreachable
210
+
211
+ def initialize(**args)
212
+ update!(**args)
213
+ end
214
+
215
+ # Update properties of this object
216
+ def update!(**args)
217
+ @luns = args[:luns] if args.key?(:luns)
218
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
219
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
220
+ end
221
+ end
222
+
223
+ # Response message containing the list of networks.
224
+ class ListNetworksResponse
225
+ include Google::Apis::Core::Hashable
226
+
227
+ # The list of networks.
228
+ # Corresponds to the JSON property `networks`
229
+ # @return [Array<Google::Apis::BaremetalsolutionV2::Network>]
230
+ attr_accessor :networks
231
+
232
+ # A token identifying a page of results from the server.
233
+ # Corresponds to the JSON property `nextPageToken`
234
+ # @return [String]
235
+ attr_accessor :next_page_token
236
+
237
+ # Locations that could not be reached.
238
+ # Corresponds to the JSON property `unreachable`
239
+ # @return [Array<String>]
240
+ attr_accessor :unreachable
241
+
242
+ def initialize(**args)
243
+ update!(**args)
244
+ end
245
+
246
+ # Update properties of this object
247
+ def update!(**args)
248
+ @networks = args[:networks] if args.key?(:networks)
249
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
250
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
251
+ end
252
+ end
253
+
309
254
  # The response message for Operations.ListOperations.
310
255
  class ListOperationsResponse
311
256
  include Google::Apis::Core::Hashable
@@ -331,6 +276,94 @@ module Google
331
276
  end
332
277
  end
333
278
 
279
+ # Response message containing the list of snapshot schedule policies.
280
+ class ListSnapshotSchedulePoliciesResponse
281
+ include Google::Apis::Core::Hashable
282
+
283
+ # Token to retrieve the next page of results, or empty if there are no more
284
+ # results in the list.
285
+ # Corresponds to the JSON property `nextPageToken`
286
+ # @return [String]
287
+ attr_accessor :next_page_token
288
+
289
+ # The snapshot schedule policies registered in this project.
290
+ # Corresponds to the JSON property `snapshotSchedulePolicies`
291
+ # @return [Array<Google::Apis::BaremetalsolutionV2::SnapshotSchedulePolicy>]
292
+ attr_accessor :snapshot_schedule_policies
293
+
294
+ def initialize(**args)
295
+ update!(**args)
296
+ end
297
+
298
+ # Update properties of this object
299
+ def update!(**args)
300
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
301
+ @snapshot_schedule_policies = args[:snapshot_schedule_policies] if args.key?(:snapshot_schedule_policies)
302
+ end
303
+ end
304
+
305
+ # Response message containing the list of storage volume snapshots.
306
+ class ListVolumeSnapshotsResponse
307
+ include Google::Apis::Core::Hashable
308
+
309
+ # A token identifying a page of results from the server.
310
+ # Corresponds to the JSON property `nextPageToken`
311
+ # @return [String]
312
+ attr_accessor :next_page_token
313
+
314
+ # Locations that could not be reached.
315
+ # Corresponds to the JSON property `unreachable`
316
+ # @return [Array<String>]
317
+ attr_accessor :unreachable
318
+
319
+ # The list of storage volumes.
320
+ # Corresponds to the JSON property `volumeSnapshots`
321
+ # @return [Array<Google::Apis::BaremetalsolutionV2::VolumeSnapshot>]
322
+ attr_accessor :volume_snapshots
323
+
324
+ def initialize(**args)
325
+ update!(**args)
326
+ end
327
+
328
+ # Update properties of this object
329
+ def update!(**args)
330
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
331
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
332
+ @volume_snapshots = args[:volume_snapshots] if args.key?(:volume_snapshots)
333
+ end
334
+ end
335
+
336
+ # Response message containing the list of storage volumes.
337
+ class ListVolumesResponse
338
+ include Google::Apis::Core::Hashable
339
+
340
+ # A token identifying a page of results from the server.
341
+ # Corresponds to the JSON property `nextPageToken`
342
+ # @return [String]
343
+ attr_accessor :next_page_token
344
+
345
+ # Locations that could not be reached.
346
+ # Corresponds to the JSON property `unreachable`
347
+ # @return [Array<String>]
348
+ attr_accessor :unreachable
349
+
350
+ # The list of storage volumes.
351
+ # Corresponds to the JSON property `volumes`
352
+ # @return [Array<Google::Apis::BaremetalsolutionV2::Volume>]
353
+ attr_accessor :volumes
354
+
355
+ def initialize(**args)
356
+ update!(**args)
357
+ end
358
+
359
+ # Update properties of this object
360
+ def update!(**args)
361
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
362
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
363
+ @volumes = args[:volumes] if args.key?(:volumes)
364
+ end
365
+ end
366
+
334
367
  # A resource that represents Google Cloud Platform location.
335
368
  class Location
336
369
  include Google::Apis::Core::Hashable
@@ -378,48 +411,58 @@ module Google
378
411
  end
379
412
  end
380
413
 
381
- # A storage Lun.
414
+ # A storage volume logical unit number (LUN).
382
415
  class Lun
383
416
  include Google::Apis::Core::Hashable
384
417
 
385
- # Whether this Lun is a boot Lun.
418
+ # Display if this LUN is a boot LUN.
386
419
  # Corresponds to the JSON property `bootLun`
387
420
  # @return [Boolean]
388
421
  attr_accessor :boot_lun
389
422
  alias_method :boot_lun?, :boot_lun
390
423
 
391
- # The Lun Multiprotocol type to ensure the characteristics of the LUN are
392
- # optimized for the Operating System.
424
+ # The LUN multiprotocol type ensures the characteristics of the LUN are
425
+ # optimized for each operating system.
393
426
  # Corresponds to the JSON property `multiprotocolType`
394
427
  # @return [String]
395
428
  attr_accessor :multiprotocol_type
396
429
 
397
- # Output only. The name of this Lun.
430
+ # Output only. The name of the LUN.
398
431
  # Corresponds to the JSON property `name`
399
432
  # @return [String]
400
433
  attr_accessor :name
401
434
 
402
- # Whether this Lun is allowed to be shared between multiple physical servers.
403
- # Corresponds to the JSON property `shared`
435
+ # Display if this LUN can be shared between multiple physical servers.
436
+ # Corresponds to the JSON property `shareable`
404
437
  # @return [Boolean]
405
- attr_accessor :shared
406
- alias_method :shared?, :shared
438
+ attr_accessor :shareable
439
+ alias_method :shareable?, :shareable
407
440
 
408
- # The size of this Lun, in gigabytes.
441
+ # The size of this LUN, in gigabytes.
409
442
  # Corresponds to the JSON property `sizeGb`
410
443
  # @return [Fixnum]
411
444
  attr_accessor :size_gb
412
445
 
413
- # The state of this Volume.
446
+ # The state of this storage volume.
414
447
  # Corresponds to the JSON property `state`
415
448
  # @return [String]
416
449
  attr_accessor :state
417
450
 
418
- # The storage volume that this Lun is attached to.
451
+ # The storage type for this LUN.
452
+ # Corresponds to the JSON property `storageType`
453
+ # @return [String]
454
+ attr_accessor :storage_type
455
+
456
+ # Display the storage volume for this LUN.
419
457
  # Corresponds to the JSON property `storageVolume`
420
458
  # @return [String]
421
459
  attr_accessor :storage_volume
422
460
 
461
+ # The WWID for this LUN.
462
+ # Corresponds to the JSON property `wwid`
463
+ # @return [String]
464
+ attr_accessor :wwid
465
+
423
466
  def initialize(**args)
424
467
  update!(**args)
425
468
  end
@@ -429,47 +472,84 @@ module Google
429
472
  @boot_lun = args[:boot_lun] if args.key?(:boot_lun)
430
473
  @multiprotocol_type = args[:multiprotocol_type] if args.key?(:multiprotocol_type)
431
474
  @name = args[:name] if args.key?(:name)
432
- @shared = args[:shared] if args.key?(:shared)
475
+ @shareable = args[:shareable] if args.key?(:shareable)
433
476
  @size_gb = args[:size_gb] if args.key?(:size_gb)
434
477
  @state = args[:state] if args.key?(:state)
478
+ @storage_type = args[:storage_type] if args.key?(:storage_type)
435
479
  @storage_volume = args[:storage_volume] if args.key?(:storage_volume)
480
+ @wwid = args[:wwid] if args.key?(:wwid)
436
481
  end
437
482
  end
438
483
 
439
- # A network.
484
+ # A Network.
440
485
  class Network
441
486
  include Google::Apis::Core::Hashable
442
487
 
488
+ # The cidr of the Network.
489
+ # Corresponds to the JSON property `cidr`
490
+ # @return [String]
491
+ attr_accessor :cidr
492
+
443
493
  # IP address configured.
444
494
  # Corresponds to the JSON property `ipAddress`
445
495
  # @return [String]
446
496
  attr_accessor :ip_address
447
497
 
448
- # List of physical nics.
498
+ # List of physical interfaces.
449
499
  # Corresponds to the JSON property `macAddress`
450
500
  # @return [Array<String>]
451
501
  attr_accessor :mac_address
452
502
 
503
+ # Output only. The resource name of this `Network`. Resource names are
504
+ # schemeless URIs that follow the conventions in https://cloud.google.com/apis/
505
+ # design/resource_names. Format: `projects/`project`/locations/`location`/
506
+ # networks/`network`` This field will contain the same value as field "network",
507
+ # which will soon be deprecated. Please use this field to reference the name of
508
+ # the network resource.
509
+ # Corresponds to the JSON property `name`
510
+ # @return [String]
511
+ attr_accessor :name
512
+
453
513
  # Name of the network.
454
514
  # Corresponds to the JSON property `network`
455
515
  # @return [String]
456
516
  attr_accessor :network
457
517
 
518
+ # The Network state.
519
+ # Corresponds to the JSON property `state`
520
+ # @return [String]
521
+ attr_accessor :state
522
+
458
523
  # The type of this network.
459
524
  # Corresponds to the JSON property `type`
460
525
  # @return [String]
461
526
  attr_accessor :type
462
527
 
528
+ # The vlan id of the Network.
529
+ # Corresponds to the JSON property `vlanId`
530
+ # @return [String]
531
+ attr_accessor :vlan_id
532
+
533
+ # A network VRF.
534
+ # Corresponds to the JSON property `vrf`
535
+ # @return [Google::Apis::BaremetalsolutionV2::Vrf]
536
+ attr_accessor :vrf
537
+
463
538
  def initialize(**args)
464
539
  update!(**args)
465
540
  end
466
541
 
467
542
  # Update properties of this object
468
543
  def update!(**args)
544
+ @cidr = args[:cidr] if args.key?(:cidr)
469
545
  @ip_address = args[:ip_address] if args.key?(:ip_address)
470
546
  @mac_address = args[:mac_address] if args.key?(:mac_address)
547
+ @name = args[:name] if args.key?(:name)
471
548
  @network = args[:network] if args.key?(:network)
549
+ @state = args[:state] if args.key?(:state)
472
550
  @type = args[:type] if args.key?(:type)
551
+ @vlan_id = args[:vlan_id] if args.key?(:vlan_id)
552
+ @vrf = args[:vrf] if args.key?(:vrf)
473
553
  end
474
554
  end
475
555
 
@@ -535,48 +615,50 @@ module Google
535
615
  end
536
616
  end
537
617
 
538
- # Represents the metadata of the long-running operation.
539
- class OperationMetadata
618
+ # Message requesting to reset a server.
619
+ class ResetInstanceRequest
540
620
  include Google::Apis::Core::Hashable
541
621
 
542
- # Output only. API version used to start the operation.
543
- # Corresponds to the JSON property `apiVersion`
544
- # @return [String]
545
- attr_accessor :api_version
622
+ def initialize(**args)
623
+ update!(**args)
624
+ end
546
625
 
547
- # Output only. The time the operation was created.
548
- # Corresponds to the JSON property `createTime`
549
- # @return [String]
550
- attr_accessor :create_time
626
+ # Update properties of this object
627
+ def update!(**args)
628
+ end
629
+ end
551
630
 
552
- # Output only. The time the operation finished running.
553
- # Corresponds to the JSON property `endTime`
554
- # @return [String]
555
- attr_accessor :end_time
631
+ # Message for restoring a volume snapshot.
632
+ class RestoreVolumeSnapshotRequest
633
+ include Google::Apis::Core::Hashable
556
634
 
557
- # Output only. Identifies whether the user has requested cancellation of the
558
- # operation. Operations that have successfully been cancelled have Operation.
559
- # error value with a google.rpc.Status.code of 1, corresponding to `Code.
560
- # CANCELLED`.
561
- # Corresponds to the JSON property `requestedCancellation`
562
- # @return [Boolean]
563
- attr_accessor :requested_cancellation
564
- alias_method :requested_cancellation?, :requested_cancellation
635
+ def initialize(**args)
636
+ update!(**args)
637
+ end
565
638
 
566
- # Output only. Human-readable status of the operation, if any.
567
- # Corresponds to the JSON property `statusMessage`
568
- # @return [String]
569
- attr_accessor :status_message
639
+ # Update properties of this object
640
+ def update!(**args)
641
+ end
642
+ end
570
643
 
571
- # Output only. Server-defined resource path for the target of the operation.
572
- # Corresponds to the JSON property `target`
644
+ # A snapshot schedule.
645
+ class Schedule
646
+ include Google::Apis::Core::Hashable
647
+
648
+ # A crontab-like specification that the schedule uses to take snapshots.
649
+ # Corresponds to the JSON property `crontabSpec`
573
650
  # @return [String]
574
- attr_accessor :target
651
+ attr_accessor :crontab_spec
575
652
 
576
- # Output only. Name of the verb executed by the operation.
577
- # Corresponds to the JSON property `verb`
653
+ # A list of snapshot names created in this schedule.
654
+ # Corresponds to the JSON property `prefix`
578
655
  # @return [String]
579
- attr_accessor :verb
656
+ attr_accessor :prefix
657
+
658
+ # The maximum number of snapshots to retain in this schedule.
659
+ # Corresponds to the JSON property `retentionCount`
660
+ # @return [Fixnum]
661
+ attr_accessor :retention_count
580
662
 
581
663
  def initialize(**args)
582
664
  update!(**args)
@@ -584,87 +666,33 @@ module Google
584
666
 
585
667
  # Update properties of this object
586
668
  def update!(**args)
587
- @api_version = args[:api_version] if args.key?(:api_version)
588
- @create_time = args[:create_time] if args.key?(:create_time)
589
- @end_time = args[:end_time] if args.key?(:end_time)
590
- @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
591
- @status_message = args[:status_message] if args.key?(:status_message)
592
- @target = args[:target] if args.key?(:target)
593
- @verb = args[:verb] if args.key?(:verb)
669
+ @crontab_spec = args[:crontab_spec] if args.key?(:crontab_spec)
670
+ @prefix = args[:prefix] if args.key?(:prefix)
671
+ @retention_count = args[:retention_count] if args.key?(:retention_count)
594
672
  end
595
673
  end
596
674
 
597
- # An Identity and Access Management (IAM) policy, which specifies access
598
- # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
599
- # A `binding` binds one or more `members` to a single `role`. Members can be
600
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
601
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
602
- # role or a user-created custom role. For some types of Google Cloud resources,
603
- # a `binding` can also specify a `condition`, which is a logical expression that
604
- # allows access to a resource only if the expression evaluates to `true`. A
605
- # condition can add constraints based on attributes of the request, the resource,
606
- # or both. To learn which resources support conditions in their IAM policies,
607
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
608
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
609
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
610
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
611
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
612
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
613
- # title": "expirable access", "description": "Does not grant access after Sep
614
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
615
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
616
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
617
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
618
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
619
- # roles/resourcemanager.organizationViewer condition: title: expirable access
620
- # description: Does not grant access after Sep 2020 expression: request.time <
621
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
622
- # description of IAM and its features, see the [IAM documentation](https://cloud.
623
- # google.com/iam/docs/).
624
- class Policy
675
+ # Details about snapshot space reservation and usage on the storage volume.
676
+ class SnapshotReservationDetail
625
677
  include Google::Apis::Core::Hashable
626
678
 
627
- # Associates a list of `members` to a `role`. Optionally, may specify a `
628
- # condition` that determines how and when the `bindings` are applied. Each of
629
- # the `bindings` must contain at least one member.
630
- # Corresponds to the JSON property `bindings`
631
- # @return [Array<Google::Apis::BaremetalsolutionV2::Binding>]
632
- attr_accessor :bindings
633
-
634
- # `etag` is used for optimistic concurrency control as a way to help prevent
635
- # simultaneous updates of a policy from overwriting each other. It is strongly
636
- # suggested that systems make use of the `etag` in the read-modify-write cycle
637
- # to perform policy updates in order to avoid race conditions: An `etag` is
638
- # returned in the response to `getIamPolicy`, and systems are expected to put
639
- # that etag in the request to `setIamPolicy` to ensure that their change will be
640
- # applied to the same version of the policy. **Important:** If you use IAM
641
- # Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
642
- # If you omit this field, then IAM allows you to overwrite a version `3` policy
643
- # with a version `1` policy, and all of the conditions in the version `3` policy
644
- # are lost.
645
- # Corresponds to the JSON property `etag`
646
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
647
- # @return [String]
648
- attr_accessor :etag
649
-
650
- # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
651
- # Requests that specify an invalid value are rejected. Any operation that
652
- # affects conditional role bindings must specify version `3`. This requirement
653
- # applies to the following operations: * Getting a policy that includes a
654
- # conditional role binding * Adding a conditional role binding to a policy *
655
- # Changing a conditional role binding in a policy * Removing any role binding,
656
- # with or without a condition, from a policy that includes conditions **
657
- # Important:** If you use IAM Conditions, you must include the `etag` field
658
- # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
659
- # to overwrite a version `3` policy with a version `1` policy, and all of the
660
- # conditions in the version `3` policy are lost. If a policy does not include
661
- # any conditions, operations on that policy may specify any valid version or
662
- # leave the field unset. To learn which resources support conditions in their
663
- # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
664
- # conditions/resource-policies).
665
- # Corresponds to the JSON property `version`
679
+ # The space on this storage volume reserved for snapshots, shown in GiB.
680
+ # Corresponds to the JSON property `reservedSpaceGib`
681
+ # @return [Fixnum]
682
+ attr_accessor :reserved_space_gib
683
+
684
+ # The amount, in GiB, of available space in this storage volume's reserved
685
+ # snapshot space.
686
+ # Corresponds to the JSON property `reservedSpaceRemainingGib`
687
+ # @return [Fixnum]
688
+ attr_accessor :reserved_space_remaining_gib
689
+
690
+ # The percent of snapshot space on this storage volume actually being used by
691
+ # the snapshot copies. This value might be higher than 100% if the snapshot
692
+ # copies have overflowed into the data portion of the storage volume.
693
+ # Corresponds to the JSON property `reservedSpaceUsedPercent`
666
694
  # @return [Fixnum]
667
- attr_accessor :version
695
+ attr_accessor :reserved_space_used_percent
668
696
 
669
697
  def initialize(**args)
670
698
  update!(**args)
@@ -672,46 +700,36 @@ module Google
672
700
 
673
701
  # Update properties of this object
674
702
  def update!(**args)
675
- @bindings = args[:bindings] if args.key?(:bindings)
676
- @etag = args[:etag] if args.key?(:etag)
677
- @version = args[:version] if args.key?(:version)
703
+ @reserved_space_gib = args[:reserved_space_gib] if args.key?(:reserved_space_gib)
704
+ @reserved_space_remaining_gib = args[:reserved_space_remaining_gib] if args.key?(:reserved_space_remaining_gib)
705
+ @reserved_space_used_percent = args[:reserved_space_used_percent] if args.key?(:reserved_space_used_percent)
678
706
  end
679
707
  end
680
708
 
681
- # Request message for `SetIamPolicy` method.
682
- class SetIamPolicyRequest
709
+ # A snapshot schedule policy.
710
+ class SnapshotSchedulePolicy
683
711
  include Google::Apis::Core::Hashable
684
712
 
685
- # An Identity and Access Management (IAM) policy, which specifies access
686
- # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
687
- # A `binding` binds one or more `members` to a single `role`. Members can be
688
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
689
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
690
- # role or a user-created custom role. For some types of Google Cloud resources,
691
- # a `binding` can also specify a `condition`, which is a logical expression that
692
- # allows access to a resource only if the expression evaluates to `true`. A
693
- # condition can add constraints based on attributes of the request, the resource,
694
- # or both. To learn which resources support conditions in their IAM policies,
695
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
696
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
697
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
698
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
699
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
700
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
701
- # title": "expirable access", "description": "Does not grant access after Sep
702
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
703
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
704
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
705
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
706
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
707
- # roles/resourcemanager.organizationViewer condition: title: expirable access
708
- # description: Does not grant access after Sep 2020 expression: request.time <
709
- # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
710
- # description of IAM and its features, see the [IAM documentation](https://cloud.
711
- # google.com/iam/docs/).
712
- # Corresponds to the JSON property `policy`
713
- # @return [Google::Apis::BaremetalsolutionV2::Policy]
714
- attr_accessor :policy
713
+ # The description of the snapshot schedule policy.
714
+ # Corresponds to the JSON property `description`
715
+ # @return [String]
716
+ attr_accessor :description
717
+
718
+ # Output only. The name of the snapshot schedule policy.
719
+ # Corresponds to the JSON property `name`
720
+ # @return [String]
721
+ attr_accessor :name
722
+
723
+ # The snapshot schedules contained in this policy. You can specify a maxiumum of
724
+ # 5 schedules.
725
+ # Corresponds to the JSON property `schedules`
726
+ # @return [Array<Google::Apis::BaremetalsolutionV2::Schedule>]
727
+ attr_accessor :schedules
728
+
729
+ # The names of the volumes associated with this policy.
730
+ # Corresponds to the JSON property `volumes`
731
+ # @return [Array<String>]
732
+ attr_accessor :volumes
715
733
 
716
734
  def initialize(**args)
717
735
  update!(**args)
@@ -719,7 +737,10 @@ module Google
719
737
 
720
738
  # Update properties of this object
721
739
  def update!(**args)
722
- @policy = args[:policy] if args.key?(:policy)
740
+ @description = args[:description] if args.key?(:description)
741
+ @name = args[:name] if args.key?(:name)
742
+ @schedules = args[:schedules] if args.key?(:schedules)
743
+ @volumes = args[:volumes] if args.key?(:volumes)
723
744
  end
724
745
  end
725
746
 
@@ -762,16 +783,34 @@ module Google
762
783
  end
763
784
  end
764
785
 
765
- # Request message for `TestIamPermissions` method.
766
- class TestIamPermissionsRequest
786
+ # A network VRF.
787
+ class Vrf
767
788
  include Google::Apis::Core::Hashable
768
789
 
769
- # The set of permissions to check for the `resource`. Permissions with wildcards
770
- # (such as '*' or 'storage.*') are not allowed. For more information see [IAM
771
- # Overview](https://cloud.google.com/iam/docs/overview#permissions).
772
- # Corresponds to the JSON property `permissions`
773
- # @return [Array<String>]
774
- attr_accessor :permissions
790
+ # The autonomous system number of the VRF.
791
+ # Corresponds to the JSON property `autonomousSystemNumber`
792
+ # @return [String]
793
+ attr_accessor :autonomous_system_number
794
+
795
+ # The Juniper alias of the VRF.
796
+ # Corresponds to the JSON property `juniperAlias`
797
+ # @return [String]
798
+ attr_accessor :juniper_alias
799
+
800
+ # The name of the VRF.
801
+ # Corresponds to the JSON property `name`
802
+ # @return [String]
803
+ attr_accessor :name
804
+
805
+ # The route target of the VRF.
806
+ # Corresponds to the JSON property `routeTarget`
807
+ # @return [Fixnum]
808
+ attr_accessor :route_target
809
+
810
+ # The possible state of VRF.
811
+ # Corresponds to the JSON property `state`
812
+ # @return [String]
813
+ attr_accessor :state
775
814
 
776
815
  def initialize(**args)
777
816
  update!(**args)
@@ -779,18 +818,122 @@ module Google
779
818
 
780
819
  # Update properties of this object
781
820
  def update!(**args)
782
- @permissions = args[:permissions] if args.key?(:permissions)
821
+ @autonomous_system_number = args[:autonomous_system_number] if args.key?(:autonomous_system_number)
822
+ @juniper_alias = args[:juniper_alias] if args.key?(:juniper_alias)
823
+ @name = args[:name] if args.key?(:name)
824
+ @route_target = args[:route_target] if args.key?(:route_target)
825
+ @state = args[:state] if args.key?(:state)
783
826
  end
784
827
  end
785
828
 
786
- # Response message for `TestIamPermissions` method.
787
- class TestIamPermissionsResponse
829
+ # A storage volume.
830
+ class Volume
788
831
  include Google::Apis::Core::Hashable
789
832
 
790
- # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
791
- # Corresponds to the JSON property `permissions`
792
- # @return [Array<String>]
793
- attr_accessor :permissions
833
+ # The size, in GiB, that this storage volume has expanded as a result of an auto
834
+ # grow policy. In the absence of auto-grow, the value is 0.
835
+ # Corresponds to the JSON property `autoGrownSizeGib`
836
+ # @return [Fixnum]
837
+ attr_accessor :auto_grown_size_gib
838
+
839
+ # The current size of this storage volume, in GiB, including space reserved for
840
+ # snapshots. This size might be different than the requested size if the storage
841
+ # volume has been configured with auto grow or auto shrink.
842
+ # Corresponds to the JSON property `currentSizeGib`
843
+ # @return [Fixnum]
844
+ attr_accessor :current_size_gib
845
+
846
+ # Output only. The resource name of this `Volume`. Resource names are schemeless
847
+ # URIs that follow the conventions in https://cloud.google.com/apis/design/
848
+ # resource_names. Format: `projects/`project`/locations/`location`/volumes/`
849
+ # volume``
850
+ # Corresponds to the JSON property `name`
851
+ # @return [String]
852
+ attr_accessor :name
853
+
854
+ # The space remaining in the storage volume for new LUNs, in GiB, excluding
855
+ # space reserved for snapshots.
856
+ # Corresponds to the JSON property `remainingSpaceGib`
857
+ # @return [Fixnum]
858
+ attr_accessor :remaining_space_gib
859
+
860
+ # The requested size of this storage volume, in GiB.
861
+ # Corresponds to the JSON property `requestedSizeGib`
862
+ # @return [Fixnum]
863
+ attr_accessor :requested_size_gib
864
+
865
+ # The behavior to use when snapshot reserved space is full.
866
+ # Corresponds to the JSON property `snapshotAutoDeleteBehavior`
867
+ # @return [String]
868
+ attr_accessor :snapshot_auto_delete_behavior
869
+
870
+ # Details about snapshot space reservation and usage on the storage volume.
871
+ # Corresponds to the JSON property `snapshotReservationDetail`
872
+ # @return [Google::Apis::BaremetalsolutionV2::SnapshotReservationDetail]
873
+ attr_accessor :snapshot_reservation_detail
874
+
875
+ # The name of the snapshot schedule policy in use for this volume, if any.
876
+ # Corresponds to the JSON property `snapshotSchedulePolicy`
877
+ # @return [String]
878
+ attr_accessor :snapshot_schedule_policy
879
+
880
+ # The state of this storage volume.
881
+ # Corresponds to the JSON property `state`
882
+ # @return [String]
883
+ attr_accessor :state
884
+
885
+ # The storage type for this volume.
886
+ # Corresponds to the JSON property `storageType`
887
+ # @return [String]
888
+ attr_accessor :storage_type
889
+
890
+ def initialize(**args)
891
+ update!(**args)
892
+ end
893
+
894
+ # Update properties of this object
895
+ def update!(**args)
896
+ @auto_grown_size_gib = args[:auto_grown_size_gib] if args.key?(:auto_grown_size_gib)
897
+ @current_size_gib = args[:current_size_gib] if args.key?(:current_size_gib)
898
+ @name = args[:name] if args.key?(:name)
899
+ @remaining_space_gib = args[:remaining_space_gib] if args.key?(:remaining_space_gib)
900
+ @requested_size_gib = args[:requested_size_gib] if args.key?(:requested_size_gib)
901
+ @snapshot_auto_delete_behavior = args[:snapshot_auto_delete_behavior] if args.key?(:snapshot_auto_delete_behavior)
902
+ @snapshot_reservation_detail = args[:snapshot_reservation_detail] if args.key?(:snapshot_reservation_detail)
903
+ @snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy)
904
+ @state = args[:state] if args.key?(:state)
905
+ @storage_type = args[:storage_type] if args.key?(:storage_type)
906
+ end
907
+ end
908
+
909
+ # Snapshot registered for a given storage volume.
910
+ class VolumeSnapshot
911
+ include Google::Apis::Core::Hashable
912
+
913
+ # Optional. The creation time of the storage volume snapshot.
914
+ # Corresponds to the JSON property `createTime`
915
+ # @return [String]
916
+ attr_accessor :create_time
917
+
918
+ # The description of the storage volume snapshot.
919
+ # Corresponds to the JSON property `description`
920
+ # @return [String]
921
+ attr_accessor :description
922
+
923
+ # Output only. The name of the storage volume snapshot.
924
+ # Corresponds to the JSON property `name`
925
+ # @return [String]
926
+ attr_accessor :name
927
+
928
+ # The size of the storage volume snapshot, in bytes.
929
+ # Corresponds to the JSON property `sizeBytes`
930
+ # @return [Fixnum]
931
+ attr_accessor :size_bytes
932
+
933
+ # The storage volume this snapshot belongs to.
934
+ # Corresponds to the JSON property `storageVolume`
935
+ # @return [String]
936
+ attr_accessor :storage_volume
794
937
 
795
938
  def initialize(**args)
796
939
  update!(**args)
@@ -798,7 +941,11 @@ module Google
798
941
 
799
942
  # Update properties of this object
800
943
  def update!(**args)
801
- @permissions = args[:permissions] if args.key?(:permissions)
944
+ @create_time = args[:create_time] if args.key?(:create_time)
945
+ @description = args[:description] if args.key?(:description)
946
+ @name = args[:name] if args.key?(:name)
947
+ @size_bytes = args[:size_bytes] if args.key?(:size_bytes)
948
+ @storage_volume = args[:storage_volume] if args.key?(:storage_volume)
802
949
  end
803
950
  end
804
951
  end