google-apis-compute_v1 0.102.0 → 0.104.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.
@@ -3502,8 +3502,10 @@ module Google
3502
3502
  # set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to
3503
3503
  # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
3504
3504
  # set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If
3505
- # sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH,
3506
- # session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH
3505
+ # sessionAffinity is not configured—that is, if session affinity remains at the
3506
+ # default value of NONE—then the default value for localityLbPolicy is
3507
+ # ROUND_ROBIN. If session affinity is set to a value other than NONE, then the
3508
+ # default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH
3507
3509
  # are supported when the backend service is referenced by a URL map that is
3508
3510
  # bound to target gRPC proxy that has validateForProxyless field set to true.
3509
3511
  # Corresponds to the JSON property `localityLbPolicy`
@@ -9283,7 +9285,9 @@ module Google
9283
9285
  include Google::Apis::Core::Hashable
9284
9286
 
9285
9287
  # The Action to perform when the client connection triggers the rule. Valid
9286
- # actions are "allow", "deny" and "goto_next".
9288
+ # actions for firewall rules are: "allow", "deny", "apply_security_profile_group"
9289
+ # and "goto_next". Valid actions for packet mirroring rules are: "mirror", "
9290
+ # do_not_mirror" and "goto_next".
9287
9291
  # Corresponds to the JSON property `action`
9288
9292
  # @return [String]
9289
9293
  attr_accessor :action
@@ -9315,8 +9319,8 @@ module Google
9315
9319
  attr_accessor :enable_logging
9316
9320
  alias_method :enable_logging?, :enable_logging
9317
9321
 
9318
- # [Output only] Type of the resource. Always compute#firewallPolicyRule for
9319
- # firewall policy rules
9322
+ # [Output only] Type of the resource. Returns compute#firewallPolicyRule for
9323
+ # firewall rules and compute#packetMirroringRule for packet mirroring rules.
9320
9324
  # Corresponds to the JSON property `kind`
9321
9325
  # @return [String]
9322
9326
  attr_accessor :kind
@@ -9330,7 +9334,7 @@ module Google
9330
9334
  # An integer indicating the priority of a rule in the list. The priority must be
9331
9335
  # a positive value between 0 and 2147483647. Rules are evaluated from highest to
9332
9336
  # lowest priority where 0 is the highest priority and 2147483647 is the lowest
9333
- # prority.
9337
+ # priority.
9334
9338
  # Corresponds to the JSON property `priority`
9335
9339
  # @return [Fixnum]
9336
9340
  attr_accessor :priority
@@ -9348,8 +9352,9 @@ module Google
9348
9352
 
9349
9353
  # A fully-qualified URL of a SecurityProfile resource instance. Example: https://
9350
9354
  # networksecurity.googleapis.com/v1/projects/`project`/locations/`location`/
9351
- # securityProfileGroups/my-security-profile-group Must be specified if action = '
9352
- # apply_security_profile_group' and cannot be specified for other actions.
9355
+ # securityProfileGroups/my-security-profile-group Must be specified if action is
9356
+ # one of 'apply_security_profile_group' or 'mirror'. Cannot be specified for
9357
+ # other actions.
9353
9358
  # Corresponds to the JSON property `securityProfileGroup`
9354
9359
  # @return [String]
9355
9360
  attr_accessor :security_profile_group
@@ -10399,6 +10404,777 @@ module Google
10399
10404
  end
10400
10405
  end
10401
10406
 
10407
+ #
10408
+ class FutureReservation
10409
+ include Google::Apis::Core::Hashable
10410
+
10411
+ # Future timestamp when the FR auto-created reservations will be deleted by
10412
+ # Compute Engine. Format of this field must be a valid href="https://www.ietf.
10413
+ # org/rfc/rfc3339.txt">RFC3339 value.
10414
+ # Corresponds to the JSON property `autoCreatedReservationsDeleteTime`
10415
+ # @return [String]
10416
+ attr_accessor :auto_created_reservations_delete_time
10417
+
10418
+ # A Duration represents a fixed-length span of time represented as a count of
10419
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
10420
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
10421
+ # 000 years.
10422
+ # Corresponds to the JSON property `autoCreatedReservationsDuration`
10423
+ # @return [Google::Apis::ComputeV1::Duration]
10424
+ attr_accessor :auto_created_reservations_duration
10425
+
10426
+ # Setting for enabling or disabling automatic deletion for auto-created
10427
+ # reservation. If set to true, auto-created reservations will be deleted at
10428
+ # Future Reservation's end time (default) or at user's defined timestamp if any
10429
+ # of the [auto_created_reservations_delete_time,
10430
+ # auto_created_reservations_duration] values is specified. For keeping auto-
10431
+ # created reservation indefinitely, this value should be set to false.
10432
+ # Corresponds to the JSON property `autoDeleteAutoCreatedReservations`
10433
+ # @return [Boolean]
10434
+ attr_accessor :auto_delete_auto_created_reservations
10435
+ alias_method :auto_delete_auto_created_reservations?, :auto_delete_auto_created_reservations
10436
+
10437
+ # [Output Only] The creation timestamp for this future reservation in RFC3339
10438
+ # text format.
10439
+ # Corresponds to the JSON property `creationTimestamp`
10440
+ # @return [String]
10441
+ attr_accessor :creation_timestamp
10442
+
10443
+ # An optional description of this resource. Provide this property when you
10444
+ # create the future reservation.
10445
+ # Corresponds to the JSON property `description`
10446
+ # @return [String]
10447
+ attr_accessor :description
10448
+
10449
+ # [Output Only] A unique identifier for this future reservation. The server
10450
+ # defines this identifier.
10451
+ # Corresponds to the JSON property `id`
10452
+ # @return [Fixnum]
10453
+ attr_accessor :id
10454
+
10455
+ # [Output Only] Type of the resource. Always compute#futureReservation for
10456
+ # future reservations.
10457
+ # Corresponds to the JSON property `kind`
10458
+ # @return [String]
10459
+ attr_accessor :kind
10460
+
10461
+ # The name of the resource, provided by the client when initially creating the
10462
+ # resource. The resource name must be 1-63 characters long, and comply with
10463
+ # RFC1035. Specifically, the name must be 1-63 characters long and match the
10464
+ # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
10465
+ # character must be a lowercase letter, and all following characters must be a
10466
+ # dash, lowercase letter, or digit, except the last character, which cannot be a
10467
+ # dash.
10468
+ # Corresponds to the JSON property `name`
10469
+ # @return [String]
10470
+ attr_accessor :name
10471
+
10472
+ # Name prefix for the reservations to be created at the time of delivery. The
10473
+ # name prefix must comply with RFC1035. Maximum allowed length for name prefix
10474
+ # is 20. Automatically created reservations name format will be -date-####.
10475
+ # Corresponds to the JSON property `namePrefix`
10476
+ # @return [String]
10477
+ attr_accessor :name_prefix
10478
+
10479
+ # Planning state before being submitted for evaluation
10480
+ # Corresponds to the JSON property `planningStatus`
10481
+ # @return [String]
10482
+ attr_accessor :planning_status
10483
+
10484
+ # [Output Only] Server-defined fully-qualified URL for this resource.
10485
+ # Corresponds to the JSON property `selfLink`
10486
+ # @return [String]
10487
+ attr_accessor :self_link
10488
+
10489
+ # [Output Only] Server-defined URL for this resource with the resource id.
10490
+ # Corresponds to the JSON property `selfLinkWithId`
10491
+ # @return [String]
10492
+ attr_accessor :self_link_with_id
10493
+
10494
+ # The share setting for reservations and sole tenancy node groups.
10495
+ # Corresponds to the JSON property `shareSettings`
10496
+ # @return [Google::Apis::ComputeV1::ShareSettings]
10497
+ attr_accessor :share_settings
10498
+
10499
+ # Indicates whether the auto-created reservation can be consumed by VMs with
10500
+ # affinity for "any" reservation. If the field is set, then only VMs that target
10501
+ # the reservation by name can consume from the delivered reservation. If set to
10502
+ # true,the delivered resevervation will have the same name as the future
10503
+ # reservation.
10504
+ # Corresponds to the JSON property `specificReservationRequired`
10505
+ # @return [Boolean]
10506
+ attr_accessor :specific_reservation_required
10507
+ alias_method :specific_reservation_required?, :specific_reservation_required
10508
+
10509
+ # Future Reservation configuration to indicate instance properties and total
10510
+ # count.
10511
+ # Corresponds to the JSON property `specificSkuProperties`
10512
+ # @return [Google::Apis::ComputeV1::FutureReservationSpecificSkuProperties]
10513
+ attr_accessor :specific_sku_properties
10514
+
10515
+ # [Output only] Represents status related to the future reservation.
10516
+ # Corresponds to the JSON property `status`
10517
+ # @return [Google::Apis::ComputeV1::FutureReservationStatus]
10518
+ attr_accessor :status
10519
+
10520
+ # Time window for this Future Reservation.
10521
+ # Corresponds to the JSON property `timeWindow`
10522
+ # @return [Google::Apis::ComputeV1::FutureReservationTimeWindow]
10523
+ attr_accessor :time_window
10524
+
10525
+ # [Output Only] URL of the Zone where this future reservation resides.
10526
+ # Corresponds to the JSON property `zone`
10527
+ # @return [String]
10528
+ attr_accessor :zone
10529
+
10530
+ def initialize(**args)
10531
+ update!(**args)
10532
+ end
10533
+
10534
+ # Update properties of this object
10535
+ def update!(**args)
10536
+ @auto_created_reservations_delete_time = args[:auto_created_reservations_delete_time] if args.key?(:auto_created_reservations_delete_time)
10537
+ @auto_created_reservations_duration = args[:auto_created_reservations_duration] if args.key?(:auto_created_reservations_duration)
10538
+ @auto_delete_auto_created_reservations = args[:auto_delete_auto_created_reservations] if args.key?(:auto_delete_auto_created_reservations)
10539
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
10540
+ @description = args[:description] if args.key?(:description)
10541
+ @id = args[:id] if args.key?(:id)
10542
+ @kind = args[:kind] if args.key?(:kind)
10543
+ @name = args[:name] if args.key?(:name)
10544
+ @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
10545
+ @planning_status = args[:planning_status] if args.key?(:planning_status)
10546
+ @self_link = args[:self_link] if args.key?(:self_link)
10547
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
10548
+ @share_settings = args[:share_settings] if args.key?(:share_settings)
10549
+ @specific_reservation_required = args[:specific_reservation_required] if args.key?(:specific_reservation_required)
10550
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
10551
+ @status = args[:status] if args.key?(:status)
10552
+ @time_window = args[:time_window] if args.key?(:time_window)
10553
+ @zone = args[:zone] if args.key?(:zone)
10554
+ end
10555
+ end
10556
+
10557
+ #
10558
+ class FutureReservationSpecificSkuProperties
10559
+ include Google::Apis::Core::Hashable
10560
+
10561
+ # Properties of the SKU instances being reserved. Next ID: 9
10562
+ # Corresponds to the JSON property `instanceProperties`
10563
+ # @return [Google::Apis::ComputeV1::AllocationSpecificSkuAllocationReservedInstanceProperties]
10564
+ attr_accessor :instance_properties
10565
+
10566
+ # The instance template that will be used to populate the
10567
+ # ReservedInstanceProperties of the future reservation
10568
+ # Corresponds to the JSON property `sourceInstanceTemplate`
10569
+ # @return [String]
10570
+ attr_accessor :source_instance_template
10571
+
10572
+ # Total number of instances for which capacity assurance is requested at a
10573
+ # future time period.
10574
+ # Corresponds to the JSON property `totalCount`
10575
+ # @return [Fixnum]
10576
+ attr_accessor :total_count
10577
+
10578
+ def initialize(**args)
10579
+ update!(**args)
10580
+ end
10581
+
10582
+ # Update properties of this object
10583
+ def update!(**args)
10584
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
10585
+ @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
10586
+ @total_count = args[:total_count] if args.key?(:total_count)
10587
+ end
10588
+ end
10589
+
10590
+ # [Output only] Represents status related to the future reservation.
10591
+ class FutureReservationStatus
10592
+ include Google::Apis::Core::Hashable
10593
+
10594
+ # [Output Only] The current status of the requested amendment.
10595
+ # Corresponds to the JSON property `amendmentStatus`
10596
+ # @return [String]
10597
+ attr_accessor :amendment_status
10598
+
10599
+ # Fully qualified urls of the automatically created reservations at start_time.
10600
+ # Corresponds to the JSON property `autoCreatedReservations`
10601
+ # @return [Array<String>]
10602
+ attr_accessor :auto_created_reservations
10603
+
10604
+ # [Output Only] Represents the existing matching usage for the future
10605
+ # reservation.
10606
+ # Corresponds to the JSON property `existingMatchingUsageInfo`
10607
+ # @return [Google::Apis::ComputeV1::FutureReservationStatusExistingMatchingUsageInfo]
10608
+ attr_accessor :existing_matching_usage_info
10609
+
10610
+ # This count indicates the fulfilled capacity so far. This is set during "
10611
+ # PROVISIONING" state. This count also includes capacity delivered as part of
10612
+ # existing matching reservations.
10613
+ # Corresponds to the JSON property `fulfilledCount`
10614
+ # @return [Fixnum]
10615
+ attr_accessor :fulfilled_count
10616
+
10617
+ # The state that the future reservation will be reverted to should the amendment
10618
+ # be declined.
10619
+ # Corresponds to the JSON property `lastKnownGoodState`
10620
+ # @return [Google::Apis::ComputeV1::FutureReservationStatusLastKnownGoodState]
10621
+ attr_accessor :last_known_good_state
10622
+
10623
+ # Time when Future Reservation would become LOCKED, after which no modifications
10624
+ # to Future Reservation will be allowed. Applicable only after the Future
10625
+ # Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The
10626
+ # procurement_status will transition to PROCURING state at this time.
10627
+ # Corresponds to the JSON property `lockTime`
10628
+ # @return [String]
10629
+ attr_accessor :lock_time
10630
+
10631
+ # Current state of this Future Reservation
10632
+ # Corresponds to the JSON property `procurementStatus`
10633
+ # @return [String]
10634
+ attr_accessor :procurement_status
10635
+
10636
+ # Properties to be set for the Future Reservation.
10637
+ # Corresponds to the JSON property `specificSkuProperties`
10638
+ # @return [Google::Apis::ComputeV1::FutureReservationStatusSpecificSkuProperties]
10639
+ attr_accessor :specific_sku_properties
10640
+
10641
+ def initialize(**args)
10642
+ update!(**args)
10643
+ end
10644
+
10645
+ # Update properties of this object
10646
+ def update!(**args)
10647
+ @amendment_status = args[:amendment_status] if args.key?(:amendment_status)
10648
+ @auto_created_reservations = args[:auto_created_reservations] if args.key?(:auto_created_reservations)
10649
+ @existing_matching_usage_info = args[:existing_matching_usage_info] if args.key?(:existing_matching_usage_info)
10650
+ @fulfilled_count = args[:fulfilled_count] if args.key?(:fulfilled_count)
10651
+ @last_known_good_state = args[:last_known_good_state] if args.key?(:last_known_good_state)
10652
+ @lock_time = args[:lock_time] if args.key?(:lock_time)
10653
+ @procurement_status = args[:procurement_status] if args.key?(:procurement_status)
10654
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
10655
+ end
10656
+ end
10657
+
10658
+ # [Output Only] Represents the existing matching usage for the future
10659
+ # reservation.
10660
+ class FutureReservationStatusExistingMatchingUsageInfo
10661
+ include Google::Apis::Core::Hashable
10662
+
10663
+ # Count to represent min(FR total_count, matching_reserved_capacity+
10664
+ # matching_unreserved_instances)
10665
+ # Corresponds to the JSON property `count`
10666
+ # @return [Fixnum]
10667
+ attr_accessor :count
10668
+
10669
+ # Timestamp when the matching usage was calculated
10670
+ # Corresponds to the JSON property `timestamp`
10671
+ # @return [String]
10672
+ attr_accessor :timestamp
10673
+
10674
+ def initialize(**args)
10675
+ update!(**args)
10676
+ end
10677
+
10678
+ # Update properties of this object
10679
+ def update!(**args)
10680
+ @count = args[:count] if args.key?(:count)
10681
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
10682
+ end
10683
+ end
10684
+
10685
+ # The state that the future reservation will be reverted to should the amendment
10686
+ # be declined.
10687
+ class FutureReservationStatusLastKnownGoodState
10688
+ include Google::Apis::Core::Hashable
10689
+
10690
+ # [Output Only] The description of the FutureReservation before an amendment was
10691
+ # requested.
10692
+ # Corresponds to the JSON property `description`
10693
+ # @return [String]
10694
+ attr_accessor :description
10695
+
10696
+ # [Output Only] Represents the existing matching usage for the future
10697
+ # reservation.
10698
+ # Corresponds to the JSON property `existingMatchingUsageInfo`
10699
+ # @return [Google::Apis::ComputeV1::FutureReservationStatusExistingMatchingUsageInfo]
10700
+ attr_accessor :existing_matching_usage_info
10701
+
10702
+ # The properties of the last known good state for the Future Reservation.
10703
+ # Corresponds to the JSON property `futureReservationSpecs`
10704
+ # @return [Google::Apis::ComputeV1::FutureReservationStatusLastKnownGoodStateFutureReservationSpecs]
10705
+ attr_accessor :future_reservation_specs
10706
+
10707
+ # [Output Only] The lock time of the FutureReservation before an amendment was
10708
+ # requested.
10709
+ # Corresponds to the JSON property `lockTime`
10710
+ # @return [String]
10711
+ attr_accessor :lock_time
10712
+
10713
+ # [Output Only] The name prefix of the Future Reservation before an amendment
10714
+ # was requested.
10715
+ # Corresponds to the JSON property `namePrefix`
10716
+ # @return [String]
10717
+ attr_accessor :name_prefix
10718
+
10719
+ # [Output Only] The status of the last known good state for the Future
10720
+ # Reservation.
10721
+ # Corresponds to the JSON property `procurementStatus`
10722
+ # @return [String]
10723
+ attr_accessor :procurement_status
10724
+
10725
+ def initialize(**args)
10726
+ update!(**args)
10727
+ end
10728
+
10729
+ # Update properties of this object
10730
+ def update!(**args)
10731
+ @description = args[:description] if args.key?(:description)
10732
+ @existing_matching_usage_info = args[:existing_matching_usage_info] if args.key?(:existing_matching_usage_info)
10733
+ @future_reservation_specs = args[:future_reservation_specs] if args.key?(:future_reservation_specs)
10734
+ @lock_time = args[:lock_time] if args.key?(:lock_time)
10735
+ @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
10736
+ @procurement_status = args[:procurement_status] if args.key?(:procurement_status)
10737
+ end
10738
+ end
10739
+
10740
+ # The properties of the last known good state for the Future Reservation.
10741
+ class FutureReservationStatusLastKnownGoodStateFutureReservationSpecs
10742
+ include Google::Apis::Core::Hashable
10743
+
10744
+ # The share setting for reservations and sole tenancy node groups.
10745
+ # Corresponds to the JSON property `shareSettings`
10746
+ # @return [Google::Apis::ComputeV1::ShareSettings]
10747
+ attr_accessor :share_settings
10748
+
10749
+ # [Output Only] The previous instance related properties of the Future
10750
+ # Reservation.
10751
+ # Corresponds to the JSON property `specificSkuProperties`
10752
+ # @return [Google::Apis::ComputeV1::FutureReservationSpecificSkuProperties]
10753
+ attr_accessor :specific_sku_properties
10754
+
10755
+ # [Output Only] The previous time window of the Future Reservation.
10756
+ # Corresponds to the JSON property `timeWindow`
10757
+ # @return [Google::Apis::ComputeV1::FutureReservationTimeWindow]
10758
+ attr_accessor :time_window
10759
+
10760
+ def initialize(**args)
10761
+ update!(**args)
10762
+ end
10763
+
10764
+ # Update properties of this object
10765
+ def update!(**args)
10766
+ @share_settings = args[:share_settings] if args.key?(:share_settings)
10767
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
10768
+ @time_window = args[:time_window] if args.key?(:time_window)
10769
+ end
10770
+ end
10771
+
10772
+ # Properties to be set for the Future Reservation.
10773
+ class FutureReservationStatusSpecificSkuProperties
10774
+ include Google::Apis::Core::Hashable
10775
+
10776
+ # ID of the instance template used to populate the Future Reservation properties.
10777
+ # Corresponds to the JSON property `sourceInstanceTemplateId`
10778
+ # @return [String]
10779
+ attr_accessor :source_instance_template_id
10780
+
10781
+ def initialize(**args)
10782
+ update!(**args)
10783
+ end
10784
+
10785
+ # Update properties of this object
10786
+ def update!(**args)
10787
+ @source_instance_template_id = args[:source_instance_template_id] if args.key?(:source_instance_template_id)
10788
+ end
10789
+ end
10790
+
10791
+ #
10792
+ class FutureReservationTimeWindow
10793
+ include Google::Apis::Core::Hashable
10794
+
10795
+ # A Duration represents a fixed-length span of time represented as a count of
10796
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
10797
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
10798
+ # 000 years.
10799
+ # Corresponds to the JSON property `duration`
10800
+ # @return [Google::Apis::ComputeV1::Duration]
10801
+ attr_accessor :duration
10802
+
10803
+ #
10804
+ # Corresponds to the JSON property `endTime`
10805
+ # @return [String]
10806
+ attr_accessor :end_time
10807
+
10808
+ # Start time of the Future Reservation. The start_time is an RFC3339 string.
10809
+ # Corresponds to the JSON property `startTime`
10810
+ # @return [String]
10811
+ attr_accessor :start_time
10812
+
10813
+ def initialize(**args)
10814
+ update!(**args)
10815
+ end
10816
+
10817
+ # Update properties of this object
10818
+ def update!(**args)
10819
+ @duration = args[:duration] if args.key?(:duration)
10820
+ @end_time = args[:end_time] if args.key?(:end_time)
10821
+ @start_time = args[:start_time] if args.key?(:start_time)
10822
+ end
10823
+ end
10824
+
10825
+ # Contains a list of future reservations.
10826
+ class FutureReservationsAggregatedListResponse
10827
+ include Google::Apis::Core::Hashable
10828
+
10829
+ #
10830
+ # Corresponds to the JSON property `etag`
10831
+ # @return [String]
10832
+ attr_accessor :etag
10833
+
10834
+ # [Output Only] Unique identifier for the resource; defined by the server.
10835
+ # Corresponds to the JSON property `id`
10836
+ # @return [String]
10837
+ attr_accessor :id
10838
+
10839
+ # A list of Future reservation resources.
10840
+ # Corresponds to the JSON property `items`
10841
+ # @return [Hash<String,Google::Apis::ComputeV1::FutureReservationsScopedList>]
10842
+ attr_accessor :items
10843
+
10844
+ # [Output Only] Type of resource. Always compute#
10845
+ # futureReservationsAggregatedListResponse for future resevation aggregated list
10846
+ # response.
10847
+ # Corresponds to the JSON property `kind`
10848
+ # @return [String]
10849
+ attr_accessor :kind
10850
+
10851
+ # [Output Only] This token allows you to get the next page of results for list
10852
+ # requests. If the number of results is larger than maxResults, use the
10853
+ # nextPageToken as a value for the query parameter pageToken in the next list
10854
+ # request. Subsequent list requests will have their own nextPageToken to
10855
+ # continue paging through the results.
10856
+ # Corresponds to the JSON property `nextPageToken`
10857
+ # @return [String]
10858
+ attr_accessor :next_page_token
10859
+
10860
+ # [Output Only] Server-defined URL for this resource.
10861
+ # Corresponds to the JSON property `selfLink`
10862
+ # @return [String]
10863
+ attr_accessor :self_link
10864
+
10865
+ # [Output Only] Unreachable resources.
10866
+ # Corresponds to the JSON property `unreachables`
10867
+ # @return [Array<String>]
10868
+ attr_accessor :unreachables
10869
+
10870
+ # [Output Only] Informational warning message.
10871
+ # Corresponds to the JSON property `warning`
10872
+ # @return [Google::Apis::ComputeV1::FutureReservationsAggregatedListResponse::Warning]
10873
+ attr_accessor :warning
10874
+
10875
+ def initialize(**args)
10876
+ update!(**args)
10877
+ end
10878
+
10879
+ # Update properties of this object
10880
+ def update!(**args)
10881
+ @etag = args[:etag] if args.key?(:etag)
10882
+ @id = args[:id] if args.key?(:id)
10883
+ @items = args[:items] if args.key?(:items)
10884
+ @kind = args[:kind] if args.key?(:kind)
10885
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10886
+ @self_link = args[:self_link] if args.key?(:self_link)
10887
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10888
+ @warning = args[:warning] if args.key?(:warning)
10889
+ end
10890
+
10891
+ # [Output Only] Informational warning message.
10892
+ class Warning
10893
+ include Google::Apis::Core::Hashable
10894
+
10895
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10896
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10897
+ # Corresponds to the JSON property `code`
10898
+ # @return [String]
10899
+ attr_accessor :code
10900
+
10901
+ # [Output Only] Metadata about this warning in key: value format. For example: "
10902
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10903
+ # Corresponds to the JSON property `data`
10904
+ # @return [Array<Google::Apis::ComputeV1::FutureReservationsAggregatedListResponse::Warning::Datum>]
10905
+ attr_accessor :data
10906
+
10907
+ # [Output Only] A human-readable description of the warning code.
10908
+ # Corresponds to the JSON property `message`
10909
+ # @return [String]
10910
+ attr_accessor :message
10911
+
10912
+ def initialize(**args)
10913
+ update!(**args)
10914
+ end
10915
+
10916
+ # Update properties of this object
10917
+ def update!(**args)
10918
+ @code = args[:code] if args.key?(:code)
10919
+ @data = args[:data] if args.key?(:data)
10920
+ @message = args[:message] if args.key?(:message)
10921
+ end
10922
+
10923
+ #
10924
+ class Datum
10925
+ include Google::Apis::Core::Hashable
10926
+
10927
+ # [Output Only] A key that provides more detail on the warning being returned.
10928
+ # For example, for warnings where there are no results in a list request for a
10929
+ # particular zone, this key might be scope and the key value might be the zone
10930
+ # name. Other examples might be a key indicating a deprecated resource and a
10931
+ # suggested replacement, or a warning about invalid network settings (for
10932
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10933
+ # for IP forwarding).
10934
+ # Corresponds to the JSON property `key`
10935
+ # @return [String]
10936
+ attr_accessor :key
10937
+
10938
+ # [Output Only] A warning data value corresponding to the key.
10939
+ # Corresponds to the JSON property `value`
10940
+ # @return [String]
10941
+ attr_accessor :value
10942
+
10943
+ def initialize(**args)
10944
+ update!(**args)
10945
+ end
10946
+
10947
+ # Update properties of this object
10948
+ def update!(**args)
10949
+ @key = args[:key] if args.key?(:key)
10950
+ @value = args[:value] if args.key?(:value)
10951
+ end
10952
+ end
10953
+ end
10954
+ end
10955
+
10956
+ #
10957
+ class FutureReservationsListResponse
10958
+ include Google::Apis::Core::Hashable
10959
+
10960
+ #
10961
+ # Corresponds to the JSON property `etag`
10962
+ # @return [String]
10963
+ attr_accessor :etag
10964
+
10965
+ # [Output Only] The unique identifier for the resource. This identifier is
10966
+ # defined by the server.
10967
+ # Corresponds to the JSON property `id`
10968
+ # @return [String]
10969
+ attr_accessor :id
10970
+
10971
+ # [Output Only] A list of future reservation resources.
10972
+ # Corresponds to the JSON property `items`
10973
+ # @return [Array<Google::Apis::ComputeV1::FutureReservation>]
10974
+ attr_accessor :items
10975
+
10976
+ # [Output Only] Type of resource.Always compute#FutureReservationsListResponse
10977
+ # for lists of reservations
10978
+ # Corresponds to the JSON property `kind`
10979
+ # @return [String]
10980
+ attr_accessor :kind
10981
+
10982
+ # [Output Only] This token allows you to get the next page of results for list
10983
+ # requests. If the number of results is larger than maxResults, use the
10984
+ # nextPageToken as a value for the query parameter pageToken in the next list
10985
+ # request. Subsequent list requests will have their own nextPageToken to
10986
+ # continue paging through the results.
10987
+ # Corresponds to the JSON property `nextPageToken`
10988
+ # @return [String]
10989
+ attr_accessor :next_page_token
10990
+
10991
+ # [Output Only] Server-defined URL for this resource.
10992
+ # Corresponds to the JSON property `selfLink`
10993
+ # @return [String]
10994
+ attr_accessor :self_link
10995
+
10996
+ # [Output Only] Unreachable resources.
10997
+ # Corresponds to the JSON property `unreachables`
10998
+ # @return [Array<String>]
10999
+ attr_accessor :unreachables
11000
+
11001
+ # [Output Only] Informational warning message.
11002
+ # Corresponds to the JSON property `warning`
11003
+ # @return [Google::Apis::ComputeV1::FutureReservationsListResponse::Warning]
11004
+ attr_accessor :warning
11005
+
11006
+ def initialize(**args)
11007
+ update!(**args)
11008
+ end
11009
+
11010
+ # Update properties of this object
11011
+ def update!(**args)
11012
+ @etag = args[:etag] if args.key?(:etag)
11013
+ @id = args[:id] if args.key?(:id)
11014
+ @items = args[:items] if args.key?(:items)
11015
+ @kind = args[:kind] if args.key?(:kind)
11016
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
11017
+ @self_link = args[:self_link] if args.key?(:self_link)
11018
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
11019
+ @warning = args[:warning] if args.key?(:warning)
11020
+ end
11021
+
11022
+ # [Output Only] Informational warning message.
11023
+ class Warning
11024
+ include Google::Apis::Core::Hashable
11025
+
11026
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
11027
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
11028
+ # Corresponds to the JSON property `code`
11029
+ # @return [String]
11030
+ attr_accessor :code
11031
+
11032
+ # [Output Only] Metadata about this warning in key: value format. For example: "
11033
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
11034
+ # Corresponds to the JSON property `data`
11035
+ # @return [Array<Google::Apis::ComputeV1::FutureReservationsListResponse::Warning::Datum>]
11036
+ attr_accessor :data
11037
+
11038
+ # [Output Only] A human-readable description of the warning code.
11039
+ # Corresponds to the JSON property `message`
11040
+ # @return [String]
11041
+ attr_accessor :message
11042
+
11043
+ def initialize(**args)
11044
+ update!(**args)
11045
+ end
11046
+
11047
+ # Update properties of this object
11048
+ def update!(**args)
11049
+ @code = args[:code] if args.key?(:code)
11050
+ @data = args[:data] if args.key?(:data)
11051
+ @message = args[:message] if args.key?(:message)
11052
+ end
11053
+
11054
+ #
11055
+ class Datum
11056
+ include Google::Apis::Core::Hashable
11057
+
11058
+ # [Output Only] A key that provides more detail on the warning being returned.
11059
+ # For example, for warnings where there are no results in a list request for a
11060
+ # particular zone, this key might be scope and the key value might be the zone
11061
+ # name. Other examples might be a key indicating a deprecated resource and a
11062
+ # suggested replacement, or a warning about invalid network settings (for
11063
+ # example, if an instance attempts to perform IP forwarding but is not enabled
11064
+ # for IP forwarding).
11065
+ # Corresponds to the JSON property `key`
11066
+ # @return [String]
11067
+ attr_accessor :key
11068
+
11069
+ # [Output Only] A warning data value corresponding to the key.
11070
+ # Corresponds to the JSON property `value`
11071
+ # @return [String]
11072
+ attr_accessor :value
11073
+
11074
+ def initialize(**args)
11075
+ update!(**args)
11076
+ end
11077
+
11078
+ # Update properties of this object
11079
+ def update!(**args)
11080
+ @key = args[:key] if args.key?(:key)
11081
+ @value = args[:value] if args.key?(:value)
11082
+ end
11083
+ end
11084
+ end
11085
+ end
11086
+
11087
+ #
11088
+ class FutureReservationsScopedList
11089
+ include Google::Apis::Core::Hashable
11090
+
11091
+ # A list of future reservations contained in this scope.
11092
+ # Corresponds to the JSON property `futureReservations`
11093
+ # @return [Array<Google::Apis::ComputeV1::FutureReservation>]
11094
+ attr_accessor :future_reservations
11095
+
11096
+ # Informational warning which replaces the list of future reservations when the
11097
+ # list is empty.
11098
+ # Corresponds to the JSON property `warning`
11099
+ # @return [Google::Apis::ComputeV1::FutureReservationsScopedList::Warning]
11100
+ attr_accessor :warning
11101
+
11102
+ def initialize(**args)
11103
+ update!(**args)
11104
+ end
11105
+
11106
+ # Update properties of this object
11107
+ def update!(**args)
11108
+ @future_reservations = args[:future_reservations] if args.key?(:future_reservations)
11109
+ @warning = args[:warning] if args.key?(:warning)
11110
+ end
11111
+
11112
+ # Informational warning which replaces the list of future reservations when the
11113
+ # list is empty.
11114
+ class Warning
11115
+ include Google::Apis::Core::Hashable
11116
+
11117
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
11118
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
11119
+ # Corresponds to the JSON property `code`
11120
+ # @return [String]
11121
+ attr_accessor :code
11122
+
11123
+ # [Output Only] Metadata about this warning in key: value format. For example: "
11124
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
11125
+ # Corresponds to the JSON property `data`
11126
+ # @return [Array<Google::Apis::ComputeV1::FutureReservationsScopedList::Warning::Datum>]
11127
+ attr_accessor :data
11128
+
11129
+ # [Output Only] A human-readable description of the warning code.
11130
+ # Corresponds to the JSON property `message`
11131
+ # @return [String]
11132
+ attr_accessor :message
11133
+
11134
+ def initialize(**args)
11135
+ update!(**args)
11136
+ end
11137
+
11138
+ # Update properties of this object
11139
+ def update!(**args)
11140
+ @code = args[:code] if args.key?(:code)
11141
+ @data = args[:data] if args.key?(:data)
11142
+ @message = args[:message] if args.key?(:message)
11143
+ end
11144
+
11145
+ #
11146
+ class Datum
11147
+ include Google::Apis::Core::Hashable
11148
+
11149
+ # [Output Only] A key that provides more detail on the warning being returned.
11150
+ # For example, for warnings where there are no results in a list request for a
11151
+ # particular zone, this key might be scope and the key value might be the zone
11152
+ # name. Other examples might be a key indicating a deprecated resource and a
11153
+ # suggested replacement, or a warning about invalid network settings (for
11154
+ # example, if an instance attempts to perform IP forwarding but is not enabled
11155
+ # for IP forwarding).
11156
+ # Corresponds to the JSON property `key`
11157
+ # @return [String]
11158
+ attr_accessor :key
11159
+
11160
+ # [Output Only] A warning data value corresponding to the key.
11161
+ # Corresponds to the JSON property `value`
11162
+ # @return [String]
11163
+ attr_accessor :value
11164
+
11165
+ def initialize(**args)
11166
+ update!(**args)
11167
+ end
11168
+
11169
+ # Update properties of this object
11170
+ def update!(**args)
11171
+ @key = args[:key] if args.key?(:key)
11172
+ @value = args[:value] if args.key?(:value)
11173
+ end
11174
+ end
11175
+ end
11176
+ end
11177
+
10402
11178
  #
10403
11179
  class GrpcHealthCheck
10404
11180
  include Google::Apis::Core::Hashable
@@ -11149,6 +11925,20 @@ module Google
11149
11925
  # @return [String]
11150
11926
  attr_accessor :self_link
11151
11927
 
11928
+ # The list of cloud regions from which health checks are performed. If any
11929
+ # regions are specified, then exactly 3 regions should be specified. The region
11930
+ # names must be valid names of Google Cloud regions. This can only be set for
11931
+ # global health check. If this list is non-empty, then there are restrictions on
11932
+ # what other health check fields are supported and what other resources can use
11933
+ # this health check: - SSL, HTTP2, and GRPC protocols are not supported. - The
11934
+ # TCP request field is not supported. - The proxyHeader field for HTTP, HTTPS,
11935
+ # and TCP is not supported. - The checkIntervalSec field must be at least 30. -
11936
+ # The health check cannot be used with BackendService nor with managed instance
11937
+ # group auto-healing.
11938
+ # Corresponds to the JSON property `sourceRegions`
11939
+ # @return [Array<String>]
11940
+ attr_accessor :source_regions
11941
+
11152
11942
  #
11153
11943
  # Corresponds to the JSON property `sslHealthCheck`
11154
11944
  # @return [Google::Apis::ComputeV1::SslHealthCheck]
@@ -11199,6 +11989,7 @@ module Google
11199
11989
  @name = args[:name] if args.key?(:name)
11200
11990
  @region = args[:region] if args.key?(:region)
11201
11991
  @self_link = args[:self_link] if args.key?(:self_link)
11992
+ @source_regions = args[:source_regions] if args.key?(:source_regions)
11202
11993
  @ssl_health_check = args[:ssl_health_check] if args.key?(:ssl_health_check)
11203
11994
  @tcp_health_check = args[:tcp_health_check] if args.key?(:tcp_health_check)
11204
11995
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
@@ -14651,7 +15442,7 @@ module Google
14651
15442
  # instance name with a hyphen followed by one or more hash symbols. The hash
14652
15443
  # symbols indicate the number of digits. For example, a base instance name of "
14653
15444
  # vm-###" results in "vm-001" as a VM name. @pattern [a-z](([-a-z0-9]`0,57`)|([-
14654
- # a-z0-9]`0,52`-#`1,10`(\\[[0-9]`1,10`\\])?))
15445
+ # a-z0-9]`0,51`-#`1,10`(\\[[0-9]`1,10`\\])?))
14655
15446
  # Corresponds to the JSON property `baseInstanceName`
14656
15447
  # @return [String]
14657
15448
  attr_accessor :base_instance_name
@@ -15329,7 +16120,8 @@ module Google
15329
16120
  attr_accessor :requested_run_duration
15330
16121
 
15331
16122
  # The number of instances to be created by this resize request. The group's
15332
- # target size will be increased by this number.
16123
+ # target size will be increased by this number. This field cannot be used
16124
+ # together with 'instances'.
15333
16125
  # Corresponds to the JSON property `resizeBy`
15334
16126
  # @return [Fixnum]
15335
16127
  attr_accessor :resize_by
@@ -18061,6 +18853,12 @@ module Google
18061
18853
  # @return [String]
18062
18854
  attr_accessor :name
18063
18855
 
18856
+ # [Output only] Priority of firewall policy association. Not applicable for type=
18857
+ # HIERARCHY.
18858
+ # Corresponds to the JSON property `priority`
18859
+ # @return [Fixnum]
18860
+ attr_accessor :priority
18861
+
18064
18862
  # The rules that apply to the network.
18065
18863
  # Corresponds to the JSON property `rules`
18066
18864
  # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
@@ -18085,6 +18883,7 @@ module Google
18085
18883
  def update!(**args)
18086
18884
  @display_name = args[:display_name] if args.key?(:display_name)
18087
18885
  @name = args[:name] if args.key?(:name)
18886
+ @priority = args[:priority] if args.key?(:priority)
18088
18887
  @rules = args[:rules] if args.key?(:rules)
18089
18888
  @short_name = args[:short_name] if args.key?(:short_name)
18090
18889
  @type = args[:type] if args.key?(:type)
@@ -34036,6 +34835,11 @@ module Google
34036
34835
  # @return [String]
34037
34836
  attr_accessor :physical_host
34038
34837
 
34838
+ #
34839
+ # Corresponds to the JSON property `scheduling`
34840
+ # @return [Google::Apis::ComputeV1::ResourceStatusScheduling]
34841
+ attr_accessor :scheduling
34842
+
34039
34843
  # Upcoming Maintenance notification information.
34040
34844
  # Corresponds to the JSON property `upcomingMaintenance`
34041
34845
  # @return [Google::Apis::ComputeV1::UpcomingMaintenance]
@@ -34048,10 +34852,32 @@ module Google
34048
34852
  # Update properties of this object
34049
34853
  def update!(**args)
34050
34854
  @physical_host = args[:physical_host] if args.key?(:physical_host)
34855
+ @scheduling = args[:scheduling] if args.key?(:scheduling)
34051
34856
  @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
34052
34857
  end
34053
34858
  end
34054
34859
 
34860
+ #
34861
+ class ResourceStatusScheduling
34862
+ include Google::Apis::Core::Hashable
34863
+
34864
+ # Specifies the availability domain to place the instance in. The value must be
34865
+ # a number between 1 and the number of availability domains specified in the
34866
+ # spread placement policy attached to the instance.
34867
+ # Corresponds to the JSON property `availabilityDomain`
34868
+ # @return [Fixnum]
34869
+ attr_accessor :availability_domain
34870
+
34871
+ def initialize(**args)
34872
+ update!(**args)
34873
+ end
34874
+
34875
+ # Update properties of this object
34876
+ def update!(**args)
34877
+ @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
34878
+ end
34879
+ end
34880
+
34055
34881
  # Represents a Route resource. A route defines a path from VM instances in the
34056
34882
  # VPC network to a specific destination. This destination can be inside or
34057
34883
  # outside the VPC network. For more information, read the Routes overview.
@@ -43845,10 +44671,11 @@ module Google
43845
44671
  attr_accessor :authorization_policy
43846
44672
 
43847
44673
  # URL of a certificate map that identifies a certificate map associated with the
43848
- # given target proxy. This field can only be set for global target proxies. If
43849
- # set, sslCertificates will be ignored. Accepted format is //certificatemanager.
43850
- # googleapis.com/projects/`project `/locations/`location`/certificateMaps/`
43851
- # resourceName`.
44674
+ # given target proxy. This field can only be set for Global external Application
44675
+ # Load Balancer or Classic Application Load Balancer. For other products use
44676
+ # Certificate Manager Certificates instead. If set, sslCertificates will be
44677
+ # ignored. Accepted format is //certificatemanager.googleapis.com/projects/`
44678
+ # project `/locations/`location`/certificateMaps/`resourceName`.
43852
44679
  # Corresponds to the JSON property `certificateMap`
43853
44680
  # @return [String]
43854
44681
  attr_accessor :certificate_map
@@ -43956,9 +44783,18 @@ module Google
43956
44783
 
43957
44784
  # URLs to SslCertificate resources that are used to authenticate connections
43958
44785
  # between users and the load balancer. At least one SSL certificate must be
43959
- # specified. Currently, you may specify up to 15 SSL certificates.
43960
- # sslCertificates do not apply when the load balancing scheme is set to
43961
- # INTERNAL_SELF_MANAGED.
44786
+ # specified. SslCertificates do not apply when the load balancing scheme is set
44787
+ # to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource
44788
+ # or Certificate Manager Certificate resource. Mixing Classic Certificates and
44789
+ # Certificate Manager Certificates is not allowed. Certificate Manager
44790
+ # Certificates must include the certificatemanager API. Certificate Manager
44791
+ # Certificates are not supported by Global external Application Load Balancer or
44792
+ # Classic Application Load Balancer, use certificate_map instead. Currently, you
44793
+ # may specify up to 15 Classic SSL Certificates. Certificate Manager
44794
+ # Certificates accepted formats are: - //certificatemanager.googleapis.com/
44795
+ # projects/`project`/locations/` location`/certificates/`resourceName`. - https:/
44796
+ # /certificatemanager.googleapis.com/v1alpha1/projects/`project `/locations/`
44797
+ # location`/certificates/`resourceName`.
43962
44798
  # Corresponds to the JSON property `sslCertificates`
43963
44799
  # @return [Array<String>]
43964
44800
  attr_accessor :ssl_certificates
@@ -46742,8 +47578,9 @@ module Google
46742
47578
  # directed if none of the hostRules match. If defaultRouteAction is also
46743
47579
  # specified, advanced routing actions, such as URL rewrites, take effect before
46744
47580
  # sending the request to the backend. However, if defaultService is specified,
46745
- # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
46746
- # routeAction specifies any weightedBackendServices, service must not be
47581
+ # defaultRouteAction cannot contain any defaultRouteAction.
47582
+ # weightedBackendServices. Conversely, if defaultRouteAction specifies any
47583
+ # defaultRouteAction.weightedBackendServices, defaultService must not be
46747
47584
  # specified. If defaultService is specified, then set either defaultUrlRedirect ,
46748
47585
  # or defaultRouteAction.weightedBackendService Don't set both. defaultService
46749
47586
  # has no effect when the URL map is bound to a target gRPC proxy that has the