google-apis-compute_v1 0.114.0 → 0.115.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.
@@ -1301,6 +1301,25 @@ module Google
1301
1301
  end
1302
1302
  end
1303
1303
 
1304
+ #
1305
+ class AllocationReservationSharingPolicy
1306
+ include Google::Apis::Core::Hashable
1307
+
1308
+ # Sharing config for all Google Cloud services.
1309
+ # Corresponds to the JSON property `serviceShareType`
1310
+ # @return [String]
1311
+ attr_accessor :service_share_type
1312
+
1313
+ def initialize(**args)
1314
+ update!(**args)
1315
+ end
1316
+
1317
+ # Update properties of this object
1318
+ def update!(**args)
1319
+ @service_share_type = args[:service_share_type] if args.key?(:service_share_type)
1320
+ end
1321
+ end
1322
+
1304
1323
  # [Output Only] Contains output only fields.
1305
1324
  class AllocationResourceStatus
1306
1325
  include Google::Apis::Core::Hashable
@@ -1329,6 +1348,12 @@ module Google
1329
1348
  # @return [String]
1330
1349
  attr_accessor :source_instance_template_id
1331
1350
 
1351
+ # Per service utilization breakdown. The Key is the Google Cloud managed service
1352
+ # name.
1353
+ # Corresponds to the JSON property `utilizations`
1354
+ # @return [Hash<String,Fixnum>]
1355
+ attr_accessor :utilizations
1356
+
1332
1357
  def initialize(**args)
1333
1358
  update!(**args)
1334
1359
  end
@@ -1336,6 +1361,7 @@ module Google
1336
1361
  # Update properties of this object
1337
1362
  def update!(**args)
1338
1363
  @source_instance_template_id = args[:source_instance_template_id] if args.key?(:source_instance_template_id)
1364
+ @utilizations = args[:utilizations] if args.key?(:utilizations)
1339
1365
  end
1340
1366
  end
1341
1367
 
@@ -2758,6 +2784,11 @@ module Google
2758
2784
  # @return [Float]
2759
2785
  attr_accessor :capacity_scaler
2760
2786
 
2787
+ # List of custom metrics that are used for CUSTOM_METRICS BalancingMode.
2788
+ # Corresponds to the JSON property `customMetrics`
2789
+ # @return [Array<Google::Apis::ComputeV1::BackendCustomMetric>]
2790
+ attr_accessor :custom_metrics
2791
+
2761
2792
  # An optional description of this resource. Provide this property when you
2762
2793
  # create the resource.
2763
2794
  # Corresponds to the JSON property `description`
@@ -2848,6 +2879,7 @@ module Google
2848
2879
  def update!(**args)
2849
2880
  @balancing_mode = args[:balancing_mode] if args.key?(:balancing_mode)
2850
2881
  @capacity_scaler = args[:capacity_scaler] if args.key?(:capacity_scaler)
2882
+ @custom_metrics = args[:custom_metrics] if args.key?(:custom_metrics)
2851
2883
  @description = args[:description] if args.key?(:description)
2852
2884
  @failover = args[:failover] if args.key?(:failover)
2853
2885
  @group = args[:group] if args.key?(:group)
@@ -3335,6 +3367,47 @@ module Google
3335
3367
  end
3336
3368
  end
3337
3369
 
3370
+ # Custom Metrics are used for CUSTOM_METRICS balancing_mode.
3371
+ class BackendCustomMetric
3372
+ include Google::Apis::Core::Hashable
3373
+
3374
+ # If true, the metric data is collected and reported to Cloud Monitoring, but is
3375
+ # not used for load balancing.
3376
+ # Corresponds to the JSON property `dryRun`
3377
+ # @return [Boolean]
3378
+ attr_accessor :dry_run
3379
+ alias_method :dry_run?, :dry_run
3380
+
3381
+ # Optional parameter to define a target utilization for the Custom Metrics
3382
+ # balancing mode. The valid range is [0.0, 1.0].
3383
+ # Corresponds to the JSON property `maxUtilization`
3384
+ # @return [Float]
3385
+ attr_accessor :max_utilization
3386
+
3387
+ # Name of a custom utilization signal. The name must be 1-64 characters long and
3388
+ # match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the
3389
+ # first character must be a lowercase letter, and all following characters must
3390
+ # be a dash, period, underscore, lowercase letter, or digit, except the last
3391
+ # character, which cannot be a dash, period, or underscore. For usage guidelines,
3392
+ # see Custom Metrics balancing mode. This field can only be used for a global
3393
+ # or regional backend service with the loadBalancingScheme set to
3394
+ # EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.
3395
+ # Corresponds to the JSON property `name`
3396
+ # @return [String]
3397
+ attr_accessor :name
3398
+
3399
+ def initialize(**args)
3400
+ update!(**args)
3401
+ end
3402
+
3403
+ # Update properties of this object
3404
+ def update!(**args)
3405
+ @dry_run = args[:dry_run] if args.key?(:dry_run)
3406
+ @max_utilization = args[:max_utilization] if args.key?(:max_utilization)
3407
+ @name = args[:name] if args.key?(:name)
3408
+ end
3409
+ end
3410
+
3338
3411
  # Represents a Backend Service resource. A backend service defines how Google
3339
3412
  # Cloud load balancers distribute traffic. The backend service configuration
3340
3413
  # contains a set of values, such as the protocol used to connect to backends,
@@ -3402,6 +3475,12 @@ module Google
3402
3475
  # @return [String]
3403
3476
  attr_accessor :creation_timestamp
3404
3477
 
3478
+ # List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN
3479
+ # locality_lb_policy.
3480
+ # Corresponds to the JSON property `customMetrics`
3481
+ # @return [Array<Google::Apis::ComputeV1::BackendServiceCustomMetric>]
3482
+ attr_accessor :custom_metrics
3483
+
3405
3484
  # Headers that the load balancer adds to proxied requests. See [Creating custom
3406
3485
  # headers](https://cloud.google.com/load-balancing/docs/custom-headers).
3407
3486
  # Corresponds to the JSON property `customRequestHeaders`
@@ -3716,6 +3795,7 @@ module Google
3716
3795
  @connection_tracking_policy = args[:connection_tracking_policy] if args.key?(:connection_tracking_policy)
3717
3796
  @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
3718
3797
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
3798
+ @custom_metrics = args[:custom_metrics] if args.key?(:custom_metrics)
3719
3799
  @custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
3720
3800
  @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
3721
3801
  @description = args[:description] if args.key?(:description)
@@ -4152,6 +4232,39 @@ module Google
4152
4232
  end
4153
4233
  end
4154
4234
 
4235
+ # Custom Metrics are used for WEIGHTED_ROUND_ROBIN locality_lb_policy.
4236
+ class BackendServiceCustomMetric
4237
+ include Google::Apis::Core::Hashable
4238
+
4239
+ # If true, the metric data is not used for load balancing.
4240
+ # Corresponds to the JSON property `dryRun`
4241
+ # @return [Boolean]
4242
+ attr_accessor :dry_run
4243
+ alias_method :dry_run?, :dry_run
4244
+
4245
+ # Name of a custom utilization signal. The name must be 1-64 characters long and
4246
+ # match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the
4247
+ # first character must be a lowercase letter, and all following characters must
4248
+ # be a dash, period, underscore, lowercase letter, or digit, except the last
4249
+ # character, which cannot be a dash, period, or underscore. For usage guidelines,
4250
+ # see Custom Metrics balancing mode. This field can only be used for a global
4251
+ # or regional backend service with the loadBalancingScheme set to
4252
+ # EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.
4253
+ # Corresponds to the JSON property `name`
4254
+ # @return [String]
4255
+ attr_accessor :name
4256
+
4257
+ def initialize(**args)
4258
+ update!(**args)
4259
+ end
4260
+
4261
+ # Update properties of this object
4262
+ def update!(**args)
4263
+ @dry_run = args[:dry_run] if args.key?(:dry_run)
4264
+ @name = args[:name] if args.key?(:name)
4265
+ end
4266
+ end
4267
+
4155
4268
  # For load balancers that have configurable failover: [Internal passthrough
4156
4269
  # Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/
4157
4270
  # failover-overview) and [external passthrough Network Load Balancers](https://
@@ -5064,6 +5177,101 @@ module Google
5064
5177
  end
5065
5178
  end
5066
5179
 
5180
+ #
5181
+ class BgpRoute
5182
+ include Google::Apis::Core::Hashable
5183
+
5184
+ # [Output only] AS-PATH for the route
5185
+ # Corresponds to the JSON property `asPaths`
5186
+ # @return [Array<Google::Apis::ComputeV1::BgpRouteAsPath>]
5187
+ attr_accessor :as_paths
5188
+
5189
+ # [Output only] BGP communities in human-readable A:B format.
5190
+ # Corresponds to the JSON property `communities`
5191
+ # @return [Array<String>]
5192
+ attr_accessor :communities
5193
+
5194
+ # Network Layer Reachability Information (NLRI) for a route.
5195
+ # Corresponds to the JSON property `destination`
5196
+ # @return [Google::Apis::ComputeV1::BgpRouteNetworkLayerReachabilityInformation]
5197
+ attr_accessor :destination
5198
+
5199
+ # [Output only] BGP multi-exit discriminator
5200
+ # Corresponds to the JSON property `med`
5201
+ # @return [Fixnum]
5202
+ attr_accessor :med
5203
+
5204
+ # [Output only] BGP origin (EGP, IGP or INCOMPLETE)
5205
+ # Corresponds to the JSON property `origin`
5206
+ # @return [String]
5207
+ attr_accessor :origin
5208
+
5209
+ def initialize(**args)
5210
+ update!(**args)
5211
+ end
5212
+
5213
+ # Update properties of this object
5214
+ def update!(**args)
5215
+ @as_paths = args[:as_paths] if args.key?(:as_paths)
5216
+ @communities = args[:communities] if args.key?(:communities)
5217
+ @destination = args[:destination] if args.key?(:destination)
5218
+ @med = args[:med] if args.key?(:med)
5219
+ @origin = args[:origin] if args.key?(:origin)
5220
+ end
5221
+ end
5222
+
5223
+ #
5224
+ class BgpRouteAsPath
5225
+ include Google::Apis::Core::Hashable
5226
+
5227
+ # [Output only] ASNs in the path segment. When type is SEQUENCE, these are
5228
+ # ordered.
5229
+ # Corresponds to the JSON property `asns`
5230
+ # @return [Array<Fixnum>]
5231
+ attr_accessor :asns
5232
+
5233
+ # [Output only] Type of AS-PATH segment (SEQUENCE or SET)
5234
+ # Corresponds to the JSON property `type`
5235
+ # @return [String]
5236
+ attr_accessor :type
5237
+
5238
+ def initialize(**args)
5239
+ update!(**args)
5240
+ end
5241
+
5242
+ # Update properties of this object
5243
+ def update!(**args)
5244
+ @asns = args[:asns] if args.key?(:asns)
5245
+ @type = args[:type] if args.key?(:type)
5246
+ end
5247
+ end
5248
+
5249
+ # Network Layer Reachability Information (NLRI) for a route.
5250
+ class BgpRouteNetworkLayerReachabilityInformation
5251
+ include Google::Apis::Core::Hashable
5252
+
5253
+ # If the BGP session supports multiple paths (RFC 7911), the path identifier for
5254
+ # this route.
5255
+ # Corresponds to the JSON property `pathId`
5256
+ # @return [Fixnum]
5257
+ attr_accessor :path_id
5258
+
5259
+ # Human readable CIDR notation for a prefix. E.g. 10.42.0.0/16.
5260
+ # Corresponds to the JSON property `prefix`
5261
+ # @return [String]
5262
+ attr_accessor :prefix
5263
+
5264
+ def initialize(**args)
5265
+ update!(**args)
5266
+ end
5267
+
5268
+ # Update properties of this object
5269
+ def update!(**args)
5270
+ @path_id = args[:path_id] if args.key?(:path_id)
5271
+ @prefix = args[:prefix] if args.key?(:prefix)
5272
+ end
5273
+ end
5274
+
5067
5275
  # Associates `members`, or principals, with a `role`.
5068
5276
  class Binding
5069
5277
  include Google::Apis::Core::Hashable
@@ -5493,29 +5701,33 @@ module Google
5493
5701
  end
5494
5702
  end
5495
5703
 
5496
- # Represents a regional Commitment resource. Creating a commitment resource
5497
- # means that you are purchasing a committed use contract with an explicit start
5498
- # and end time. You can create commitments based on vCPUs and memory usage and
5499
- # receive discounted rates. For full details, read Signing Up for Committed Use
5500
- # Discounts.
5704
+ # Represents a regional resource-based commitment resource. Creating this
5705
+ # commitment resource means that you are purchasing a resource-based committed
5706
+ # use contract, with an explicit start and end time. You can purchase resource-
5707
+ # based commitments for both hardware and software resources. For more
5708
+ # information, read Resource-based committed use discounts
5501
5709
  class Commitment
5502
5710
  include Google::Apis::Core::Hashable
5503
5711
 
5504
- # Specifies whether to enable automatic renewal for the commitment. The default
5505
- # value is false if not specified. The field can be updated until the day of the
5506
- # commitment expiration at 12:00am PST. If the field is set to true, the
5507
- # commitment will be automatically renewed for either one or three years
5508
- # according to the terms of the existing commitment.
5712
+ # Specifies whether to automatically renew the commitment at the end of its
5713
+ # current term. The default value is false. If you set the field to true, each
5714
+ # time your commitment reaches the end of its term, Compute Engine automatically
5715
+ # renews it for another term. You can update this field anytime before the
5716
+ # commitment expires. For example, if the commitment is set to expire at 12 AM
5717
+ # UTC-8 on January 3, 2027, you can update this field until 11:59 PM UTC-8 on
5718
+ # January 2, 2027.
5509
5719
  # Corresponds to the JSON property `autoRenew`
5510
5720
  # @return [Boolean]
5511
5721
  attr_accessor :auto_renew
5512
5722
  alias_method :auto_renew?, :auto_renew
5513
5723
 
5514
- # The category of the commitment. Category MACHINE specifies commitments
5515
- # composed of machine resources such as VCPU or MEMORY, listed in resources.
5516
- # Category LICENSE specifies commitments composed of software licenses, listed
5517
- # in licenseResources. Note that only MACHINE commitments should have a Type
5518
- # specified.
5724
+ # The category of the commitment; specifies whether the commitment is for
5725
+ # hardware or software resources. Category MACHINE specifies that you are
5726
+ # committing to hardware machine resources such as VCPU or MEMORY, listed in
5727
+ # resources. Category LICENSE specifies that you are committing to software
5728
+ # licenses, listed in licenseResources. Note that if you specify MACHINE
5729
+ # commitments, then you must also specify a type to indicate the machine series
5730
+ # of the hardware resource that you are committing to.
5519
5731
  # Corresponds to the JSON property `category`
5520
5732
  # @return [String]
5521
5733
  attr_accessor :category
@@ -5525,15 +5737,15 @@ module Google
5525
5737
  # @return [String]
5526
5738
  attr_accessor :creation_timestamp
5527
5739
 
5528
- # [Input Only] Optional, specifies the CUD end time requested by the customer in
5529
- # RFC3339 text format. Needed when the customer wants CUD's end date is later
5740
+ # [Input Only] Optional, specifies the requested commitment end time in RFC3339
5741
+ # text format. Use this option when the desired commitment's end date is later
5530
5742
  # than the start date + term duration.
5531
5743
  # Corresponds to the JSON property `customEndTimestamp`
5532
5744
  # @return [String]
5533
5745
  attr_accessor :custom_end_timestamp
5534
5746
 
5535
- # An optional description of this resource. Provide this property when you
5536
- # create the resource.
5747
+ # An optional description of the commitment. You can provide this property when
5748
+ # you create the resource.
5537
5749
  # Corresponds to the JSON property `description`
5538
5750
  # @return [String]
5539
5751
  attr_accessor :description
@@ -5543,11 +5755,7 @@ module Google
5543
5755
  # @return [String]
5544
5756
  attr_accessor :end_timestamp
5545
5757
 
5546
- # Specifies the already existing reservations to attach to the Commitment. This
5547
- # field is optional, and it can be a full or partial URL. For example, the
5548
- # following are valid URLs to an reservation: - https://www.googleapis.com/
5549
- # compute/v1/projects/project/zones/zone /reservations/reservation - projects/
5550
- # project/zones/zone/reservations/reservation
5758
+ #
5551
5759
  # Corresponds to the JSON property `existingReservations`
5552
5760
  # @return [Array<String>]
5553
5761
  attr_accessor :existing_reservations
@@ -5568,34 +5776,44 @@ module Google
5568
5776
  # @return [Google::Apis::ComputeV1::LicenseResourceCommitment]
5569
5777
  attr_accessor :license_resource
5570
5778
 
5571
- # List of source commitments to be merged into a new commitment.
5779
+ # The list of source commitments that you are merging to create the new merged
5780
+ # commitment. For more information, see Merging commitments.
5572
5781
  # Corresponds to the JSON property `mergeSourceCommitments`
5573
5782
  # @return [Array<String>]
5574
5783
  attr_accessor :merge_source_commitments
5575
5784
 
5576
- # Name of the resource. Provided by the client when the resource is created. The
5577
- # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
5578
- # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
5579
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
5580
- # and all following characters must be a dash, lowercase letter, or digit,
5581
- # except the last character, which cannot be a dash.
5785
+ # Name of the commitment. You must specify a name when you purchase the
5786
+ # commitment. The name must be 1-63 characters long, and comply with RFC1035.
5787
+ # Specifically, the name must be 1-63 characters long and match the regular
5788
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must
5789
+ # be a lowercase letter, and all following characters must be a dash, lowercase
5790
+ # letter, or digit, except the last character, which cannot be a dash.
5582
5791
  # Corresponds to the JSON property `name`
5583
5792
  # @return [String]
5584
5793
  attr_accessor :name
5585
5794
 
5586
- # The plan for this commitment, which determines duration and discount rate. The
5587
- # currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3
5588
- # years).
5795
+ # The minimum time duration that you commit to purchasing resources. The plan
5796
+ # that you choose determines the preset term length of the commitment (which is
5797
+ # 1 year or 3 years) and affects the discount rate that you receive for your
5798
+ # resources. Committing to a longer time duration typically gives you a higher
5799
+ # discount rate. The supported values for this field are TWELVE_MONTH (1 year),
5800
+ # and THIRTY_SIX_MONTH (3 years).
5589
5801
  # Corresponds to the JSON property `plan`
5590
5802
  # @return [String]
5591
5803
  attr_accessor :plan
5592
5804
 
5593
- # [Output Only] URL of the region where this commitment may be used.
5805
+ # [Output Only] URL of the region where the commitment and committed resources
5806
+ # are located.
5594
5807
  # Corresponds to the JSON property `region`
5595
5808
  # @return [String]
5596
5809
  attr_accessor :region
5597
5810
 
5598
- # List of create-on-create reservations for this commitment.
5811
+ # The list of new reservations that you want to create and attach to this
5812
+ # commitment. You must attach reservations to your commitment if your commitment
5813
+ # specifies any GPUs or Local SSD disks. For more information, see Attach
5814
+ # reservations to resource-based commitments. Specify this property only if you
5815
+ # want to create new reservations to attach. To attach existing reservations,
5816
+ # specify the existingReservations property instead.
5599
5817
  # Corresponds to the JSON property `reservations`
5600
5818
  # @return [Array<Google::Apis::ComputeV1::Reservation>]
5601
5819
  attr_accessor :reservations
@@ -5605,8 +5823,9 @@ module Google
5605
5823
  # @return [Google::Apis::ComputeV1::CommitmentResourceStatus]
5606
5824
  attr_accessor :resource_status
5607
5825
 
5608
- # A list of commitment amounts for particular resources. Note that VCPU and
5609
- # MEMORY resource commitments must occur together.
5826
+ # The list of all the hardware resources, with their types and amounts, that you
5827
+ # want to commit to. Specify as a separate entry in the list for each individual
5828
+ # resource type.
5610
5829
  # Corresponds to the JSON property `resources`
5611
5830
  # @return [Array<Google::Apis::ComputeV1::ResourceCommitment>]
5612
5831
  attr_accessor :resources
@@ -5616,7 +5835,8 @@ module Google
5616
5835
  # @return [String]
5617
5836
  attr_accessor :self_link
5618
5837
 
5619
- # Source commitment to be split into a new commitment.
5838
+ # The source commitment from which you are transferring resources to create the
5839
+ # new split commitment. For more information, see Split commitments.
5620
5840
  # Corresponds to the JSON property `splitSourceCommitment`
5621
5841
  # @return [String]
5622
5842
  attr_accessor :split_source_commitment
@@ -5627,8 +5847,8 @@ module Google
5627
5847
  attr_accessor :start_timestamp
5628
5848
 
5629
5849
  # [Output Only] Status of the commitment with regards to eventual expiration (
5630
- # each commitment has an end date defined). One of the following values:
5631
- # NOT_YET_ACTIVE, ACTIVE, EXPIRED.
5850
+ # each commitment has an end date defined). Status can be one of the following
5851
+ # values: NOT_YET_ACTIVE, ACTIVE, or EXPIRED.
5632
5852
  # Corresponds to the JSON property `status`
5633
5853
  # @return [String]
5634
5854
  attr_accessor :status
@@ -5638,10 +5858,19 @@ module Google
5638
5858
  # @return [String]
5639
5859
  attr_accessor :status_message
5640
5860
 
5641
- # The type of commitment, which affects the discount rate and the eligible
5642
- # resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply
5643
- # to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a
5644
- # commitment that will only apply to accelerator optimized machines.
5861
+ # The type of commitment; specifies the machine series for which you want to
5862
+ # commit to purchasing resources. The choice of machine series affects the
5863
+ # discount rate and the eligible resource types. The type must be one of the
5864
+ # following: ACCELERATOR_OPTIMIZED, ACCELERATOR_OPTIMIZED_A3,
5865
+ # ACCELERATOR_OPTIMIZED_A3_MEGA, COMPUTE_OPTIMIZED, COMPUTE_OPTIMIZED_C2D,
5866
+ # COMPUTE_OPTIMIZED_C3, COMPUTE_OPTIMIZED_C3D, COMPUTE_OPTIMIZED_H3,
5867
+ # GENERAL_PURPOSE, GENERAL_PURPOSE_C4, GENERAL_PURPOSE_E2, GENERAL_PURPOSE_N2,
5868
+ # GENERAL_PURPOSE_N2D, GENERAL_PURPOSE_N4, GENERAL_PURPOSE_T2D,
5869
+ # GRAPHICS_OPTIMIZED, MEMORY_OPTIMIZED, MEMORY_OPTIMIZED_M3, MEMORY_OPTIMIZED_X4,
5870
+ # STORAGE_OPTIMIZED_Z3. For example, type MEMORY_OPTIMIZED specifies a
5871
+ # commitment that applies only to eligible resources of memory optimized M1 and
5872
+ # M2 machine series. Type GENERAL_PURPOSE specifies a commitment that applies
5873
+ # only to eligible resources of general purpose N1 machine series.
5645
5874
  # Corresponds to the JSON property `type`
5646
5875
  # @return [String]
5647
5876
  attr_accessor :type
@@ -5945,7 +6174,7 @@ module Google
5945
6174
  class CommitmentsScopedList
5946
6175
  include Google::Apis::Core::Hashable
5947
6176
 
5948
- # [Output Only] A list of commitments contained in this scope.
6177
+ # [Output Only] The list of commitments contained in this scope.
5949
6178
  # Corresponds to the JSON property `commitments`
5950
6179
  # @return [Array<Google::Apis::ComputeV1::Commitment>]
5951
6180
  attr_accessor :commitments
@@ -9211,6 +9440,11 @@ module Google
9211
9440
  # @return [String]
9212
9441
  attr_accessor :name
9213
9442
 
9443
+ # A list of packet mirroring rules that belong to this policy.
9444
+ # Corresponds to the JSON property `packetMirroringRules`
9445
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
9446
+ attr_accessor :packet_mirroring_rules
9447
+
9214
9448
  # [Output Only] The parent of the firewall policy. This field is not applicable
9215
9449
  # to network firewall policies.
9216
9450
  # Corresponds to the JSON property `parent`
@@ -9276,6 +9510,7 @@ module Google
9276
9510
  @id = args[:id] if args.key?(:id)
9277
9511
  @kind = args[:kind] if args.key?(:kind)
9278
9512
  @name = args[:name] if args.key?(:name)
9513
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
9279
9514
  @parent = args[:parent] if args.key?(:parent)
9280
9515
  @region = args[:region] if args.key?(:region)
9281
9516
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
@@ -14510,11 +14745,11 @@ module Google
14510
14745
  # @return [String]
14511
14746
  attr_accessor :name
14512
14747
 
14513
- # Assigns a name to a port number. For example: `name: "http", port: 80` This
14514
- # allows the system to reference ports by the assigned name instead of a port
14515
- # number. Named ports can also contain multiple ports. For example: [`name: "
14516
- # app1", port: 8080`, `name: "app1", port: 8081`, `name: "app2", port: 8082`]
14517
- # Named ports apply to all instances in this instance group.
14748
+ # Optional. Assigns a name to a port number. For example: `name: "http", port:
14749
+ # 80` This allows the system to reference ports by the assigned name instead of
14750
+ # a port number. Named ports can also contain multiple ports. For example: [`
14751
+ # name: "app1", port: 8080`, `name: "app1", port: 8081`, `name: "app2", port:
14752
+ # 8082`] Named ports apply to all instances in this instance group.
14518
14753
  # Corresponds to the JSON property `namedPorts`
14519
14754
  # @return [Array<Google::Apis::ComputeV1::NamedPort>]
14520
14755
  attr_accessor :named_ports
@@ -14949,6 +15184,11 @@ module Google
14949
15184
  # @return [String]
14950
15185
  attr_accessor :region
14951
15186
 
15187
+ # Resource policies for this managed instance group.
15188
+ # Corresponds to the JSON property `resourcePolicies`
15189
+ # @return [Google::Apis::ComputeV1::InstanceGroupManagerResourcePolicies]
15190
+ attr_accessor :resource_policies
15191
+
14952
15192
  # [Output Only] Reserved for future use.
14953
15193
  # Corresponds to the JSON property `satisfiesPzi`
14954
15194
  # @return [Boolean]
@@ -15058,6 +15298,7 @@ module Google
15058
15298
  @name = args[:name] if args.key?(:name)
15059
15299
  @named_ports = args[:named_ports] if args.key?(:named_ports)
15060
15300
  @region = args[:region] if args.key?(:region)
15301
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
15061
15302
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
15062
15303
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
15063
15304
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -16051,6 +16292,30 @@ module Google
16051
16292
  end
16052
16293
  end
16053
16294
 
16295
+ #
16296
+ class InstanceGroupManagerResourcePolicies
16297
+ include Google::Apis::Core::Hashable
16298
+
16299
+ # The URL of the workload policy that is specified for this managed instance
16300
+ # group. It can be a full or partial URL. For example, the following are all
16301
+ # valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/
16302
+ # projects/project/regions/region /resourcePolicies/resourcePolicy - projects/
16303
+ # project/regions/region/resourcePolicies/resourcePolicy - regions/region/
16304
+ # resourcePolicies/resourcePolicy
16305
+ # Corresponds to the JSON property `workloadPolicy`
16306
+ # @return [String]
16307
+ attr_accessor :workload_policy
16308
+
16309
+ def initialize(**args)
16310
+ update!(**args)
16311
+ end
16312
+
16313
+ # Update properties of this object
16314
+ def update!(**args)
16315
+ @workload_policy = args[:workload_policy] if args.key?(:workload_policy)
16316
+ end
16317
+ end
16318
+
16054
16319
  #
16055
16320
  class InstanceGroupManagerStandbyPolicy
16056
16321
  include Google::Apis::Core::Hashable
@@ -18465,6 +18730,11 @@ module Google
18465
18730
  # @return [String]
18466
18731
  attr_accessor :name
18467
18732
 
18733
+ # [Output Only] The packet mirroring rules that apply to the instance.
18734
+ # Corresponds to the JSON property `packetMirroringRules`
18735
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
18736
+ attr_accessor :packet_mirroring_rules
18737
+
18468
18738
  # [Output only] Priority of firewall policy association. Not applicable for type=
18469
18739
  # HIERARCHY.
18470
18740
  # Corresponds to the JSON property `priority`
@@ -18497,6 +18767,7 @@ module Google
18497
18767
  def update!(**args)
18498
18768
  @display_name = args[:display_name] if args.key?(:display_name)
18499
18769
  @name = args[:name] if args.key?(:name)
18770
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
18500
18771
  @priority = args[:priority] if args.key?(:priority)
18501
18772
  @rules = args[:rules] if args.key?(:rules)
18502
18773
  @short_name = args[:short_name] if args.key?(:short_name)
@@ -18523,6 +18794,56 @@ module Google
18523
18794
  end
18524
18795
  end
18525
18796
 
18797
+ #
18798
+ class InstancesReportHostAsFaultyRequest
18799
+ include Google::Apis::Core::Hashable
18800
+
18801
+ # The disruption schedule for the VM. Default to IMMEDIATE.
18802
+ # Corresponds to the JSON property `disruptionSchedule`
18803
+ # @return [String]
18804
+ attr_accessor :disruption_schedule
18805
+
18806
+ #
18807
+ # Corresponds to the JSON property `faultReasons`
18808
+ # @return [Array<Google::Apis::ComputeV1::InstancesReportHostAsFaultyRequestFaultReason>]
18809
+ attr_accessor :fault_reasons
18810
+
18811
+ def initialize(**args)
18812
+ update!(**args)
18813
+ end
18814
+
18815
+ # Update properties of this object
18816
+ def update!(**args)
18817
+ @disruption_schedule = args[:disruption_schedule] if args.key?(:disruption_schedule)
18818
+ @fault_reasons = args[:fault_reasons] if args.key?(:fault_reasons)
18819
+ end
18820
+ end
18821
+
18822
+ #
18823
+ class InstancesReportHostAsFaultyRequestFaultReason
18824
+ include Google::Apis::Core::Hashable
18825
+
18826
+ #
18827
+ # Corresponds to the JSON property `behavior`
18828
+ # @return [String]
18829
+ attr_accessor :behavior
18830
+
18831
+ #
18832
+ # Corresponds to the JSON property `description`
18833
+ # @return [String]
18834
+ attr_accessor :description
18835
+
18836
+ def initialize(**args)
18837
+ update!(**args)
18838
+ end
18839
+
18840
+ # Update properties of this object
18841
+ def update!(**args)
18842
+ @behavior = args[:behavior] if args.key?(:behavior)
18843
+ @description = args[:description] if args.key?(:description)
18844
+ end
18845
+ end
18846
+
18526
18847
  #
18527
18848
  class InstancesScopedList
18528
18849
  include Google::Apis::Core::Hashable
@@ -21917,17 +22238,17 @@ module Google
21917
22238
  class LicenseResourceCommitment
21918
22239
  include Google::Apis::Core::Hashable
21919
22240
 
21920
- # The number of licenses purchased.
22241
+ # The number of licenses you plan to purchase.
21921
22242
  # Corresponds to the JSON property `amount`
21922
22243
  # @return [Fixnum]
21923
22244
  attr_accessor :amount
21924
22245
 
21925
- # Specifies the core range of the instance for which this license applies.
22246
+ # The number of cores per license.
21926
22247
  # Corresponds to the JSON property `coresPerLicense`
21927
22248
  # @return [String]
21928
22249
  attr_accessor :cores_per_license
21929
22250
 
21930
- # Any applicable license URI.
22251
+ # The applicable license URI.
21931
22252
  # Corresponds to the JSON property `license`
21932
22253
  # @return [String]
21933
22254
  attr_accessor :license
@@ -24521,13 +24842,13 @@ module Google
24521
24842
  class NetworkEndpoint
24522
24843
  include Google::Apis::Core::Hashable
24523
24844
 
24524
- # Metadata defined as annotations on the network endpoint.
24845
+ # Optional metadata defined as annotations on the network endpoint.
24525
24846
  # Corresponds to the JSON property `annotations`
24526
24847
  # @return [Hash<String,String>]
24527
24848
  attr_accessor :annotations
24528
24849
 
24529
- # Represents the port number to which PSC consumer sends packets. Only valid for
24530
- # network endpoint groups created with GCE_VM_IP_PORTMAP endpoint type.
24850
+ # Represents the port number to which PSC consumer sends packets. Optional. Only
24851
+ # valid for network endpoint groups created with GCE_VM_IP_PORTMAP endpoint type.
24531
24852
  # Corresponds to the JSON property `clientDestinationPort`
24532
24853
  # @return [Fixnum]
24533
24854
  attr_accessor :client_destination_port
@@ -24538,12 +24859,13 @@ module Google
24538
24859
  # @return [String]
24539
24860
  attr_accessor :fqdn
24540
24861
 
24541
- # The name or a URL of VM instance of this network endpoint. This field is
24542
- # required for network endpoints of type GCE_VM_IP and GCE_VM_IP_PORT. The
24543
- # instance must be in the same zone of network endpoint group (for zonal NEGs)
24544
- # or in the zone within the region of the NEG (for regional NEGs). If the
24545
- # ipAddress is specified, it must belongs to the VM instance. The name must be 1-
24546
- # 63 characters long, and comply with RFC1035 or be a valid URL pointing to an
24862
+ # The name or a URL of VM instance of this network endpoint. Optional, the field
24863
+ # presence depends on the network endpoint type. The field is required for
24864
+ # network endpoints of type GCE_VM_IP and GCE_VM_IP_PORT. The instance must be
24865
+ # in the same zone of network endpoint group (for zonal NEGs) or in the zone
24866
+ # within the region of the NEG (for regional NEGs). If the ipAddress is
24867
+ # specified, it must belongs to the VM instance. The name must be 1-63
24868
+ # characters long, and comply with RFC1035 or be a valid URL pointing to an
24547
24869
  # existing instance.
24548
24870
  # Corresponds to the JSON property `instance`
24549
24871
  # @return [String]
@@ -24597,7 +24919,7 @@ module Google
24597
24919
  class NetworkEndpointGroup
24598
24920
  include Google::Apis::Core::Hashable
24599
24921
 
24600
- # Metadata defined as annotations on the network endpoint group.
24922
+ # Optional. Metadata defined as annotations on the network endpoint group.
24601
24923
  # Corresponds to the JSON property `annotations`
24602
24924
  # @return [Hash<String,String>]
24603
24925
  attr_accessor :annotations
@@ -24632,8 +24954,8 @@ module Google
24632
24954
  attr_accessor :creation_timestamp
24633
24955
 
24634
24956
  # The default port used if the port number is not specified in the network
24635
- # endpoint. If the network endpoint type is either GCE_VM_IP, SERVERLESS or
24636
- # PRIVATE_SERVICE_CONNECT, this field must not be specified.
24957
+ # endpoint. Optional. If the network endpoint type is either GCE_VM_IP,
24958
+ # SERVERLESS or PRIVATE_SERVICE_CONNECT, this field must not be specified.
24637
24959
  # Corresponds to the JSON property `defaultPort`
24638
24960
  # @return [Fixnum]
24639
24961
  attr_accessor :default_port
@@ -24687,7 +25009,8 @@ module Google
24687
25009
 
24688
25010
  # The target service url used to set up private service connection to a Google
24689
25011
  # API or a PSC Producer Service Attachment. An example value is: asia-northeast3-
24690
- # cloudkms.googleapis.com
25012
+ # cloudkms.googleapis.com. Optional. Only valid when networkEndpointType is
25013
+ # PRIVATE_SERVICE_CONNECT.
24691
25014
  # Corresponds to the JSON property `pscTargetService`
24692
25015
  # @return [String]
24693
25016
  attr_accessor :psc_target_service
@@ -25420,7 +25743,8 @@ module Google
25420
25743
  class NetworkEndpointWithHealthStatus
25421
25744
  include Google::Apis::Core::Hashable
25422
25745
 
25423
- # [Output only] The health status of network endpoint;
25746
+ # [Output only] The health status of network endpoint. Optional. Displayed only
25747
+ # if the network endpoint has centralized health checking configured.
25424
25748
  # Corresponds to the JSON property `healths`
25425
25749
  # @return [Array<Google::Apis::ComputeV1::HealthStatusForNetworkEndpoint>]
25426
25750
  attr_accessor :healths
@@ -26020,11 +26344,6 @@ module Google
26020
26344
  # @return [String]
26021
26345
  attr_accessor :self_link_with_id
26022
26346
 
26023
- # [Output Only] Zone to which the network is restricted.
26024
- # Corresponds to the JSON property `zone`
26025
- # @return [String]
26026
- attr_accessor :zone
26027
-
26028
26347
  def initialize(**args)
26029
26348
  update!(**args)
26030
26349
  end
@@ -26040,7 +26359,6 @@ module Google
26040
26359
  @name = args[:name] if args.key?(:name)
26041
26360
  @self_link = args[:self_link] if args.key?(:self_link)
26042
26361
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
26043
- @zone = args[:zone] if args.key?(:zone)
26044
26362
  end
26045
26363
  end
26046
26364
 
@@ -26499,6 +26817,11 @@ module Google
26499
26817
  # @return [String]
26500
26818
  attr_accessor :name
26501
26819
 
26820
+ # [Output Only] The packet mirroring rules that apply to the network.
26821
+ # Corresponds to the JSON property `packetMirroringRules`
26822
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
26823
+ attr_accessor :packet_mirroring_rules
26824
+
26502
26825
  # [Output only] Priority of firewall policy association. Not applicable for type=
26503
26826
  # HIERARCHY.
26504
26827
  # Corresponds to the JSON property `priority`
@@ -26528,6 +26851,7 @@ module Google
26528
26851
  def update!(**args)
26529
26852
  @display_name = args[:display_name] if args.key?(:display_name)
26530
26853
  @name = args[:name] if args.key?(:name)
26854
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
26531
26855
  @priority = args[:priority] if args.key?(:priority)
26532
26856
  @rules = args[:rules] if args.key?(:rules)
26533
26857
  @short_name = args[:short_name] if args.key?(:short_name)
@@ -27965,6 +28289,11 @@ module Google
27965
28289
  # @return [Fixnum]
27966
28290
  attr_accessor :local_ssd_gb
27967
28291
 
28292
+ # [Output Only] Maximum number of VMs that can be created for this node type.
28293
+ # Corresponds to the JSON property `maxVms`
28294
+ # @return [Fixnum]
28295
+ attr_accessor :max_vms
28296
+
27968
28297
  # [Output Only] The amount of physical memory available to the node type,
27969
28298
  # defined in MB.
27970
28299
  # Corresponds to the JSON property `memoryMb`
@@ -28001,6 +28330,7 @@ module Google
28001
28330
  @id = args[:id] if args.key?(:id)
28002
28331
  @kind = args[:kind] if args.key?(:kind)
28003
28332
  @local_ssd_gb = args[:local_ssd_gb] if args.key?(:local_ssd_gb)
28333
+ @max_vms = args[:max_vms] if args.key?(:max_vms)
28004
28334
  @memory_mb = args[:memory_mb] if args.key?(:memory_mb)
28005
28335
  @name = args[:name] if args.key?(:name)
28006
28336
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -33367,6 +33697,17 @@ module Google
33367
33697
  # @return [String]
33368
33698
  attr_accessor :name
33369
33699
 
33700
+ # [Output only] The packet mirroring rules that apply to the network.
33701
+ # Corresponds to the JSON property `packetMirroringRules`
33702
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
33703
+ attr_accessor :packet_mirroring_rules
33704
+
33705
+ # [Output only] Priority of firewall policy association. Not applicable for type=
33706
+ # HIERARCHY.
33707
+ # Corresponds to the JSON property `priority`
33708
+ # @return [Fixnum]
33709
+ attr_accessor :priority
33710
+
33370
33711
  # [Output only] The rules that apply to the network.
33371
33712
  # Corresponds to the JSON property `rules`
33372
33713
  # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
@@ -33386,6 +33727,8 @@ module Google
33386
33727
  def update!(**args)
33387
33728
  @display_name = args[:display_name] if args.key?(:display_name)
33388
33729
  @name = args[:name] if args.key?(:name)
33730
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
33731
+ @priority = args[:priority] if args.key?(:priority)
33389
33732
  @rules = args[:rules] if args.key?(:rules)
33390
33733
  @type = args[:type] if args.key?(:type)
33391
33734
  end
@@ -33615,6 +33958,12 @@ module Google
33615
33958
  # @return [String]
33616
33959
  attr_accessor :name
33617
33960
 
33961
+ # Specify the reservation sharing policy. If unspecified, the reservation will
33962
+ # not be shared with Google Cloud managed services.
33963
+ # Corresponds to the JSON property `reservationSharingPolicy`
33964
+ # @return [Google::Apis::ComputeV1::AllocationReservationSharingPolicy]
33965
+ attr_accessor :reservation_sharing_policy
33966
+
33618
33967
  # Resource policies to be added to this reservation. The key is defined by user,
33619
33968
  # and the value is resource policy url. This is to define placement policy with
33620
33969
  # reservation.
@@ -33683,6 +34032,7 @@ module Google
33683
34032
  @id = args[:id] if args.key?(:id)
33684
34033
  @kind = args[:kind] if args.key?(:kind)
33685
34034
  @name = args[:name] if args.key?(:name)
34035
+ @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
33686
34036
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
33687
34037
  @resource_status = args[:resource_status] if args.key?(:resource_status)
33688
34038
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
@@ -34086,27 +34436,30 @@ module Google
34086
34436
  end
34087
34437
  end
34088
34438
 
34089
- # Commitment for a particular resource (a Commitment is composed of one or more
34090
- # of these).
34439
+ # Commitment for a particular hardware resource (a commitment is composed of one
34440
+ # or more of these).
34091
34441
  class ResourceCommitment
34092
34442
  include Google::Apis::Core::Hashable
34093
34443
 
34094
- # Name of the accelerator type resource. Applicable only when the type is
34095
- # ACCELERATOR.
34444
+ # Name of the accelerator type or GPU resource. Specify this field only when the
34445
+ # type of hardware resource is ACCELERATOR.
34096
34446
  # Corresponds to the JSON property `acceleratorType`
34097
34447
  # @return [String]
34098
34448
  attr_accessor :accelerator_type
34099
34449
 
34100
- # The amount of the resource purchased (in a type-dependent unit, such as bytes).
34101
- # For vCPUs, this can just be an integer. For memory, this must be provided in
34102
- # MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per every
34103
- # vCPU.
34450
+ # The quantity of the hardware resource that you want to commit to purchasing (
34451
+ # in a type-dependent unit). - For vCPUs, you must specify an integer value. -
34452
+ # For memory, you specify the amount of MB that you want. The value you specify
34453
+ # must be a multiple of 256 MB, with up to 6.5 GB of memory per every vCPU. -
34454
+ # For GPUs, you must specify an integer value. - For Local SSD disks, you must
34455
+ # specify the amount in GB. The size of a single Local SSD disk is 375 GB.
34104
34456
  # Corresponds to the JSON property `amount`
34105
34457
  # @return [Fixnum]
34106
34458
  attr_accessor :amount
34107
34459
 
34108
- # Type of resource for which this commitment applies. Possible values are VCPU,
34109
- # MEMORY, LOCAL_SSD, and ACCELERATOR.
34460
+ # The type of hardware resource that you want to specify. You can specify any of
34461
+ # the following values: - VCPU - MEMORY - LOCAL_SSD - ACCELERATOR Specify as a
34462
+ # separate entry in the list for each individual resource type.
34110
34463
  # Corresponds to the JSON property `type`
34111
34464
  # @return [String]
34112
34465
  attr_accessor :type
@@ -35488,6 +35841,104 @@ module Google
35488
35841
  end
35489
35842
  end
35490
35843
 
35844
+ #
35845
+ class RoutePolicy
35846
+ include Google::Apis::Core::Hashable
35847
+
35848
+ # An optional description of route policy.
35849
+ # Corresponds to the JSON property `description`
35850
+ # @return [String]
35851
+ attr_accessor :description
35852
+
35853
+ # A fingerprint for the Route Policy being applied to this Router, which is
35854
+ # essentially a hash of the Route Policy used for optimistic locking. The
35855
+ # fingerprint is initially generated by Compute Engine and changes after every
35856
+ # request to modify or update Route Policy. You must always provide an up-to-
35857
+ # date fingerprint hash in order to update or change labels. To see the latest
35858
+ # fingerprint, make a getRoutePolicy() request to retrieve a Route Policy.
35859
+ # Corresponds to the JSON property `fingerprint`
35860
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
35861
+ # @return [String]
35862
+ attr_accessor :fingerprint
35863
+
35864
+ # Route Policy name, which must be a resource ID segment and unique within all
35865
+ # the router's Route Policies. Name should conform to RFC1035.
35866
+ # Corresponds to the JSON property `name`
35867
+ # @return [String]
35868
+ attr_accessor :name
35869
+
35870
+ # List of terms (the order in the list is not important, they are evaluated in
35871
+ # order of priority). Order of policies is not retained and might change when
35872
+ # getting policy later.
35873
+ # Corresponds to the JSON property `terms`
35874
+ # @return [Array<Google::Apis::ComputeV1::RoutePolicyPolicyTerm>]
35875
+ attr_accessor :terms
35876
+
35877
+ #
35878
+ # Corresponds to the JSON property `type`
35879
+ # @return [String]
35880
+ attr_accessor :type
35881
+
35882
+ def initialize(**args)
35883
+ update!(**args)
35884
+ end
35885
+
35886
+ # Update properties of this object
35887
+ def update!(**args)
35888
+ @description = args[:description] if args.key?(:description)
35889
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
35890
+ @name = args[:name] if args.key?(:name)
35891
+ @terms = args[:terms] if args.key?(:terms)
35892
+ @type = args[:type] if args.key?(:type)
35893
+ end
35894
+ end
35895
+
35896
+ #
35897
+ class RoutePolicyPolicyTerm
35898
+ include Google::Apis::Core::Hashable
35899
+
35900
+ # CEL expressions to evaluate to modify a route when this term matches.
35901
+ # Corresponds to the JSON property `actions`
35902
+ # @return [Array<Google::Apis::ComputeV1::Expr>]
35903
+ attr_accessor :actions
35904
+
35905
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
35906
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
35907
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
35908
+ # "Summary size limit" description: "Determines if a summary is less than 100
35909
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
35910
+ # Requestor is owner" description: "Determines if requestor is the document
35911
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
35912
+ # Logic): title: "Public documents" description: "Determine whether the document
35913
+ # should be publicly visible" expression: "document.type != 'private' &&
35914
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
35915
+ # string" description: "Create a notification string with a timestamp."
35916
+ # expression: "'New message received at ' + string(document.create_time)" The
35917
+ # exact variables and functions that may be referenced within an expression are
35918
+ # determined by the service that evaluates it. See the service documentation for
35919
+ # additional information.
35920
+ # Corresponds to the JSON property `match`
35921
+ # @return [Google::Apis::ComputeV1::Expr]
35922
+ attr_accessor :match
35923
+
35924
+ # The evaluation priority for this term, which must be between 0 (inclusive) and
35925
+ # 2^31 (exclusive), and unique within the list.
35926
+ # Corresponds to the JSON property `priority`
35927
+ # @return [Fixnum]
35928
+ attr_accessor :priority
35929
+
35930
+ def initialize(**args)
35931
+ update!(**args)
35932
+ end
35933
+
35934
+ # Update properties of this object
35935
+ def update!(**args)
35936
+ @actions = args[:actions] if args.key?(:actions)
35937
+ @match = args[:match] if args.key?(:match)
35938
+ @priority = args[:priority] if args.key?(:priority)
35939
+ end
35940
+ end
35941
+
35491
35942
  # Represents a Cloud Router resource. For more information about Cloud Router,
35492
35943
  # read the Cloud Router overview.
35493
35944
  class Router
@@ -35897,16 +36348,14 @@ module Google
35897
36348
 
35898
36349
  # List of export policies applied to this peer, in the order they must be
35899
36350
  # evaluated. The name must correspond to an existing policy that has
35900
- # ROUTE_POLICY_TYPE_EXPORT type. Note that Route Policies are currently
35901
- # available in preview. Please use Beta API to use Route Policies.
36351
+ # ROUTE_POLICY_TYPE_EXPORT type.
35902
36352
  # Corresponds to the JSON property `exportPolicies`
35903
36353
  # @return [Array<String>]
35904
36354
  attr_accessor :export_policies
35905
36355
 
35906
36356
  # List of import policies applied to this peer, in the order they must be
35907
36357
  # evaluated. The name must correspond to an existing policy that has
35908
- # ROUTE_POLICY_TYPE_IMPORT type. Note that Route Policies are currently
35909
- # available in preview. Please use Beta API to use Route Policies.
36358
+ # ROUTE_POLICY_TYPE_IMPORT type.
35910
36359
  # Corresponds to the JSON property `importPolicies`
35911
36360
  # @return [Array<String>]
35912
36361
  attr_accessor :import_policies
@@ -36102,9 +36551,9 @@ module Google
36102
36551
  # truncate the IP address, as it represents the IP address of the interface. -
36103
36552
  # For Internet Protocol version 6 (IPv6), the value must be a unique local
36104
36553
  # address (ULA) range from fdff:1::/64 with a mask length of 126 or less. This
36105
- # value should be a CIDR-formatted string, for example, fc00:0:1:1::1/112.
36106
- # Within the router's VPC, this IPv6 prefix will be reserved exclusively for
36107
- # this connection and cannot be used for any other purpose.
36554
+ # value should be a CIDR-formatted string, for example, fdff:1::1/112. Within
36555
+ # the router's VPC, this IPv6 prefix will be reserved exclusively for this
36556
+ # connection and cannot be used for any other purpose.
36108
36557
  # Corresponds to the JSON property `ipRange`
36109
36558
  # @return [String]
36110
36559
  attr_accessor :ip_range
@@ -37011,6 +37460,287 @@ module Google
37011
37460
  end
37012
37461
  end
37013
37462
 
37463
+ #
37464
+ class RoutersGetRoutePolicyResponse
37465
+ include Google::Apis::Core::Hashable
37466
+
37467
+ #
37468
+ # Corresponds to the JSON property `resource`
37469
+ # @return [Google::Apis::ComputeV1::RoutePolicy]
37470
+ attr_accessor :resource
37471
+
37472
+ def initialize(**args)
37473
+ update!(**args)
37474
+ end
37475
+
37476
+ # Update properties of this object
37477
+ def update!(**args)
37478
+ @resource = args[:resource] if args.key?(:resource)
37479
+ end
37480
+ end
37481
+
37482
+ #
37483
+ class RoutersListBgpRoutes
37484
+ include Google::Apis::Core::Hashable
37485
+
37486
+ #
37487
+ # Corresponds to the JSON property `etag`
37488
+ # @return [String]
37489
+ attr_accessor :etag
37490
+
37491
+ # [Output Only] The unique identifier for the resource. This identifier is
37492
+ # defined by the server.
37493
+ # Corresponds to the JSON property `id`
37494
+ # @return [String]
37495
+ attr_accessor :id
37496
+
37497
+ # [Output Only] Type of resource. Always compute#routersListBgpRoutes for lists
37498
+ # of bgp routes.
37499
+ # Corresponds to the JSON property `kind`
37500
+ # @return [String]
37501
+ attr_accessor :kind
37502
+
37503
+ # [Output Only] This token allows you to get the next page of results for list
37504
+ # requests. If the number of results is larger than maxResults, use the
37505
+ # nextPageToken as a value for the query parameter pageToken in the next list
37506
+ # request. Subsequent list requests will have their own nextPageToken to
37507
+ # continue paging through the results.
37508
+ # Corresponds to the JSON property `nextPageToken`
37509
+ # @return [String]
37510
+ attr_accessor :next_page_token
37511
+
37512
+ # [Output Only] A list of bgp routes.
37513
+ # Corresponds to the JSON property `result`
37514
+ # @return [Array<Google::Apis::ComputeV1::BgpRoute>]
37515
+ attr_accessor :result
37516
+
37517
+ # [Output Only] Server-defined URL for this resource.
37518
+ # Corresponds to the JSON property `selfLink`
37519
+ # @return [String]
37520
+ attr_accessor :self_link
37521
+
37522
+ # [Output Only] Unreachable resources.
37523
+ # Corresponds to the JSON property `unreachables`
37524
+ # @return [Array<String>]
37525
+ attr_accessor :unreachables
37526
+
37527
+ # [Output Only] Informational warning message.
37528
+ # Corresponds to the JSON property `warning`
37529
+ # @return [Google::Apis::ComputeV1::RoutersListBgpRoutes::Warning]
37530
+ attr_accessor :warning
37531
+
37532
+ def initialize(**args)
37533
+ update!(**args)
37534
+ end
37535
+
37536
+ # Update properties of this object
37537
+ def update!(**args)
37538
+ @etag = args[:etag] if args.key?(:etag)
37539
+ @id = args[:id] if args.key?(:id)
37540
+ @kind = args[:kind] if args.key?(:kind)
37541
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
37542
+ @result = args[:result] if args.key?(:result)
37543
+ @self_link = args[:self_link] if args.key?(:self_link)
37544
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
37545
+ @warning = args[:warning] if args.key?(:warning)
37546
+ end
37547
+
37548
+ # [Output Only] Informational warning message.
37549
+ class Warning
37550
+ include Google::Apis::Core::Hashable
37551
+
37552
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
37553
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
37554
+ # Corresponds to the JSON property `code`
37555
+ # @return [String]
37556
+ attr_accessor :code
37557
+
37558
+ # [Output Only] Metadata about this warning in key: value format. For example: "
37559
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
37560
+ # Corresponds to the JSON property `data`
37561
+ # @return [Array<Google::Apis::ComputeV1::RoutersListBgpRoutes::Warning::Datum>]
37562
+ attr_accessor :data
37563
+
37564
+ # [Output Only] A human-readable description of the warning code.
37565
+ # Corresponds to the JSON property `message`
37566
+ # @return [String]
37567
+ attr_accessor :message
37568
+
37569
+ def initialize(**args)
37570
+ update!(**args)
37571
+ end
37572
+
37573
+ # Update properties of this object
37574
+ def update!(**args)
37575
+ @code = args[:code] if args.key?(:code)
37576
+ @data = args[:data] if args.key?(:data)
37577
+ @message = args[:message] if args.key?(:message)
37578
+ end
37579
+
37580
+ #
37581
+ class Datum
37582
+ include Google::Apis::Core::Hashable
37583
+
37584
+ # [Output Only] A key that provides more detail on the warning being returned.
37585
+ # For example, for warnings where there are no results in a list request for a
37586
+ # particular zone, this key might be scope and the key value might be the zone
37587
+ # name. Other examples might be a key indicating a deprecated resource and a
37588
+ # suggested replacement, or a warning about invalid network settings (for
37589
+ # example, if an instance attempts to perform IP forwarding but is not enabled
37590
+ # for IP forwarding).
37591
+ # Corresponds to the JSON property `key`
37592
+ # @return [String]
37593
+ attr_accessor :key
37594
+
37595
+ # [Output Only] A warning data value corresponding to the key.
37596
+ # Corresponds to the JSON property `value`
37597
+ # @return [String]
37598
+ attr_accessor :value
37599
+
37600
+ def initialize(**args)
37601
+ update!(**args)
37602
+ end
37603
+
37604
+ # Update properties of this object
37605
+ def update!(**args)
37606
+ @key = args[:key] if args.key?(:key)
37607
+ @value = args[:value] if args.key?(:value)
37608
+ end
37609
+ end
37610
+ end
37611
+ end
37612
+
37613
+ #
37614
+ class RoutersListRoutePolicies
37615
+ include Google::Apis::Core::Hashable
37616
+
37617
+ #
37618
+ # Corresponds to the JSON property `etag`
37619
+ # @return [String]
37620
+ attr_accessor :etag
37621
+
37622
+ # [Output Only] The unique identifier for the resource. This identifier is
37623
+ # defined by the server.
37624
+ # Corresponds to the JSON property `id`
37625
+ # @return [String]
37626
+ attr_accessor :id
37627
+
37628
+ # [Output Only] Type of resource. Always compute#routersListRoutePolicies for
37629
+ # lists of route policies.
37630
+ # Corresponds to the JSON property `kind`
37631
+ # @return [String]
37632
+ attr_accessor :kind
37633
+
37634
+ # [Output Only] This token allows you to get the next page of results for list
37635
+ # requests. If the number of results is larger than maxResults, use the
37636
+ # nextPageToken as a value for the query parameter pageToken in the next list
37637
+ # request. Subsequent list requests will have their own nextPageToken to
37638
+ # continue paging through the results.
37639
+ # Corresponds to the JSON property `nextPageToken`
37640
+ # @return [String]
37641
+ attr_accessor :next_page_token
37642
+
37643
+ # [Output Only] A list of route policies.
37644
+ # Corresponds to the JSON property `result`
37645
+ # @return [Array<Google::Apis::ComputeV1::RoutePolicy>]
37646
+ attr_accessor :result
37647
+
37648
+ # [Output Only] Server-defined URL for this resource.
37649
+ # Corresponds to the JSON property `selfLink`
37650
+ # @return [String]
37651
+ attr_accessor :self_link
37652
+
37653
+ # [Output Only] Unreachable resources.
37654
+ # Corresponds to the JSON property `unreachables`
37655
+ # @return [Array<String>]
37656
+ attr_accessor :unreachables
37657
+
37658
+ # [Output Only] Informational warning message.
37659
+ # Corresponds to the JSON property `warning`
37660
+ # @return [Google::Apis::ComputeV1::RoutersListRoutePolicies::Warning]
37661
+ attr_accessor :warning
37662
+
37663
+ def initialize(**args)
37664
+ update!(**args)
37665
+ end
37666
+
37667
+ # Update properties of this object
37668
+ def update!(**args)
37669
+ @etag = args[:etag] if args.key?(:etag)
37670
+ @id = args[:id] if args.key?(:id)
37671
+ @kind = args[:kind] if args.key?(:kind)
37672
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
37673
+ @result = args[:result] if args.key?(:result)
37674
+ @self_link = args[:self_link] if args.key?(:self_link)
37675
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
37676
+ @warning = args[:warning] if args.key?(:warning)
37677
+ end
37678
+
37679
+ # [Output Only] Informational warning message.
37680
+ class Warning
37681
+ include Google::Apis::Core::Hashable
37682
+
37683
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
37684
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
37685
+ # Corresponds to the JSON property `code`
37686
+ # @return [String]
37687
+ attr_accessor :code
37688
+
37689
+ # [Output Only] Metadata about this warning in key: value format. For example: "
37690
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
37691
+ # Corresponds to the JSON property `data`
37692
+ # @return [Array<Google::Apis::ComputeV1::RoutersListRoutePolicies::Warning::Datum>]
37693
+ attr_accessor :data
37694
+
37695
+ # [Output Only] A human-readable description of the warning code.
37696
+ # Corresponds to the JSON property `message`
37697
+ # @return [String]
37698
+ attr_accessor :message
37699
+
37700
+ def initialize(**args)
37701
+ update!(**args)
37702
+ end
37703
+
37704
+ # Update properties of this object
37705
+ def update!(**args)
37706
+ @code = args[:code] if args.key?(:code)
37707
+ @data = args[:data] if args.key?(:data)
37708
+ @message = args[:message] if args.key?(:message)
37709
+ end
37710
+
37711
+ #
37712
+ class Datum
37713
+ include Google::Apis::Core::Hashable
37714
+
37715
+ # [Output Only] A key that provides more detail on the warning being returned.
37716
+ # For example, for warnings where there are no results in a list request for a
37717
+ # particular zone, this key might be scope and the key value might be the zone
37718
+ # name. Other examples might be a key indicating a deprecated resource and a
37719
+ # suggested replacement, or a warning about invalid network settings (for
37720
+ # example, if an instance attempts to perform IP forwarding but is not enabled
37721
+ # for IP forwarding).
37722
+ # Corresponds to the JSON property `key`
37723
+ # @return [String]
37724
+ attr_accessor :key
37725
+
37726
+ # [Output Only] A warning data value corresponding to the key.
37727
+ # Corresponds to the JSON property `value`
37728
+ # @return [String]
37729
+ attr_accessor :value
37730
+
37731
+ def initialize(**args)
37732
+ update!(**args)
37733
+ end
37734
+
37735
+ # Update properties of this object
37736
+ def update!(**args)
37737
+ @key = args[:key] if args.key?(:key)
37738
+ @value = args[:value] if args.key?(:value)
37739
+ end
37740
+ end
37741
+ end
37742
+ end
37743
+
37014
37744
  #
37015
37745
  class RoutersPreviewResponse
37016
37746
  include Google::Apis::Core::Hashable
@@ -37422,6 +38152,13 @@ module Google
37422
38152
  # @return [Fixnum]
37423
38153
  attr_accessor :availability_domain
37424
38154
 
38155
+ # Specify the time in seconds for host error detection, the value must be within
38156
+ # the range of [90, 330] with the increment of 30, if unset, the default
38157
+ # behavior of host error recovery will be used.
38158
+ # Corresponds to the JSON property `hostErrorTimeoutSeconds`
38159
+ # @return [Fixnum]
38160
+ attr_accessor :host_error_timeout_seconds
38161
+
37425
38162
  # Specifies the termination action for the instance.
37426
38163
  # Corresponds to the JSON property `instanceTerminationAction`
37427
38164
  # @return [String]
@@ -37503,6 +38240,7 @@ module Google
37503
38240
  def update!(**args)
37504
38241
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
37505
38242
  @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
38243
+ @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
37506
38244
  @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
37507
38245
  @local_ssd_recovery_timeout = args[:local_ssd_recovery_timeout] if args.key?(:local_ssd_recovery_timeout)
37508
38246
  @location_hint = args[:location_hint] if args.key?(:location_hint)
@@ -40349,10 +41087,9 @@ module Google
40349
41087
 
40350
41088
  # [Output Only] The unique ID of the instant snapshot used to create this
40351
41089
  # snapshot. This value identifies the exact instant snapshot that was used to
40352
- # create this persistent disk. For example, if you created the persistent disk
40353
- # from an instant snapshot that was later deleted and recreated under the same
40354
- # name, the source instant snapshot ID would identify the exact instant snapshot
40355
- # that was used.
41090
+ # create this snapshot. For example, if you created the snapshot from an instant
41091
+ # snapshot that was later deleted and recreated under the same name, the source
41092
+ # instant snapshot ID would identify the exact instant snapshot that was used.
40356
41093
  # Corresponds to the JSON property `sourceInstantSnapshotId`
40357
41094
  # @return [String]
40358
41095
  attr_accessor :source_instant_snapshot_id
@@ -43374,16 +44111,18 @@ module Google
43374
44111
  attr_accessor :private_ipv6_google_access
43375
44112
 
43376
44113
  # The purpose of the resource. This field can be either PRIVATE,
43377
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
43378
- # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
43379
- # subnets or subnets that are automatically created in auto mode networks.
43380
- # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
43381
- # user-created subnetworks that are reserved for Envoy-based load balancers. A
43382
- # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
43383
- # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
43384
- # used for subnet migration from one peered VPC to another. If unspecified, the
43385
- # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
43386
- # if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
44114
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION,
44115
+ # PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for
44116
+ # user-created subnets or subnets that are automatically created in auto mode
44117
+ # networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or
44118
+ # REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for
44119
+ # Envoy-based load balancers. A subnet with purpose set to
44120
+ # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
44121
+ # Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet
44122
+ # migration from one peered VPC to another. A subnet with purpose set to
44123
+ # PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If
44124
+ # unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field
44125
+ # isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
43387
44126
  # REGIONAL_MANAGED_PROXY.
43388
44127
  # Corresponds to the JSON property `purpose`
43389
44128
  # @return [String]
@@ -44956,10 +45695,13 @@ module Google
44956
45695
  # describes how the proxy should authenticate inbound traffic. serverTlsPolicy
44957
45696
  # only applies to a global TargetHttpsProxy attached to globalForwardingRules
44958
45697
  # with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or
44959
- # EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted
44960
- # with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED
44961
- # loadBalancingScheme consult ServerTlsPolicy documentation. If left blank,
44962
- # communications are not encrypted.
45698
+ # EXTERNAL_MANAGED or INTERNAL_MANAGED. It also applies to a regional
45699
+ # TargetHttpsProxy attached to regional forwardingRules with the
45700
+ # loadBalancingScheme set to EXTERNAL_MANAGED or INTERNAL_MANAGED. For details
45701
+ # which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and
45702
+ # which with EXTERNAL, INTERNAL_MANAGED, EXTERNAL_MANAGED loadBalancingScheme
45703
+ # consult ServerTlsPolicy documentation. If left blank, communications are not
45704
+ # encrypted.
44963
45705
  # Corresponds to the JSON property `serverTlsPolicy`
44964
45706
  # @return [String]
44965
45707
  attr_accessor :server_tls_policy
@@ -48510,16 +49252,18 @@ module Google
48510
49252
  attr_accessor :network
48511
49253
 
48512
49254
  # The purpose of the resource. This field can be either PRIVATE,
48513
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
48514
- # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
48515
- # subnets or subnets that are automatically created in auto mode networks.
48516
- # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
48517
- # user-created subnetworks that are reserved for Envoy-based load balancers. A
48518
- # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
48519
- # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
48520
- # used for subnet migration from one peered VPC to another. If unspecified, the
48521
- # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
48522
- # if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
49255
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION,
49256
+ # PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for
49257
+ # user-created subnets or subnets that are automatically created in auto mode
49258
+ # networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or
49259
+ # REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for
49260
+ # Envoy-based load balancers. A subnet with purpose set to
49261
+ # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
49262
+ # Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet
49263
+ # migration from one peered VPC to another. A subnet with purpose set to
49264
+ # PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If
49265
+ # unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field
49266
+ # isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
48523
49267
  # REGIONAL_MANAGED_PROXY.
48524
49268
  # Corresponds to the JSON property `purpose`
48525
49269
  # @return [String]