google-apis-baremetalsolution_v2 0.1.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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