google-apis-compute_beta 0.76.0 → 0.77.0

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