google-apis-compute_beta 0.76.0 → 0.77.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.
@@ -10289,6 +10289,725 @@ module Google
10289
10289
  end
10290
10290
  end
10291
10291
 
10292
+ #
10293
+ class FutureReservation
10294
+ include Google::Apis::Core::Hashable
10295
+
10296
+ # Future timestamp when the FR auto-created reservations will be deleted by GCE.
10297
+ # Format of this field must be a valid href="https://www.ietf.org/rfc/rfc3339.
10298
+ # txt">RFC3339 value.
10299
+ # Corresponds to the JSON property `autoCreatedReservationsDeleteTime`
10300
+ # @return [String]
10301
+ attr_accessor :auto_created_reservations_delete_time
10302
+
10303
+ # A Duration represents a fixed-length span of time represented as a count of
10304
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
10305
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
10306
+ # 000 years.
10307
+ # Corresponds to the JSON property `autoCreatedReservationsDuration`
10308
+ # @return [Google::Apis::ComputeBeta::Duration]
10309
+ attr_accessor :auto_created_reservations_duration
10310
+
10311
+ # Setting for enabling or disabling automatic deletion for auto-created
10312
+ # reservation. If omitted or set to true, auto-created reservations will be
10313
+ # deleted at Future Reservation's end time (default) or at user's defined
10314
+ # timestamp if any of the [auto_created_reservations_delete_time,
10315
+ # auto_created_reservations_duration] values is specified. For keeping auto-
10316
+ # created reservation indefinitely, this value should be set to false.
10317
+ # Corresponds to the JSON property `autoDeleteAutoCreatedReservations`
10318
+ # @return [Boolean]
10319
+ attr_accessor :auto_delete_auto_created_reservations
10320
+ alias_method :auto_delete_auto_created_reservations?, :auto_delete_auto_created_reservations
10321
+
10322
+ # [Output Only] The creation timestamp for this future reservation in RFC3339
10323
+ # text format.
10324
+ # Corresponds to the JSON property `creationTimestamp`
10325
+ # @return [String]
10326
+ attr_accessor :creation_timestamp
10327
+
10328
+ # An optional description of this resource. Provide this property when you
10329
+ # create the future reservation.
10330
+ # Corresponds to the JSON property `description`
10331
+ # @return [String]
10332
+ attr_accessor :description
10333
+
10334
+ # [Output Only] A unique identifier for this future reservation. The server
10335
+ # defines this identifier.
10336
+ # Corresponds to the JSON property `id`
10337
+ # @return [Fixnum]
10338
+ attr_accessor :id
10339
+
10340
+ # [Output Only] Type of the resource. Always compute#futureReservation for
10341
+ # future reservations.
10342
+ # Corresponds to the JSON property `kind`
10343
+ # @return [String]
10344
+ attr_accessor :kind
10345
+
10346
+ # The name of the resource, provided by the client when initially creating the
10347
+ # resource. The resource name must be 1-63 characters long, and comply with
10348
+ # RFC1035. Specifically, the name must be 1-63 characters long and match the
10349
+ # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
10350
+ # character must be a lowercase letter, and all following characters must be a
10351
+ # dash, lowercase letter, or digit, except the last character, which cannot be a
10352
+ # dash.
10353
+ # Corresponds to the JSON property `name`
10354
+ # @return [String]
10355
+ attr_accessor :name
10356
+
10357
+ # Name prefix for the reservations to be created at the time of delivery. The
10358
+ # name prefix must comply with RFC1035. Maximum allowed length for name prefix
10359
+ # is 20. Automatically created reservations name format will be -date-####.
10360
+ # Corresponds to the JSON property `namePrefix`
10361
+ # @return [String]
10362
+ attr_accessor :name_prefix
10363
+
10364
+ # Planning state before being submitted for evaluation
10365
+ # Corresponds to the JSON property `planningStatus`
10366
+ # @return [String]
10367
+ attr_accessor :planning_status
10368
+
10369
+ # [Output Only] Server-defined fully-qualified URL for this resource.
10370
+ # Corresponds to the JSON property `selfLink`
10371
+ # @return [String]
10372
+ attr_accessor :self_link
10373
+
10374
+ # [Output Only] Server-defined URL for this resource with the resource id.
10375
+ # Corresponds to the JSON property `selfLinkWithId`
10376
+ # @return [String]
10377
+ attr_accessor :self_link_with_id
10378
+
10379
+ # The share setting for reservations and sole tenancy node groups.
10380
+ # Corresponds to the JSON property `shareSettings`
10381
+ # @return [Google::Apis::ComputeBeta::ShareSettings]
10382
+ attr_accessor :share_settings
10383
+
10384
+ # Future Reservation configuration to indicate instance properties and total
10385
+ # count.
10386
+ # Corresponds to the JSON property `specificSkuProperties`
10387
+ # @return [Google::Apis::ComputeBeta::FutureReservationSpecificSkuProperties]
10388
+ attr_accessor :specific_sku_properties
10389
+
10390
+ # [Output only] Represents status related to the future reservation.
10391
+ # Corresponds to the JSON property `status`
10392
+ # @return [Google::Apis::ComputeBeta::FutureReservationStatus]
10393
+ attr_accessor :status
10394
+
10395
+ # Time window for this Future Reservation.
10396
+ # Corresponds to the JSON property `timeWindow`
10397
+ # @return [Google::Apis::ComputeBeta::FutureReservationTimeWindow]
10398
+ attr_accessor :time_window
10399
+
10400
+ # [Output Only] URL of the Zone where this future reservation resides.
10401
+ # Corresponds to the JSON property `zone`
10402
+ # @return [String]
10403
+ attr_accessor :zone
10404
+
10405
+ def initialize(**args)
10406
+ update!(**args)
10407
+ end
10408
+
10409
+ # Update properties of this object
10410
+ def update!(**args)
10411
+ @auto_created_reservations_delete_time = args[:auto_created_reservations_delete_time] if args.key?(:auto_created_reservations_delete_time)
10412
+ @auto_created_reservations_duration = args[:auto_created_reservations_duration] if args.key?(:auto_created_reservations_duration)
10413
+ @auto_delete_auto_created_reservations = args[:auto_delete_auto_created_reservations] if args.key?(:auto_delete_auto_created_reservations)
10414
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
10415
+ @description = args[:description] if args.key?(:description)
10416
+ @id = args[:id] if args.key?(:id)
10417
+ @kind = args[:kind] if args.key?(:kind)
10418
+ @name = args[:name] if args.key?(:name)
10419
+ @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
10420
+ @planning_status = args[:planning_status] if args.key?(:planning_status)
10421
+ @self_link = args[:self_link] if args.key?(:self_link)
10422
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
10423
+ @share_settings = args[:share_settings] if args.key?(:share_settings)
10424
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
10425
+ @status = args[:status] if args.key?(:status)
10426
+ @time_window = args[:time_window] if args.key?(:time_window)
10427
+ @zone = args[:zone] if args.key?(:zone)
10428
+ end
10429
+ end
10430
+
10431
+ #
10432
+ class FutureReservationSpecificSkuProperties
10433
+ include Google::Apis::Core::Hashable
10434
+
10435
+ # Properties of the SKU instances being reserved. Next ID: 9
10436
+ # Corresponds to the JSON property `instanceProperties`
10437
+ # @return [Google::Apis::ComputeBeta::AllocationSpecificSkuAllocationReservedInstanceProperties]
10438
+ attr_accessor :instance_properties
10439
+
10440
+ # The instance template that will be used to populate the
10441
+ # ReservedInstanceProperties of the future reservation
10442
+ # Corresponds to the JSON property `sourceInstanceTemplate`
10443
+ # @return [String]
10444
+ attr_accessor :source_instance_template
10445
+
10446
+ # Total number of instances for which capacity assurance is requested at a
10447
+ # future time period.
10448
+ # Corresponds to the JSON property `totalCount`
10449
+ # @return [Fixnum]
10450
+ attr_accessor :total_count
10451
+
10452
+ def initialize(**args)
10453
+ update!(**args)
10454
+ end
10455
+
10456
+ # Update properties of this object
10457
+ def update!(**args)
10458
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
10459
+ @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
10460
+ @total_count = args[:total_count] if args.key?(:total_count)
10461
+ end
10462
+ end
10463
+
10464
+ # [Output only] Represents status related to the future reservation.
10465
+ class FutureReservationStatus
10466
+ include Google::Apis::Core::Hashable
10467
+
10468
+ # [Output Only] The current status of the requested amendment.
10469
+ # Corresponds to the JSON property `amendmentStatus`
10470
+ # @return [String]
10471
+ attr_accessor :amendment_status
10472
+
10473
+ # Fully qualified urls of the automatically created reservations at start_time.
10474
+ # Corresponds to the JSON property `autoCreatedReservations`
10475
+ # @return [Array<String>]
10476
+ attr_accessor :auto_created_reservations
10477
+
10478
+ # This count indicates the fulfilled capacity so far. This is set during "
10479
+ # PROVISIONING" state. This count also includes capacity delivered as part of
10480
+ # existing matching reservations.
10481
+ # Corresponds to the JSON property `fulfilledCount`
10482
+ # @return [Fixnum]
10483
+ attr_accessor :fulfilled_count
10484
+
10485
+ # The state that the future reservation will be reverted to should the amendment
10486
+ # be declined.
10487
+ # Corresponds to the JSON property `lastKnownGoodState`
10488
+ # @return [Google::Apis::ComputeBeta::FutureReservationStatusLastKnownGoodState]
10489
+ attr_accessor :last_known_good_state
10490
+
10491
+ # Time when Future Reservation would become LOCKED, after which no modifications
10492
+ # to Future Reservation will be allowed. Applicable only after the Future
10493
+ # Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The
10494
+ # procurement_status will transition to PROCURING state at this time.
10495
+ # Corresponds to the JSON property `lockTime`
10496
+ # @return [String]
10497
+ attr_accessor :lock_time
10498
+
10499
+ # Current state of this Future Reservation
10500
+ # Corresponds to the JSON property `procurementStatus`
10501
+ # @return [String]
10502
+ attr_accessor :procurement_status
10503
+
10504
+ # Properties to be set for the Future Reservation.
10505
+ # Corresponds to the JSON property `specificSkuProperties`
10506
+ # @return [Google::Apis::ComputeBeta::FutureReservationStatusSpecificSkuProperties]
10507
+ attr_accessor :specific_sku_properties
10508
+
10509
+ def initialize(**args)
10510
+ update!(**args)
10511
+ end
10512
+
10513
+ # Update properties of this object
10514
+ def update!(**args)
10515
+ @amendment_status = args[:amendment_status] if args.key?(:amendment_status)
10516
+ @auto_created_reservations = args[:auto_created_reservations] if args.key?(:auto_created_reservations)
10517
+ @fulfilled_count = args[:fulfilled_count] if args.key?(:fulfilled_count)
10518
+ @last_known_good_state = args[:last_known_good_state] if args.key?(:last_known_good_state)
10519
+ @lock_time = args[:lock_time] if args.key?(:lock_time)
10520
+ @procurement_status = args[:procurement_status] if args.key?(:procurement_status)
10521
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
10522
+ end
10523
+ end
10524
+
10525
+ # The state that the future reservation will be reverted to should the amendment
10526
+ # be declined.
10527
+ class FutureReservationStatusLastKnownGoodState
10528
+ include Google::Apis::Core::Hashable
10529
+
10530
+ # [Output Only] The description of the FutureReservation before an amendment was
10531
+ # requested.
10532
+ # Corresponds to the JSON property `description`
10533
+ # @return [String]
10534
+ attr_accessor :description
10535
+
10536
+ # The properties of the last known good state for the Future Reservation.
10537
+ # Corresponds to the JSON property `futureReservationSpecs`
10538
+ # @return [Google::Apis::ComputeBeta::FutureReservationStatusLastKnownGoodStateFutureReservationSpecs]
10539
+ attr_accessor :future_reservation_specs
10540
+
10541
+ # [Output Only] The lock time of the FutureReservation before an amendment was
10542
+ # requested.
10543
+ # Corresponds to the JSON property `lockTime`
10544
+ # @return [String]
10545
+ attr_accessor :lock_time
10546
+
10547
+ # [Output Only] The name prefix of the Future Reservation before an amendment
10548
+ # was requested.
10549
+ # Corresponds to the JSON property `namePrefix`
10550
+ # @return [String]
10551
+ attr_accessor :name_prefix
10552
+
10553
+ # [Output Only] The status of the last known good state for the Future
10554
+ # Reservation.
10555
+ # Corresponds to the JSON property `procurementStatus`
10556
+ # @return [String]
10557
+ attr_accessor :procurement_status
10558
+
10559
+ def initialize(**args)
10560
+ update!(**args)
10561
+ end
10562
+
10563
+ # Update properties of this object
10564
+ def update!(**args)
10565
+ @description = args[:description] if args.key?(:description)
10566
+ @future_reservation_specs = args[:future_reservation_specs] if args.key?(:future_reservation_specs)
10567
+ @lock_time = args[:lock_time] if args.key?(:lock_time)
10568
+ @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
10569
+ @procurement_status = args[:procurement_status] if args.key?(:procurement_status)
10570
+ end
10571
+ end
10572
+
10573
+ # The properties of the last known good state for the Future Reservation.
10574
+ class FutureReservationStatusLastKnownGoodStateFutureReservationSpecs
10575
+ include Google::Apis::Core::Hashable
10576
+
10577
+ # The share setting for reservations and sole tenancy node groups.
10578
+ # Corresponds to the JSON property `shareSettings`
10579
+ # @return [Google::Apis::ComputeBeta::ShareSettings]
10580
+ attr_accessor :share_settings
10581
+
10582
+ # [Output Only] The previous instance related properties of the Future
10583
+ # Reservation.
10584
+ # Corresponds to the JSON property `specificSkuProperties`
10585
+ # @return [Google::Apis::ComputeBeta::FutureReservationSpecificSkuProperties]
10586
+ attr_accessor :specific_sku_properties
10587
+
10588
+ # [Output Only] The previous time window of the Future Reservation.
10589
+ # Corresponds to the JSON property `timeWindow`
10590
+ # @return [Google::Apis::ComputeBeta::FutureReservationTimeWindow]
10591
+ attr_accessor :time_window
10592
+
10593
+ def initialize(**args)
10594
+ update!(**args)
10595
+ end
10596
+
10597
+ # Update properties of this object
10598
+ def update!(**args)
10599
+ @share_settings = args[:share_settings] if args.key?(:share_settings)
10600
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
10601
+ @time_window = args[:time_window] if args.key?(:time_window)
10602
+ end
10603
+ end
10604
+
10605
+ # Properties to be set for the Future Reservation.
10606
+ class FutureReservationStatusSpecificSkuProperties
10607
+ include Google::Apis::Core::Hashable
10608
+
10609
+ # ID of the instance template used to populate the Future Reservation properties.
10610
+ # Corresponds to the JSON property `sourceInstanceTemplateId`
10611
+ # @return [String]
10612
+ attr_accessor :source_instance_template_id
10613
+
10614
+ def initialize(**args)
10615
+ update!(**args)
10616
+ end
10617
+
10618
+ # Update properties of this object
10619
+ def update!(**args)
10620
+ @source_instance_template_id = args[:source_instance_template_id] if args.key?(:source_instance_template_id)
10621
+ end
10622
+ end
10623
+
10624
+ #
10625
+ class FutureReservationTimeWindow
10626
+ include Google::Apis::Core::Hashable
10627
+
10628
+ # A Duration represents a fixed-length span of time represented as a count of
10629
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
10630
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
10631
+ # 000 years.
10632
+ # Corresponds to the JSON property `duration`
10633
+ # @return [Google::Apis::ComputeBeta::Duration]
10634
+ attr_accessor :duration
10635
+
10636
+ #
10637
+ # Corresponds to the JSON property `endTime`
10638
+ # @return [String]
10639
+ attr_accessor :end_time
10640
+
10641
+ # Start time of the Future Reservation. The start_time is an RFC3339 string.
10642
+ # Corresponds to the JSON property `startTime`
10643
+ # @return [String]
10644
+ attr_accessor :start_time
10645
+
10646
+ def initialize(**args)
10647
+ update!(**args)
10648
+ end
10649
+
10650
+ # Update properties of this object
10651
+ def update!(**args)
10652
+ @duration = args[:duration] if args.key?(:duration)
10653
+ @end_time = args[:end_time] if args.key?(:end_time)
10654
+ @start_time = args[:start_time] if args.key?(:start_time)
10655
+ end
10656
+ end
10657
+
10658
+ # Contains a list of future reservations.
10659
+ class FutureReservationsAggregatedListResponse
10660
+ include Google::Apis::Core::Hashable
10661
+
10662
+ #
10663
+ # Corresponds to the JSON property `etag`
10664
+ # @return [String]
10665
+ attr_accessor :etag
10666
+
10667
+ # [Output Only] Unique identifier for the resource; defined by the server.
10668
+ # Corresponds to the JSON property `id`
10669
+ # @return [String]
10670
+ attr_accessor :id
10671
+
10672
+ # A list of Future reservation resources.
10673
+ # Corresponds to the JSON property `items`
10674
+ # @return [Hash<String,Google::Apis::ComputeBeta::FutureReservationsScopedList>]
10675
+ attr_accessor :items
10676
+
10677
+ # [Output Only] Type of resource. Always compute#
10678
+ # futureReservationsAggregatedListResponse for future resevation aggregated list
10679
+ # response.
10680
+ # Corresponds to the JSON property `kind`
10681
+ # @return [String]
10682
+ attr_accessor :kind
10683
+
10684
+ # [Output Only] This token allows you to get the next page of results for list
10685
+ # requests. If the number of results is larger than maxResults, use the
10686
+ # nextPageToken as a value for the query parameter pageToken in the next list
10687
+ # request. Subsequent list requests will have their own nextPageToken to
10688
+ # continue paging through the results.
10689
+ # Corresponds to the JSON property `nextPageToken`
10690
+ # @return [String]
10691
+ attr_accessor :next_page_token
10692
+
10693
+ # [Output Only] Server-defined URL for this resource.
10694
+ # Corresponds to the JSON property `selfLink`
10695
+ # @return [String]
10696
+ attr_accessor :self_link
10697
+
10698
+ # [Output Only] Unreachable resources.
10699
+ # Corresponds to the JSON property `unreachables`
10700
+ # @return [Array<String>]
10701
+ attr_accessor :unreachables
10702
+
10703
+ # [Output Only] Informational warning message.
10704
+ # Corresponds to the JSON property `warning`
10705
+ # @return [Google::Apis::ComputeBeta::FutureReservationsAggregatedListResponse::Warning]
10706
+ attr_accessor :warning
10707
+
10708
+ def initialize(**args)
10709
+ update!(**args)
10710
+ end
10711
+
10712
+ # Update properties of this object
10713
+ def update!(**args)
10714
+ @etag = args[:etag] if args.key?(:etag)
10715
+ @id = args[:id] if args.key?(:id)
10716
+ @items = args[:items] if args.key?(:items)
10717
+ @kind = args[:kind] if args.key?(:kind)
10718
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10719
+ @self_link = args[:self_link] if args.key?(:self_link)
10720
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10721
+ @warning = args[:warning] if args.key?(:warning)
10722
+ end
10723
+
10724
+ # [Output Only] Informational warning message.
10725
+ class Warning
10726
+ include Google::Apis::Core::Hashable
10727
+
10728
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10729
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10730
+ # Corresponds to the JSON property `code`
10731
+ # @return [String]
10732
+ attr_accessor :code
10733
+
10734
+ # [Output Only] Metadata about this warning in key: value format. For example: "
10735
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10736
+ # Corresponds to the JSON property `data`
10737
+ # @return [Array<Google::Apis::ComputeBeta::FutureReservationsAggregatedListResponse::Warning::Datum>]
10738
+ attr_accessor :data
10739
+
10740
+ # [Output Only] A human-readable description of the warning code.
10741
+ # Corresponds to the JSON property `message`
10742
+ # @return [String]
10743
+ attr_accessor :message
10744
+
10745
+ def initialize(**args)
10746
+ update!(**args)
10747
+ end
10748
+
10749
+ # Update properties of this object
10750
+ def update!(**args)
10751
+ @code = args[:code] if args.key?(:code)
10752
+ @data = args[:data] if args.key?(:data)
10753
+ @message = args[:message] if args.key?(:message)
10754
+ end
10755
+
10756
+ #
10757
+ class Datum
10758
+ include Google::Apis::Core::Hashable
10759
+
10760
+ # [Output Only] A key that provides more detail on the warning being returned.
10761
+ # For example, for warnings where there are no results in a list request for a
10762
+ # particular zone, this key might be scope and the key value might be the zone
10763
+ # name. Other examples might be a key indicating a deprecated resource and a
10764
+ # suggested replacement, or a warning about invalid network settings (for
10765
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10766
+ # for IP forwarding).
10767
+ # Corresponds to the JSON property `key`
10768
+ # @return [String]
10769
+ attr_accessor :key
10770
+
10771
+ # [Output Only] A warning data value corresponding to the key.
10772
+ # Corresponds to the JSON property `value`
10773
+ # @return [String]
10774
+ attr_accessor :value
10775
+
10776
+ def initialize(**args)
10777
+ update!(**args)
10778
+ end
10779
+
10780
+ # Update properties of this object
10781
+ def update!(**args)
10782
+ @key = args[:key] if args.key?(:key)
10783
+ @value = args[:value] if args.key?(:value)
10784
+ end
10785
+ end
10786
+ end
10787
+ end
10788
+
10789
+ #
10790
+ class FutureReservationsListResponse
10791
+ include Google::Apis::Core::Hashable
10792
+
10793
+ #
10794
+ # Corresponds to the JSON property `etag`
10795
+ # @return [String]
10796
+ attr_accessor :etag
10797
+
10798
+ # [Output Only] The unique identifier for the resource. This identifier is
10799
+ # defined by the server.
10800
+ # Corresponds to the JSON property `id`
10801
+ # @return [String]
10802
+ attr_accessor :id
10803
+
10804
+ # [Output Only] A list of future reservation resources.
10805
+ # Corresponds to the JSON property `items`
10806
+ # @return [Array<Google::Apis::ComputeBeta::FutureReservation>]
10807
+ attr_accessor :items
10808
+
10809
+ # [Output Only] Type of resource.Always compute#FutureReservationsListResponse
10810
+ # for lists of reservations
10811
+ # Corresponds to the JSON property `kind`
10812
+ # @return [String]
10813
+ attr_accessor :kind
10814
+
10815
+ # [Output Only] This token allows you to get the next page of results for list
10816
+ # requests. If the number of results is larger than maxResults, use the
10817
+ # nextPageToken as a value for the query parameter pageToken in the next list
10818
+ # request. Subsequent list requests will have their own nextPageToken to
10819
+ # continue paging through the results.
10820
+ # Corresponds to the JSON property `nextPageToken`
10821
+ # @return [String]
10822
+ attr_accessor :next_page_token
10823
+
10824
+ # [Output Only] Server-defined URL for this resource.
10825
+ # Corresponds to the JSON property `selfLink`
10826
+ # @return [String]
10827
+ attr_accessor :self_link
10828
+
10829
+ # [Output Only] Unreachable resources.
10830
+ # Corresponds to the JSON property `unreachables`
10831
+ # @return [Array<String>]
10832
+ attr_accessor :unreachables
10833
+
10834
+ # [Output Only] Informational warning message.
10835
+ # Corresponds to the JSON property `warning`
10836
+ # @return [Google::Apis::ComputeBeta::FutureReservationsListResponse::Warning]
10837
+ attr_accessor :warning
10838
+
10839
+ def initialize(**args)
10840
+ update!(**args)
10841
+ end
10842
+
10843
+ # Update properties of this object
10844
+ def update!(**args)
10845
+ @etag = args[:etag] if args.key?(:etag)
10846
+ @id = args[:id] if args.key?(:id)
10847
+ @items = args[:items] if args.key?(:items)
10848
+ @kind = args[:kind] if args.key?(:kind)
10849
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10850
+ @self_link = args[:self_link] if args.key?(:self_link)
10851
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10852
+ @warning = args[:warning] if args.key?(:warning)
10853
+ end
10854
+
10855
+ # [Output Only] Informational warning message.
10856
+ class Warning
10857
+ include Google::Apis::Core::Hashable
10858
+
10859
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10860
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10861
+ # Corresponds to the JSON property `code`
10862
+ # @return [String]
10863
+ attr_accessor :code
10864
+
10865
+ # [Output Only] Metadata about this warning in key: value format. For example: "
10866
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10867
+ # Corresponds to the JSON property `data`
10868
+ # @return [Array<Google::Apis::ComputeBeta::FutureReservationsListResponse::Warning::Datum>]
10869
+ attr_accessor :data
10870
+
10871
+ # [Output Only] A human-readable description of the warning code.
10872
+ # Corresponds to the JSON property `message`
10873
+ # @return [String]
10874
+ attr_accessor :message
10875
+
10876
+ def initialize(**args)
10877
+ update!(**args)
10878
+ end
10879
+
10880
+ # Update properties of this object
10881
+ def update!(**args)
10882
+ @code = args[:code] if args.key?(:code)
10883
+ @data = args[:data] if args.key?(:data)
10884
+ @message = args[:message] if args.key?(:message)
10885
+ end
10886
+
10887
+ #
10888
+ class Datum
10889
+ include Google::Apis::Core::Hashable
10890
+
10891
+ # [Output Only] A key that provides more detail on the warning being returned.
10892
+ # For example, for warnings where there are no results in a list request for a
10893
+ # particular zone, this key might be scope and the key value might be the zone
10894
+ # name. Other examples might be a key indicating a deprecated resource and a
10895
+ # suggested replacement, or a warning about invalid network settings (for
10896
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10897
+ # for IP forwarding).
10898
+ # Corresponds to the JSON property `key`
10899
+ # @return [String]
10900
+ attr_accessor :key
10901
+
10902
+ # [Output Only] A warning data value corresponding to the key.
10903
+ # Corresponds to the JSON property `value`
10904
+ # @return [String]
10905
+ attr_accessor :value
10906
+
10907
+ def initialize(**args)
10908
+ update!(**args)
10909
+ end
10910
+
10911
+ # Update properties of this object
10912
+ def update!(**args)
10913
+ @key = args[:key] if args.key?(:key)
10914
+ @value = args[:value] if args.key?(:value)
10915
+ end
10916
+ end
10917
+ end
10918
+ end
10919
+
10920
+ #
10921
+ class FutureReservationsScopedList
10922
+ include Google::Apis::Core::Hashable
10923
+
10924
+ # A list of future reservations contained in this scope.
10925
+ # Corresponds to the JSON property `futureReservations`
10926
+ # @return [Array<Google::Apis::ComputeBeta::FutureReservation>]
10927
+ attr_accessor :future_reservations
10928
+
10929
+ # Informational warning which replaces the list of future reservations when the
10930
+ # list is empty.
10931
+ # Corresponds to the JSON property `warning`
10932
+ # @return [Google::Apis::ComputeBeta::FutureReservationsScopedList::Warning]
10933
+ attr_accessor :warning
10934
+
10935
+ def initialize(**args)
10936
+ update!(**args)
10937
+ end
10938
+
10939
+ # Update properties of this object
10940
+ def update!(**args)
10941
+ @future_reservations = args[:future_reservations] if args.key?(:future_reservations)
10942
+ @warning = args[:warning] if args.key?(:warning)
10943
+ end
10944
+
10945
+ # Informational warning which replaces the list of future reservations when the
10946
+ # list is empty.
10947
+ class Warning
10948
+ include Google::Apis::Core::Hashable
10949
+
10950
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10951
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10952
+ # Corresponds to the JSON property `code`
10953
+ # @return [String]
10954
+ attr_accessor :code
10955
+
10956
+ # [Output Only] Metadata about this warning in key: value format. For example: "
10957
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10958
+ # Corresponds to the JSON property `data`
10959
+ # @return [Array<Google::Apis::ComputeBeta::FutureReservationsScopedList::Warning::Datum>]
10960
+ attr_accessor :data
10961
+
10962
+ # [Output Only] A human-readable description of the warning code.
10963
+ # Corresponds to the JSON property `message`
10964
+ # @return [String]
10965
+ attr_accessor :message
10966
+
10967
+ def initialize(**args)
10968
+ update!(**args)
10969
+ end
10970
+
10971
+ # Update properties of this object
10972
+ def update!(**args)
10973
+ @code = args[:code] if args.key?(:code)
10974
+ @data = args[:data] if args.key?(:data)
10975
+ @message = args[:message] if args.key?(:message)
10976
+ end
10977
+
10978
+ #
10979
+ class Datum
10980
+ include Google::Apis::Core::Hashable
10981
+
10982
+ # [Output Only] A key that provides more detail on the warning being returned.
10983
+ # For example, for warnings where there are no results in a list request for a
10984
+ # particular zone, this key might be scope and the key value might be the zone
10985
+ # name. Other examples might be a key indicating a deprecated resource and a
10986
+ # suggested replacement, or a warning about invalid network settings (for
10987
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10988
+ # for IP forwarding).
10989
+ # Corresponds to the JSON property `key`
10990
+ # @return [String]
10991
+ attr_accessor :key
10992
+
10993
+ # [Output Only] A warning data value corresponding to the key.
10994
+ # Corresponds to the JSON property `value`
10995
+ # @return [String]
10996
+ attr_accessor :value
10997
+
10998
+ def initialize(**args)
10999
+ update!(**args)
11000
+ end
11001
+
11002
+ # Update properties of this object
11003
+ def update!(**args)
11004
+ @key = args[:key] if args.key?(:key)
11005
+ @value = args[:value] if args.key?(:value)
11006
+ end
11007
+ end
11008
+ end
11009
+ end
11010
+
10292
11011
  #
10293
11012
  class GrpcHealthCheck
10294
11013
  include Google::Apis::Core::Hashable
@@ -10445,22 +11164,22 @@ module Google
10445
11164
  # evaluates to `true`. A condition can add constraints based on attributes of
10446
11165
  # the request, the resource, or both. To learn which resources support
10447
11166
  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
10448
- # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
11167
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
10449
11168
  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
10450
11169
  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
10451
11170
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
10452
11171
  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
10453
11172
  # ], "condition": ` "title": "expirable access", "description": "Does not grant
10454
11173
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
10455
- # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
10456
- # bindings: - members: - user:mike@example.com - group:admins@example.com -
10457
- # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
10458
- # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
10459
- # com role: roles/resourcemanager.organizationViewer condition: title: expirable
10460
- # access description: Does not grant access after Sep 2020 expression: request.
10461
- # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
10462
- # a description of IAM and its features, see the [IAM documentation](https://
10463
- # cloud.google.com/iam/docs/).
11174
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
11175
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
11176
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
11177
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
11178
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
11179
+ # title: expirable access description: Does not grant access after Sep 2020
11180
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
11181
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
11182
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
10464
11183
  # Corresponds to the JSON property `policy`
10465
11184
  # @return [Google::Apis::ComputeBeta::Policy]
10466
11185
  attr_accessor :policy
@@ -10538,22 +11257,22 @@ module Google
10538
11257
  # evaluates to `true`. A condition can add constraints based on attributes of
10539
11258
  # the request, the resource, or both. To learn which resources support
10540
11259
  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
10541
- # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
11260
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
10542
11261
  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
10543
11262
  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
10544
11263
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
10545
11264
  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
10546
11265
  # ], "condition": ` "title": "expirable access", "description": "Does not grant
10547
11266
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
10548
- # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
10549
- # bindings: - members: - user:mike@example.com - group:admins@example.com -
10550
- # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
10551
- # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
10552
- # com role: roles/resourcemanager.organizationViewer condition: title: expirable
10553
- # access description: Does not grant access after Sep 2020 expression: request.
10554
- # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
10555
- # a description of IAM and its features, see the [IAM documentation](https://
10556
- # cloud.google.com/iam/docs/).
11267
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
11268
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
11269
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
11270
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
11271
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
11272
+ # title: expirable access description: Does not grant access after Sep 2020
11273
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
11274
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
11275
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
10557
11276
  # Corresponds to the JSON property `policy`
10558
11277
  # @return [Google::Apis::ComputeBeta::Policy]
10559
11278
  attr_accessor :policy
@@ -29468,22 +30187,22 @@ module Google
29468
30187
  # evaluates to `true`. A condition can add constraints based on attributes of
29469
30188
  # the request, the resource, or both. To learn which resources support
29470
30189
  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
29471
- # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
30190
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
29472
30191
  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
29473
30192
  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
29474
30193
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
29475
30194
  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
29476
30195
  # ], "condition": ` "title": "expirable access", "description": "Does not grant
29477
30196
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
29478
- # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
29479
- # bindings: - members: - user:mike@example.com - group:admins@example.com -
29480
- # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
29481
- # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
29482
- # com role: roles/resourcemanager.organizationViewer condition: title: expirable
29483
- # access description: Does not grant access after Sep 2020 expression: request.
29484
- # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
29485
- # a description of IAM and its features, see the [IAM documentation](https://
29486
- # cloud.google.com/iam/docs/).
30197
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
30198
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
30199
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
30200
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
30201
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
30202
+ # title: expirable access description: Does not grant access after Sep 2020
30203
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
30204
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
30205
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
29487
30206
  class Policy
29488
30207
  include Google::Apis::Core::Hashable
29489
30208
 
@@ -32481,22 +33200,22 @@ module Google
32481
33200
  # evaluates to `true`. A condition can add constraints based on attributes of
32482
33201
  # the request, the resource, or both. To learn which resources support
32483
33202
  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
32484
- # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
33203
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
32485
33204
  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
32486
33205
  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
32487
33206
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
32488
33207
  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
32489
33208
  # ], "condition": ` "title": "expirable access", "description": "Does not grant
32490
33209
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
32491
- # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
32492
- # bindings: - members: - user:mike@example.com - group:admins@example.com -
32493
- # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
32494
- # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
32495
- # com role: roles/resourcemanager.organizationViewer condition: title: expirable
32496
- # access description: Does not grant access after Sep 2020 expression: request.
32497
- # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
32498
- # a description of IAM and its features, see the [IAM documentation](https://
32499
- # cloud.google.com/iam/docs/).
33210
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
33211
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
33212
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
33213
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
33214
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
33215
+ # title: expirable access description: Does not grant access after Sep 2020
33216
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
33217
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
33218
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
32500
33219
  # Corresponds to the JSON property `policy`
32501
33220
  # @return [Google::Apis::ComputeBeta::Policy]
32502
33221
  attr_accessor :policy
@@ -32609,6 +33328,20 @@ module Google
32609
33328
  # @return [String]
32610
33329
  attr_accessor :creation_timestamp
32611
33330
 
33331
+ # A Duration represents a fixed-length span of time represented as a count of
33332
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
33333
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
33334
+ # 000 years.
33335
+ # Corresponds to the JSON property `deleteAfterDuration`
33336
+ # @return [Google::Apis::ComputeBeta::Duration]
33337
+ attr_accessor :delete_after_duration
33338
+
33339
+ # Absolute time in future when the reservation will be auto-deleted by GCE.
33340
+ # Timestamp is represented in RFC3339 text format.
33341
+ # Corresponds to the JSON property `deleteAtTime`
33342
+ # @return [String]
33343
+ attr_accessor :delete_at_time
33344
+
32612
33345
  # An optional description of this resource. Provide this property when you
32613
33346
  # create the resource.
32614
33347
  # Corresponds to the JSON property `description`
@@ -32699,6 +33432,8 @@ module Google
32699
33432
  def update!(**args)
32700
33433
  @commitment = args[:commitment] if args.key?(:commitment)
32701
33434
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
33435
+ @delete_after_duration = args[:delete_after_duration] if args.key?(:delete_after_duration)
33436
+ @delete_at_time = args[:delete_at_time] if args.key?(:delete_at_time)
32702
33437
  @description = args[:description] if args.key?(:description)
32703
33438
  @id = args[:id] if args.key?(:id)
32704
33439
  @kind = args[:kind] if args.key?(:kind)
@@ -34136,7 +34871,9 @@ module Google
34136
34871
  attr_accessor :description
34137
34872
 
34138
34873
  # The destination range of outgoing packets that this route applies to. Both
34139
- # IPv4 and IPv6 are supported.
34874
+ # IPv4 and IPv6 are supported. Must specify an IPv4 range (e.g. 192.0.2.0/24) or
34875
+ # an IPv6 range in RFC 4291 format (e.g. 2001:db8::/32). IPv6 range will be
34876
+ # displayed using RFC 5952 compressed format.
34140
34877
  # Corresponds to the JSON property `destRange`
34141
34878
  # @return [String]
34142
34879
  attr_accessor :dest_range
@@ -34204,7 +34941,11 @@ module Google
34204
34941
  attr_accessor :next_hop_interconnect_attachment
34205
34942
 
34206
34943
  # The network IP address of an instance that should handle matching packets.
34207
- # Only IPv4 is supported.
34944
+ # Both IPv6 address and IPv4 addresses are supported. Must specify an IPv4
34945
+ # address in dot-decimal notation (e.g. 192.0.2.99) or an IPv6 address in RFC
34946
+ # 4291 format (e.g. 2001:db8::2d9:51:0:0 or 2001:db8:0:0:2d9:51:0:0). IPv6
34947
+ # addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::
34948
+ # 2d9:51:0:0). Should never be an IPv4-mapped IPv6 address.
34208
34949
  # Corresponds to the JSON property `nextHopIp`
34209
34950
  # @return [String]
34210
34951
  attr_accessor :next_hop_ip
@@ -48735,22 +49476,22 @@ module Google
48735
49476
  # evaluates to `true`. A condition can add constraints based on attributes of
48736
49477
  # the request, the resource, or both. To learn which resources support
48737
49478
  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
48738
- # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
49479
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
48739
49480
  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
48740
49481
  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
48741
49482
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
48742
49483
  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
48743
49484
  # ], "condition": ` "title": "expirable access", "description": "Does not grant
48744
49485
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
48745
- # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
48746
- # bindings: - members: - user:mike@example.com - group:admins@example.com -
48747
- # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
48748
- # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
48749
- # com role: roles/resourcemanager.organizationViewer condition: title: expirable
48750
- # access description: Does not grant access after Sep 2020 expression: request.
48751
- # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
48752
- # a description of IAM and its features, see the [IAM documentation](https://
48753
- # cloud.google.com/iam/docs/).
49486
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
49487
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
49488
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
49489
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
49490
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
49491
+ # title: expirable access description: Does not grant access after Sep 2020
49492
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
49493
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
49494
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
48754
49495
  # Corresponds to the JSON property `policy`
48755
49496
  # @return [Google::Apis::ComputeBeta::Policy]
48756
49497
  attr_accessor :policy