google-apis-compute_v1 0.113.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.
@@ -567,8 +567,7 @@ module Google
567
567
  # @return [String]
568
568
  attr_accessor :public_ptr_domain_name
569
569
 
570
- # [Output Only] The resource URL for the security policy associated with this
571
- # access config.
570
+ # The resource URL for the security policy associated with this access config.
572
571
  # Corresponds to the JSON property `securityPolicy`
573
572
  # @return [String]
574
573
  attr_accessor :security_policy
@@ -1302,6 +1301,25 @@ module Google
1302
1301
  end
1303
1302
  end
1304
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
+
1305
1323
  # [Output Only] Contains output only fields.
1306
1324
  class AllocationResourceStatus
1307
1325
  include Google::Apis::Core::Hashable
@@ -1330,6 +1348,12 @@ module Google
1330
1348
  # @return [String]
1331
1349
  attr_accessor :source_instance_template_id
1332
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
+
1333
1357
  def initialize(**args)
1334
1358
  update!(**args)
1335
1359
  end
@@ -1337,6 +1361,7 @@ module Google
1337
1361
  # Update properties of this object
1338
1362
  def update!(**args)
1339
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)
1340
1365
  end
1341
1366
  end
1342
1367
 
@@ -1773,7 +1798,9 @@ module Google
1773
1798
  # disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage
1774
1799
  # or disks.source is required. To create a disk with a snapshot that you created,
1775
1800
  # specify the snapshot name in the following format: global/snapshots/my-backup
1776
- # If the source snapshot is deleted later, this field will not be set.
1801
+ # If the source snapshot is deleted later, this field will not be set. Note: You
1802
+ # cannot create VMs in bulk using a snapshot as the source. Use an image instead
1803
+ # when you create VMs using the bulk insert method.
1777
1804
  # Corresponds to the JSON property `sourceSnapshot`
1778
1805
  # @return [String]
1779
1806
  attr_accessor :source_snapshot
@@ -2757,6 +2784,11 @@ module Google
2757
2784
  # @return [Float]
2758
2785
  attr_accessor :capacity_scaler
2759
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
+
2760
2792
  # An optional description of this resource. Provide this property when you
2761
2793
  # create the resource.
2762
2794
  # Corresponds to the JSON property `description`
@@ -2847,6 +2879,7 @@ module Google
2847
2879
  def update!(**args)
2848
2880
  @balancing_mode = args[:balancing_mode] if args.key?(:balancing_mode)
2849
2881
  @capacity_scaler = args[:capacity_scaler] if args.key?(:capacity_scaler)
2882
+ @custom_metrics = args[:custom_metrics] if args.key?(:custom_metrics)
2850
2883
  @description = args[:description] if args.key?(:description)
2851
2884
  @failover = args[:failover] if args.key?(:failover)
2852
2885
  @group = args[:group] if args.key?(:group)
@@ -3334,6 +3367,47 @@ module Google
3334
3367
  end
3335
3368
  end
3336
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
+
3337
3411
  # Represents a Backend Service resource. A backend service defines how Google
3338
3412
  # Cloud load balancers distribute traffic. The backend service configuration
3339
3413
  # contains a set of values, such as the protocol used to connect to backends,
@@ -3401,6 +3475,12 @@ module Google
3401
3475
  # @return [String]
3402
3476
  attr_accessor :creation_timestamp
3403
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
+
3404
3484
  # Headers that the load balancer adds to proxied requests. See [Creating custom
3405
3485
  # headers](https://cloud.google.com/load-balancing/docs/custom-headers).
3406
3486
  # Corresponds to the JSON property `customRequestHeaders`
@@ -3715,6 +3795,7 @@ module Google
3715
3795
  @connection_tracking_policy = args[:connection_tracking_policy] if args.key?(:connection_tracking_policy)
3716
3796
  @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
3717
3797
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
3798
+ @custom_metrics = args[:custom_metrics] if args.key?(:custom_metrics)
3718
3799
  @custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
3719
3800
  @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
3720
3801
  @description = args[:description] if args.key?(:description)
@@ -4151,6 +4232,39 @@ module Google
4151
4232
  end
4152
4233
  end
4153
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
+
4154
4268
  # For load balancers that have configurable failover: [Internal passthrough
4155
4269
  # Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/
4156
4270
  # failover-overview) and [external passthrough Network Load Balancers](https://
@@ -5063,6 +5177,101 @@ module Google
5063
5177
  end
5064
5178
  end
5065
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
+
5066
5275
  # Associates `members`, or principals, with a `role`.
5067
5276
  class Binding
5068
5277
  include Google::Apis::Core::Hashable
@@ -5492,29 +5701,33 @@ module Google
5492
5701
  end
5493
5702
  end
5494
5703
 
5495
- # Represents a regional Commitment resource. Creating a commitment resource
5496
- # means that you are purchasing a committed use contract with an explicit start
5497
- # and end time. You can create commitments based on vCPUs and memory usage and
5498
- # receive discounted rates. For full details, read Signing Up for Committed Use
5499
- # 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
5500
5709
  class Commitment
5501
5710
  include Google::Apis::Core::Hashable
5502
5711
 
5503
- # Specifies whether to enable automatic renewal for the commitment. The default
5504
- # value is false if not specified. The field can be updated until the day of the
5505
- # commitment expiration at 12:00am PST. If the field is set to true, the
5506
- # commitment will be automatically renewed for either one or three years
5507
- # 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.
5508
5719
  # Corresponds to the JSON property `autoRenew`
5509
5720
  # @return [Boolean]
5510
5721
  attr_accessor :auto_renew
5511
5722
  alias_method :auto_renew?, :auto_renew
5512
5723
 
5513
- # The category of the commitment. Category MACHINE specifies commitments
5514
- # composed of machine resources such as VCPU or MEMORY, listed in resources.
5515
- # Category LICENSE specifies commitments composed of software licenses, listed
5516
- # in licenseResources. Note that only MACHINE commitments should have a Type
5517
- # 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.
5518
5731
  # Corresponds to the JSON property `category`
5519
5732
  # @return [String]
5520
5733
  attr_accessor :category
@@ -5524,15 +5737,15 @@ module Google
5524
5737
  # @return [String]
5525
5738
  attr_accessor :creation_timestamp
5526
5739
 
5527
- # [Input Only] Optional, specifies the CUD end time requested by the customer in
5528
- # 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
5529
5742
  # than the start date + term duration.
5530
5743
  # Corresponds to the JSON property `customEndTimestamp`
5531
5744
  # @return [String]
5532
5745
  attr_accessor :custom_end_timestamp
5533
5746
 
5534
- # An optional description of this resource. Provide this property when you
5535
- # create the resource.
5747
+ # An optional description of the commitment. You can provide this property when
5748
+ # you create the resource.
5536
5749
  # Corresponds to the JSON property `description`
5537
5750
  # @return [String]
5538
5751
  attr_accessor :description
@@ -5542,11 +5755,7 @@ module Google
5542
5755
  # @return [String]
5543
5756
  attr_accessor :end_timestamp
5544
5757
 
5545
- # Specifies the already existing reservations to attach to the Commitment. This
5546
- # field is optional, and it can be a full or partial URL. For example, the
5547
- # following are valid URLs to an reservation: - https://www.googleapis.com/
5548
- # compute/v1/projects/project/zones/zone /reservations/reservation - projects/
5549
- # project/zones/zone/reservations/reservation
5758
+ #
5550
5759
  # Corresponds to the JSON property `existingReservations`
5551
5760
  # @return [Array<String>]
5552
5761
  attr_accessor :existing_reservations
@@ -5567,34 +5776,44 @@ module Google
5567
5776
  # @return [Google::Apis::ComputeV1::LicenseResourceCommitment]
5568
5777
  attr_accessor :license_resource
5569
5778
 
5570
- # 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.
5571
5781
  # Corresponds to the JSON property `mergeSourceCommitments`
5572
5782
  # @return [Array<String>]
5573
5783
  attr_accessor :merge_source_commitments
5574
5784
 
5575
- # Name of the resource. Provided by the client when the resource is created. The
5576
- # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
5577
- # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
5578
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
5579
- # and all following characters must be a dash, lowercase letter, or digit,
5580
- # 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.
5581
5791
  # Corresponds to the JSON property `name`
5582
5792
  # @return [String]
5583
5793
  attr_accessor :name
5584
5794
 
5585
- # The plan for this commitment, which determines duration and discount rate. The
5586
- # currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3
5587
- # 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).
5588
5801
  # Corresponds to the JSON property `plan`
5589
5802
  # @return [String]
5590
5803
  attr_accessor :plan
5591
5804
 
5592
- # [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.
5593
5807
  # Corresponds to the JSON property `region`
5594
5808
  # @return [String]
5595
5809
  attr_accessor :region
5596
5810
 
5597
- # 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.
5598
5817
  # Corresponds to the JSON property `reservations`
5599
5818
  # @return [Array<Google::Apis::ComputeV1::Reservation>]
5600
5819
  attr_accessor :reservations
@@ -5604,8 +5823,9 @@ module Google
5604
5823
  # @return [Google::Apis::ComputeV1::CommitmentResourceStatus]
5605
5824
  attr_accessor :resource_status
5606
5825
 
5607
- # A list of commitment amounts for particular resources. Note that VCPU and
5608
- # 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.
5609
5829
  # Corresponds to the JSON property `resources`
5610
5830
  # @return [Array<Google::Apis::ComputeV1::ResourceCommitment>]
5611
5831
  attr_accessor :resources
@@ -5615,7 +5835,8 @@ module Google
5615
5835
  # @return [String]
5616
5836
  attr_accessor :self_link
5617
5837
 
5618
- # 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.
5619
5840
  # Corresponds to the JSON property `splitSourceCommitment`
5620
5841
  # @return [String]
5621
5842
  attr_accessor :split_source_commitment
@@ -5626,8 +5847,8 @@ module Google
5626
5847
  attr_accessor :start_timestamp
5627
5848
 
5628
5849
  # [Output Only] Status of the commitment with regards to eventual expiration (
5629
- # each commitment has an end date defined). One of the following values:
5630
- # 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.
5631
5852
  # Corresponds to the JSON property `status`
5632
5853
  # @return [String]
5633
5854
  attr_accessor :status
@@ -5637,10 +5858,19 @@ module Google
5637
5858
  # @return [String]
5638
5859
  attr_accessor :status_message
5639
5860
 
5640
- # The type of commitment, which affects the discount rate and the eligible
5641
- # resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply
5642
- # to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a
5643
- # 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.
5644
5874
  # Corresponds to the JSON property `type`
5645
5875
  # @return [String]
5646
5876
  attr_accessor :type
@@ -5944,7 +6174,7 @@ module Google
5944
6174
  class CommitmentsScopedList
5945
6175
  include Google::Apis::Core::Hashable
5946
6176
 
5947
- # [Output Only] A list of commitments contained in this scope.
6177
+ # [Output Only] The list of commitments contained in this scope.
5948
6178
  # Corresponds to the JSON property `commitments`
5949
6179
  # @return [Array<Google::Apis::ComputeV1::Commitment>]
5950
6180
  attr_accessor :commitments
@@ -8090,12 +8320,12 @@ module Google
8090
8320
  # @return [String]
8091
8321
  attr_accessor :domain
8092
8322
 
8093
- # Additional structured details about this error. Keys must match /a-z+/ but
8094
- # should ideally be lowerCamelCase. Also they must be limited to 64 characters
8095
- # in length. When identifying the current value of an exceeded limit, the units
8096
- # should be contained in the key, not the value. For example, rather than `"
8097
- # instanceLimit": "100/request"`, should be returned as, `"
8098
- # instanceLimitPerRequest": "100"`, if the client exceeds the number of
8323
+ # Additional structured details about this error. Keys must match a regular
8324
+ # expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be
8325
+ # limited to 64 characters in length. When identifying the current value of an
8326
+ # exceeded limit, the units should be contained in the key, not the value. For
8327
+ # example, rather than ``"instanceLimit": "100/request"``, should be returned as,
8328
+ # ``"instanceLimitPerRequest": "100"``, if the client exceeds the number of
8099
8329
  # instances that can be created in a single (batch) request.
8100
8330
  # Corresponds to the JSON property `metadatas`
8101
8331
  # @return [Hash<String,String>]
@@ -9055,6 +9285,97 @@ module Google
9055
9285
  end
9056
9286
  end
9057
9287
 
9288
+ #
9289
+ class FirewallPoliciesScopedList
9290
+ include Google::Apis::Core::Hashable
9291
+
9292
+ # A list of firewall policies contained in this scope.
9293
+ # Corresponds to the JSON property `firewallPolicies`
9294
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicy>]
9295
+ attr_accessor :firewall_policies
9296
+
9297
+ # Informational warning which replaces the list of firewall policies when the
9298
+ # list is empty.
9299
+ # Corresponds to the JSON property `warning`
9300
+ # @return [Google::Apis::ComputeV1::FirewallPoliciesScopedList::Warning]
9301
+ attr_accessor :warning
9302
+
9303
+ def initialize(**args)
9304
+ update!(**args)
9305
+ end
9306
+
9307
+ # Update properties of this object
9308
+ def update!(**args)
9309
+ @firewall_policies = args[:firewall_policies] if args.key?(:firewall_policies)
9310
+ @warning = args[:warning] if args.key?(:warning)
9311
+ end
9312
+
9313
+ # Informational warning which replaces the list of firewall policies when the
9314
+ # list is empty.
9315
+ class Warning
9316
+ include Google::Apis::Core::Hashable
9317
+
9318
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
9319
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
9320
+ # Corresponds to the JSON property `code`
9321
+ # @return [String]
9322
+ attr_accessor :code
9323
+
9324
+ # [Output Only] Metadata about this warning in key: value format. For example: "
9325
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
9326
+ # Corresponds to the JSON property `data`
9327
+ # @return [Array<Google::Apis::ComputeV1::FirewallPoliciesScopedList::Warning::Datum>]
9328
+ attr_accessor :data
9329
+
9330
+ # [Output Only] A human-readable description of the warning code.
9331
+ # Corresponds to the JSON property `message`
9332
+ # @return [String]
9333
+ attr_accessor :message
9334
+
9335
+ def initialize(**args)
9336
+ update!(**args)
9337
+ end
9338
+
9339
+ # Update properties of this object
9340
+ def update!(**args)
9341
+ @code = args[:code] if args.key?(:code)
9342
+ @data = args[:data] if args.key?(:data)
9343
+ @message = args[:message] if args.key?(:message)
9344
+ end
9345
+
9346
+ #
9347
+ class Datum
9348
+ include Google::Apis::Core::Hashable
9349
+
9350
+ # [Output Only] A key that provides more detail on the warning being returned.
9351
+ # For example, for warnings where there are no results in a list request for a
9352
+ # particular zone, this key might be scope and the key value might be the zone
9353
+ # name. Other examples might be a key indicating a deprecated resource and a
9354
+ # suggested replacement, or a warning about invalid network settings (for
9355
+ # example, if an instance attempts to perform IP forwarding but is not enabled
9356
+ # for IP forwarding).
9357
+ # Corresponds to the JSON property `key`
9358
+ # @return [String]
9359
+ attr_accessor :key
9360
+
9361
+ # [Output Only] A warning data value corresponding to the key.
9362
+ # Corresponds to the JSON property `value`
9363
+ # @return [String]
9364
+ attr_accessor :value
9365
+
9366
+ def initialize(**args)
9367
+ update!(**args)
9368
+ end
9369
+
9370
+ # Update properties of this object
9371
+ def update!(**args)
9372
+ @key = args[:key] if args.key?(:key)
9373
+ @value = args[:value] if args.key?(:value)
9374
+ end
9375
+ end
9376
+ end
9377
+ end
9378
+
9058
9379
  # Represents a Firewall Policy resource.
9059
9380
  class FirewallPolicy
9060
9381
  include Google::Apis::Core::Hashable
@@ -9119,6 +9440,11 @@ module Google
9119
9440
  # @return [String]
9120
9441
  attr_accessor :name
9121
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
+
9122
9448
  # [Output Only] The parent of the firewall policy. This field is not applicable
9123
9449
  # to network firewall policies.
9124
9450
  # Corresponds to the JSON property `parent`
@@ -9184,6 +9510,7 @@ module Google
9184
9510
  @id = args[:id] if args.key?(:id)
9185
9511
  @kind = args[:kind] if args.key?(:kind)
9186
9512
  @name = args[:name] if args.key?(:name)
9513
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
9187
9514
  @parent = args[:parent] if args.key?(:parent)
9188
9515
  @region = args[:region] if args.key?(:region)
9189
9516
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
@@ -14418,11 +14745,11 @@ module Google
14418
14745
  # @return [String]
14419
14746
  attr_accessor :name
14420
14747
 
14421
- # Assigns a name to a port number. For example: `name: "http", port: 80` This
14422
- # allows the system to reference ports by the assigned name instead of a port
14423
- # number. Named ports can also contain multiple ports. For example: [`name: "
14424
- # app1", port: 8080`, `name: "app1", port: 8081`, `name: "app2", port: 8082`]
14425
- # 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.
14426
14753
  # Corresponds to the JSON property `namedPorts`
14427
14754
  # @return [Array<Google::Apis::ComputeV1::NamedPort>]
14428
14755
  attr_accessor :named_ports
@@ -14857,6 +15184,11 @@ module Google
14857
15184
  # @return [String]
14858
15185
  attr_accessor :region
14859
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
+
14860
15192
  # [Output Only] Reserved for future use.
14861
15193
  # Corresponds to the JSON property `satisfiesPzi`
14862
15194
  # @return [Boolean]
@@ -14966,6 +15298,7 @@ module Google
14966
15298
  @name = args[:name] if args.key?(:name)
14967
15299
  @named_ports = args[:named_ports] if args.key?(:named_ports)
14968
15300
  @region = args[:region] if args.key?(:region)
15301
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
14969
15302
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
14970
15303
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
14971
15304
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -15959,6 +16292,30 @@ module Google
15959
16292
  end
15960
16293
  end
15961
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
+
15962
16319
  #
15963
16320
  class InstanceGroupManagerStandbyPolicy
15964
16321
  include Google::Apis::Core::Hashable
@@ -18373,6 +18730,11 @@ module Google
18373
18730
  # @return [String]
18374
18731
  attr_accessor :name
18375
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
+
18376
18738
  # [Output only] Priority of firewall policy association. Not applicable for type=
18377
18739
  # HIERARCHY.
18378
18740
  # Corresponds to the JSON property `priority`
@@ -18405,6 +18767,7 @@ module Google
18405
18767
  def update!(**args)
18406
18768
  @display_name = args[:display_name] if args.key?(:display_name)
18407
18769
  @name = args[:name] if args.key?(:name)
18770
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
18408
18771
  @priority = args[:priority] if args.key?(:priority)
18409
18772
  @rules = args[:rules] if args.key?(:rules)
18410
18773
  @short_name = args[:short_name] if args.key?(:short_name)
@@ -18431,6 +18794,56 @@ module Google
18431
18794
  end
18432
18795
  end
18433
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
+
18434
18847
  #
18435
18848
  class InstancesScopedList
18436
18849
  include Google::Apis::Core::Hashable
@@ -19533,7 +19946,7 @@ module Google
19533
19946
  # BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M:
19534
19947
  # 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s -
19535
19948
  # BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/
19536
- # s
19949
+ # s - BPS_100G: 100 Gbit/s
19537
19950
  # Corresponds to the JSON property `bandwidth`
19538
19951
  # @return [String]
19539
19952
  attr_accessor :bandwidth
@@ -19543,13 +19956,13 @@ module Google
19543
19956
  # @return [Array<String>]
19544
19957
  attr_accessor :candidate_ipv6_subnets
19545
19958
 
19546
- # Up to 16 candidate prefixes that can be used to restrict the allocation of
19547
- # cloudRouterIpAddress and customerRouterIpAddress for this attachment. All
19548
- # prefixes must be within link-local address space (169.254.0.0/16) and must be /
19549
- # 29 or shorter (/28, /27, etc). Google will attempt to select an unused /29
19550
- # from the supplied candidate prefix(es). The request will fail if all possible /
19551
- # 29s are in use on Google's edge. If not supplied, Google will randomly select
19552
- # an unused /29 from all of link-local space.
19959
+ # Input only. Up to 16 candidate prefixes that can be used to restrict the
19960
+ # allocation of cloudRouterIpAddress and customerRouterIpAddress for this
19961
+ # attachment. All prefixes must be within link-local address space (169.254.0.0/
19962
+ # 16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select
19963
+ # an unused /29 from the supplied candidate prefix(es). The request will fail if
19964
+ # all possible /29s are in use on Google's edge. If not supplied, Google will
19965
+ # randomly select an unused /29 from all of link-local space.
19553
19966
  # Corresponds to the JSON property `candidateSubnets`
19554
19967
  # @return [Array<String>]
19555
19968
  attr_accessor :candidate_subnets
@@ -19611,8 +20024,8 @@ module Google
19611
20024
  # @return [String]
19612
20025
  attr_accessor :description
19613
20026
 
19614
- # Desired availability domain for the attachment. Only available for type
19615
- # PARTNER, at creation time, and can take one of the following values: -
20027
+ # Input only. Desired availability domain for the attachment. Only available for
20028
+ # type PARTNER, at creation time, and can take one of the following values: -
19616
20029
  # AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For
19617
20030
  # improved reliability, customers should configure a pair of attachments, one
19618
20031
  # per availability domain. The selected availability domain will be provided to
@@ -19812,13 +20225,13 @@ module Google
19812
20225
  # @return [String]
19813
20226
  attr_accessor :state
19814
20227
 
19815
- # Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The
19816
- # default value is 29, except for Cross-Cloud Interconnect connections that use
19817
- # an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal
19818
- # to 30. For example, connections that use an Azure remote location fall into
19819
- # this category. In these cases, the default value is 30, and requesting 29
19820
- # returns an error. Where both 29 and 30 are allowed, 29 is preferred, because
19821
- # it gives Google Cloud Support more debugging visibility.
20228
+ # Input only. Length of the IPv4 subnet mask. Allowed values: - 29 (default) -
20229
+ # 30 The default value is 29, except for Cross-Cloud Interconnect connections
20230
+ # that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.
20231
+ # min equal to 30. For example, connections that use an Azure remote location
20232
+ # fall into this category. In these cases, the default value is 30, and
20233
+ # requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is
20234
+ # preferred, because it gives Google Cloud Support more debugging visibility.
19822
20235
  # Corresponds to the JSON property `subnetLength`
19823
20236
  # @return [Fixnum]
19824
20237
  attr_accessor :subnet_length
@@ -21825,17 +22238,17 @@ module Google
21825
22238
  class LicenseResourceCommitment
21826
22239
  include Google::Apis::Core::Hashable
21827
22240
 
21828
- # The number of licenses purchased.
22241
+ # The number of licenses you plan to purchase.
21829
22242
  # Corresponds to the JSON property `amount`
21830
22243
  # @return [Fixnum]
21831
22244
  attr_accessor :amount
21832
22245
 
21833
- # Specifies the core range of the instance for which this license applies.
22246
+ # The number of cores per license.
21834
22247
  # Corresponds to the JSON property `coresPerLicense`
21835
22248
  # @return [String]
21836
22249
  attr_accessor :cores_per_license
21837
22250
 
21838
- # Any applicable license URI.
22251
+ # The applicable license URI.
21839
22252
  # Corresponds to the JSON property `license`
21840
22253
  # @return [String]
21841
22254
  attr_accessor :license
@@ -24429,13 +24842,13 @@ module Google
24429
24842
  class NetworkEndpoint
24430
24843
  include Google::Apis::Core::Hashable
24431
24844
 
24432
- # Metadata defined as annotations on the network endpoint.
24845
+ # Optional metadata defined as annotations on the network endpoint.
24433
24846
  # Corresponds to the JSON property `annotations`
24434
24847
  # @return [Hash<String,String>]
24435
24848
  attr_accessor :annotations
24436
24849
 
24437
- # Represents the port number to which PSC consumer sends packets. Only valid for
24438
- # 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.
24439
24852
  # Corresponds to the JSON property `clientDestinationPort`
24440
24853
  # @return [Fixnum]
24441
24854
  attr_accessor :client_destination_port
@@ -24446,12 +24859,13 @@ module Google
24446
24859
  # @return [String]
24447
24860
  attr_accessor :fqdn
24448
24861
 
24449
- # The name or a URL of VM instance of this network endpoint. This field is
24450
- # required for network endpoints of type GCE_VM_IP and GCE_VM_IP_PORT. The
24451
- # instance must be in the same zone of network endpoint group (for zonal NEGs)
24452
- # or in the zone within the region of the NEG (for regional NEGs). If the
24453
- # ipAddress is specified, it must belongs to the VM instance. The name must be 1-
24454
- # 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
24455
24869
  # existing instance.
24456
24870
  # Corresponds to the JSON property `instance`
24457
24871
  # @return [String]
@@ -24505,7 +24919,7 @@ module Google
24505
24919
  class NetworkEndpointGroup
24506
24920
  include Google::Apis::Core::Hashable
24507
24921
 
24508
- # Metadata defined as annotations on the network endpoint group.
24922
+ # Optional. Metadata defined as annotations on the network endpoint group.
24509
24923
  # Corresponds to the JSON property `annotations`
24510
24924
  # @return [Hash<String,String>]
24511
24925
  attr_accessor :annotations
@@ -24540,8 +24954,8 @@ module Google
24540
24954
  attr_accessor :creation_timestamp
24541
24955
 
24542
24956
  # The default port used if the port number is not specified in the network
24543
- # endpoint. If the network endpoint type is either GCE_VM_IP, SERVERLESS or
24544
- # 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.
24545
24959
  # Corresponds to the JSON property `defaultPort`
24546
24960
  # @return [Fixnum]
24547
24961
  attr_accessor :default_port
@@ -24595,7 +25009,8 @@ module Google
24595
25009
 
24596
25010
  # The target service url used to set up private service connection to a Google
24597
25011
  # API or a PSC Producer Service Attachment. An example value is: asia-northeast3-
24598
- # cloudkms.googleapis.com
25012
+ # cloudkms.googleapis.com. Optional. Only valid when networkEndpointType is
25013
+ # PRIVATE_SERVICE_CONNECT.
24599
25014
  # Corresponds to the JSON property `pscTargetService`
24600
25015
  # @return [String]
24601
25016
  attr_accessor :psc_target_service
@@ -25328,7 +25743,8 @@ module Google
25328
25743
  class NetworkEndpointWithHealthStatus
25329
25744
  include Google::Apis::Core::Hashable
25330
25745
 
25331
- # [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.
25332
25748
  # Corresponds to the JSON property `healths`
25333
25749
  # @return [Array<Google::Apis::ComputeV1::HealthStatusForNetworkEndpoint>]
25334
25750
  attr_accessor :healths
@@ -25349,6 +25765,130 @@ module Google
25349
25765
  end
25350
25766
  end
25351
25767
 
25768
+ #
25769
+ class NetworkFirewallPolicyAggregatedList
25770
+ include Google::Apis::Core::Hashable
25771
+
25772
+ # [Output Only] Unique identifier for the resource; defined by the server.
25773
+ # Corresponds to the JSON property `id`
25774
+ # @return [String]
25775
+ attr_accessor :id
25776
+
25777
+ # A list of FirewallPoliciesScopedList resources.
25778
+ # Corresponds to the JSON property `items`
25779
+ # @return [Hash<String,Google::Apis::ComputeV1::FirewallPoliciesScopedList>]
25780
+ attr_accessor :items
25781
+
25782
+ # [Output Only] Type of resource. Always compute#
25783
+ # networkFirewallPoliciesAggregatedList for lists of network firewall policies.
25784
+ # Corresponds to the JSON property `kind`
25785
+ # @return [String]
25786
+ attr_accessor :kind
25787
+
25788
+ # [Output Only] This token allows you to get the next page of results for list
25789
+ # requests. If the number of results is larger than maxResults, use the
25790
+ # nextPageToken as a value for the query parameter pageToken in the next list
25791
+ # request. Subsequent list requests will have their own nextPageToken to
25792
+ # continue paging through the results.
25793
+ # Corresponds to the JSON property `nextPageToken`
25794
+ # @return [String]
25795
+ attr_accessor :next_page_token
25796
+
25797
+ # [Output Only] Server-defined URL for this resource.
25798
+ # Corresponds to the JSON property `selfLink`
25799
+ # @return [String]
25800
+ attr_accessor :self_link
25801
+
25802
+ # [Output Only] Unreachable resources.
25803
+ # Corresponds to the JSON property `unreachables`
25804
+ # @return [Array<String>]
25805
+ attr_accessor :unreachables
25806
+
25807
+ # [Output Only] Informational warning message.
25808
+ # Corresponds to the JSON property `warning`
25809
+ # @return [Google::Apis::ComputeV1::NetworkFirewallPolicyAggregatedList::Warning]
25810
+ attr_accessor :warning
25811
+
25812
+ def initialize(**args)
25813
+ update!(**args)
25814
+ end
25815
+
25816
+ # Update properties of this object
25817
+ def update!(**args)
25818
+ @id = args[:id] if args.key?(:id)
25819
+ @items = args[:items] if args.key?(:items)
25820
+ @kind = args[:kind] if args.key?(:kind)
25821
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
25822
+ @self_link = args[:self_link] if args.key?(:self_link)
25823
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
25824
+ @warning = args[:warning] if args.key?(:warning)
25825
+ end
25826
+
25827
+ # [Output Only] Informational warning message.
25828
+ class Warning
25829
+ include Google::Apis::Core::Hashable
25830
+
25831
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
25832
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
25833
+ # Corresponds to the JSON property `code`
25834
+ # @return [String]
25835
+ attr_accessor :code
25836
+
25837
+ # [Output Only] Metadata about this warning in key: value format. For example: "
25838
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
25839
+ # Corresponds to the JSON property `data`
25840
+ # @return [Array<Google::Apis::ComputeV1::NetworkFirewallPolicyAggregatedList::Warning::Datum>]
25841
+ attr_accessor :data
25842
+
25843
+ # [Output Only] A human-readable description of the warning code.
25844
+ # Corresponds to the JSON property `message`
25845
+ # @return [String]
25846
+ attr_accessor :message
25847
+
25848
+ def initialize(**args)
25849
+ update!(**args)
25850
+ end
25851
+
25852
+ # Update properties of this object
25853
+ def update!(**args)
25854
+ @code = args[:code] if args.key?(:code)
25855
+ @data = args[:data] if args.key?(:data)
25856
+ @message = args[:message] if args.key?(:message)
25857
+ end
25858
+
25859
+ #
25860
+ class Datum
25861
+ include Google::Apis::Core::Hashable
25862
+
25863
+ # [Output Only] A key that provides more detail on the warning being returned.
25864
+ # For example, for warnings where there are no results in a list request for a
25865
+ # particular zone, this key might be scope and the key value might be the zone
25866
+ # name. Other examples might be a key indicating a deprecated resource and a
25867
+ # suggested replacement, or a warning about invalid network settings (for
25868
+ # example, if an instance attempts to perform IP forwarding but is not enabled
25869
+ # for IP forwarding).
25870
+ # Corresponds to the JSON property `key`
25871
+ # @return [String]
25872
+ attr_accessor :key
25873
+
25874
+ # [Output Only] A warning data value corresponding to the key.
25875
+ # Corresponds to the JSON property `value`
25876
+ # @return [String]
25877
+ attr_accessor :value
25878
+
25879
+ def initialize(**args)
25880
+ update!(**args)
25881
+ end
25882
+
25883
+ # Update properties of this object
25884
+ def update!(**args)
25885
+ @key = args[:key] if args.key?(:key)
25886
+ @value = args[:value] if args.key?(:value)
25887
+ end
25888
+ end
25889
+ end
25890
+ end
25891
+
25352
25892
  # A network interface resource attached to an instance.
25353
25893
  class NetworkInterface
25354
25894
  include Google::Apis::Core::Hashable
@@ -25804,11 +26344,6 @@ module Google
25804
26344
  # @return [String]
25805
26345
  attr_accessor :self_link_with_id
25806
26346
 
25807
- # [Output Only] Zone to which the network is restricted.
25808
- # Corresponds to the JSON property `zone`
25809
- # @return [String]
25810
- attr_accessor :zone
25811
-
25812
26347
  def initialize(**args)
25813
26348
  update!(**args)
25814
26349
  end
@@ -25824,7 +26359,6 @@ module Google
25824
26359
  @name = args[:name] if args.key?(:name)
25825
26360
  @self_link = args[:self_link] if args.key?(:self_link)
25826
26361
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
25827
- @zone = args[:zone] if args.key?(:zone)
25828
26362
  end
25829
26363
  end
25830
26364
 
@@ -26159,6 +26693,17 @@ module Google
26159
26693
  # @return [String]
26160
26694
  attr_accessor :bgp_inter_region_cost
26161
26695
 
26696
+ # [Output Only] Effective value of the bgp_always_compare_med field.
26697
+ # Corresponds to the JSON property `effectiveBgpAlwaysCompareMed`
26698
+ # @return [Boolean]
26699
+ attr_accessor :effective_bgp_always_compare_med
26700
+ alias_method :effective_bgp_always_compare_med?, :effective_bgp_always_compare_med
26701
+
26702
+ # [Output Only] Effective value of the bgp_inter_region_cost field.
26703
+ # Corresponds to the JSON property `effectiveBgpInterRegionCost`
26704
+ # @return [String]
26705
+ attr_accessor :effective_bgp_inter_region_cost
26706
+
26162
26707
  # The network-wide routing mode to use. If set to REGIONAL, this network's Cloud
26163
26708
  # Routers will only advertise routes with subnets of this network in the same
26164
26709
  # region as the router. If set to GLOBAL, this network's Cloud Routers will
@@ -26176,6 +26721,8 @@ module Google
26176
26721
  @bgp_always_compare_med = args[:bgp_always_compare_med] if args.key?(:bgp_always_compare_med)
26177
26722
  @bgp_best_path_selection_mode = args[:bgp_best_path_selection_mode] if args.key?(:bgp_best_path_selection_mode)
26178
26723
  @bgp_inter_region_cost = args[:bgp_inter_region_cost] if args.key?(:bgp_inter_region_cost)
26724
+ @effective_bgp_always_compare_med = args[:effective_bgp_always_compare_med] if args.key?(:effective_bgp_always_compare_med)
26725
+ @effective_bgp_inter_region_cost = args[:effective_bgp_inter_region_cost] if args.key?(:effective_bgp_inter_region_cost)
26179
26726
  @routing_mode = args[:routing_mode] if args.key?(:routing_mode)
26180
26727
  end
26181
26728
  end
@@ -26270,6 +26817,11 @@ module Google
26270
26817
  # @return [String]
26271
26818
  attr_accessor :name
26272
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
+
26273
26825
  # [Output only] Priority of firewall policy association. Not applicable for type=
26274
26826
  # HIERARCHY.
26275
26827
  # Corresponds to the JSON property `priority`
@@ -26299,6 +26851,7 @@ module Google
26299
26851
  def update!(**args)
26300
26852
  @display_name = args[:display_name] if args.key?(:display_name)
26301
26853
  @name = args[:name] if args.key?(:name)
26854
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
26302
26855
  @priority = args[:priority] if args.key?(:priority)
26303
26856
  @rules = args[:rules] if args.key?(:rules)
26304
26857
  @short_name = args[:short_name] if args.key?(:short_name)
@@ -27736,6 +28289,11 @@ module Google
27736
28289
  # @return [Fixnum]
27737
28290
  attr_accessor :local_ssd_gb
27738
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
+
27739
28297
  # [Output Only] The amount of physical memory available to the node type,
27740
28298
  # defined in MB.
27741
28299
  # Corresponds to the JSON property `memoryMb`
@@ -27772,6 +28330,7 @@ module Google
27772
28330
  @id = args[:id] if args.key?(:id)
27773
28331
  @kind = args[:kind] if args.key?(:kind)
27774
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)
27775
28334
  @memory_mb = args[:memory_mb] if args.key?(:memory_mb)
27776
28335
  @name = args[:name] if args.key?(:name)
27777
28336
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -33138,6 +33697,17 @@ module Google
33138
33697
  # @return [String]
33139
33698
  attr_accessor :name
33140
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
+
33141
33711
  # [Output only] The rules that apply to the network.
33142
33712
  # Corresponds to the JSON property `rules`
33143
33713
  # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
@@ -33157,6 +33727,8 @@ module Google
33157
33727
  def update!(**args)
33158
33728
  @display_name = args[:display_name] if args.key?(:display_name)
33159
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)
33160
33732
  @rules = args[:rules] if args.key?(:rules)
33161
33733
  @type = args[:type] if args.key?(:type)
33162
33734
  end
@@ -33386,6 +33958,12 @@ module Google
33386
33958
  # @return [String]
33387
33959
  attr_accessor :name
33388
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
+
33389
33967
  # Resource policies to be added to this reservation. The key is defined by user,
33390
33968
  # and the value is resource policy url. This is to define placement policy with
33391
33969
  # reservation.
@@ -33454,6 +34032,7 @@ module Google
33454
34032
  @id = args[:id] if args.key?(:id)
33455
34033
  @kind = args[:kind] if args.key?(:kind)
33456
34034
  @name = args[:name] if args.key?(:name)
34035
+ @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
33457
34036
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
33458
34037
  @resource_status = args[:resource_status] if args.key?(:resource_status)
33459
34038
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
@@ -33857,27 +34436,30 @@ module Google
33857
34436
  end
33858
34437
  end
33859
34438
 
33860
- # Commitment for a particular resource (a Commitment is composed of one or more
33861
- # of these).
34439
+ # Commitment for a particular hardware resource (a commitment is composed of one
34440
+ # or more of these).
33862
34441
  class ResourceCommitment
33863
34442
  include Google::Apis::Core::Hashable
33864
34443
 
33865
- # Name of the accelerator type resource. Applicable only when the type is
33866
- # ACCELERATOR.
34444
+ # Name of the accelerator type or GPU resource. Specify this field only when the
34445
+ # type of hardware resource is ACCELERATOR.
33867
34446
  # Corresponds to the JSON property `acceleratorType`
33868
34447
  # @return [String]
33869
34448
  attr_accessor :accelerator_type
33870
34449
 
33871
- # The amount of the resource purchased (in a type-dependent unit, such as bytes).
33872
- # For vCPUs, this can just be an integer. For memory, this must be provided in
33873
- # MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per every
33874
- # 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.
33875
34456
  # Corresponds to the JSON property `amount`
33876
34457
  # @return [Fixnum]
33877
34458
  attr_accessor :amount
33878
34459
 
33879
- # Type of resource for which this commitment applies. Possible values are VCPU,
33880
- # 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.
33881
34463
  # Corresponds to the JSON property `type`
33882
34464
  # @return [String]
33883
34465
  attr_accessor :type
@@ -35259,6 +35841,104 @@ module Google
35259
35841
  end
35260
35842
  end
35261
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
+
35262
35942
  # Represents a Cloud Router resource. For more information about Cloud Router,
35263
35943
  # read the Cloud Router overview.
35264
35944
  class Router
@@ -35668,16 +36348,14 @@ module Google
35668
36348
 
35669
36349
  # List of export policies applied to this peer, in the order they must be
35670
36350
  # evaluated. The name must correspond to an existing policy that has
35671
- # ROUTE_POLICY_TYPE_EXPORT type. Note that Route Policies are currently
35672
- # available in preview. Please use Beta API to use Route Policies.
36351
+ # ROUTE_POLICY_TYPE_EXPORT type.
35673
36352
  # Corresponds to the JSON property `exportPolicies`
35674
36353
  # @return [Array<String>]
35675
36354
  attr_accessor :export_policies
35676
36355
 
35677
36356
  # List of import policies applied to this peer, in the order they must be
35678
36357
  # evaluated. The name must correspond to an existing policy that has
35679
- # ROUTE_POLICY_TYPE_IMPORT type. Note that Route Policies are currently
35680
- # available in preview. Please use Beta API to use Route Policies.
36358
+ # ROUTE_POLICY_TYPE_IMPORT type.
35681
36359
  # Corresponds to the JSON property `importPolicies`
35682
36360
  # @return [Array<String>]
35683
36361
  attr_accessor :import_policies
@@ -35873,9 +36551,9 @@ module Google
35873
36551
  # truncate the IP address, as it represents the IP address of the interface. -
35874
36552
  # For Internet Protocol version 6 (IPv6), the value must be a unique local
35875
36553
  # address (ULA) range from fdff:1::/64 with a mask length of 126 or less. This
35876
- # value should be a CIDR-formatted string, for example, fc00:0:1:1::1/112.
35877
- # Within the router's VPC, this IPv6 prefix will be reserved exclusively for
35878
- # 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.
35879
36557
  # Corresponds to the JSON property `ipRange`
35880
36558
  # @return [String]
35881
36559
  attr_accessor :ip_range
@@ -36782,6 +37460,287 @@ module Google
36782
37460
  end
36783
37461
  end
36784
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
+
36785
37744
  #
36786
37745
  class RoutersPreviewResponse
36787
37746
  include Google::Apis::Core::Hashable
@@ -37193,6 +38152,13 @@ module Google
37193
38152
  # @return [Fixnum]
37194
38153
  attr_accessor :availability_domain
37195
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
+
37196
38162
  # Specifies the termination action for the instance.
37197
38163
  # Corresponds to the JSON property `instanceTerminationAction`
37198
38164
  # @return [String]
@@ -37274,6 +38240,7 @@ module Google
37274
38240
  def update!(**args)
37275
38241
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
37276
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)
37277
38244
  @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
37278
38245
  @local_ssd_recovery_timeout = args[:local_ssd_recovery_timeout] if args.key?(:local_ssd_recovery_timeout)
37279
38246
  @location_hint = args[:location_hint] if args.key?(:location_hint)
@@ -40120,10 +41087,9 @@ module Google
40120
41087
 
40121
41088
  # [Output Only] The unique ID of the instant snapshot used to create this
40122
41089
  # snapshot. This value identifies the exact instant snapshot that was used to
40123
- # create this persistent disk. For example, if you created the persistent disk
40124
- # from an instant snapshot that was later deleted and recreated under the same
40125
- # name, the source instant snapshot ID would identify the exact instant snapshot
40126
- # 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.
40127
41093
  # Corresponds to the JSON property `sourceInstantSnapshotId`
40128
41094
  # @return [String]
40129
41095
  attr_accessor :source_instant_snapshot_id
@@ -43145,16 +44111,18 @@ module Google
43145
44111
  attr_accessor :private_ipv6_google_access
43146
44112
 
43147
44113
  # The purpose of the resource. This field can be either PRIVATE,
43148
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
43149
- # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
43150
- # subnets or subnets that are automatically created in auto mode networks.
43151
- # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
43152
- # user-created subnetworks that are reserved for Envoy-based load balancers. A
43153
- # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
43154
- # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
43155
- # used for subnet migration from one peered VPC to another. If unspecified, the
43156
- # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
43157
- # 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
43158
44126
  # REGIONAL_MANAGED_PROXY.
43159
44127
  # Corresponds to the JSON property `purpose`
43160
44128
  # @return [String]
@@ -44727,10 +45695,13 @@ module Google
44727
45695
  # describes how the proxy should authenticate inbound traffic. serverTlsPolicy
44728
45696
  # only applies to a global TargetHttpsProxy attached to globalForwardingRules
44729
45697
  # with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or
44730
- # EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted
44731
- # with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED
44732
- # loadBalancingScheme consult ServerTlsPolicy documentation. If left blank,
44733
- # 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.
44734
45705
  # Corresponds to the JSON property `serverTlsPolicy`
44735
45706
  # @return [String]
44736
45707
  attr_accessor :server_tls_policy
@@ -44741,14 +45712,15 @@ module Google
44741
45712
  # to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource
44742
45713
  # or Certificate Manager Certificate resource. Mixing Classic Certificates and
44743
45714
  # Certificate Manager Certificates is not allowed. Certificate Manager
44744
- # Certificates must include the certificatemanager API. Certificate Manager
44745
- # Certificates are not supported by Global external Application Load Balancer or
44746
- # Classic Application Load Balancer, use certificate_map instead. Currently, you
44747
- # may specify up to 15 Classic SSL Certificates. Certificate Manager
44748
- # Certificates accepted formats are: - //certificatemanager.googleapis.com/
44749
- # projects/`project`/locations/` location`/certificates/`resourceName`. - https:/
44750
- # /certificatemanager.googleapis.com/v1alpha1/projects/`project `/locations/`
44751
- # location`/certificates/`resourceName`.
45715
+ # Certificates must include the certificatemanager API namespace. Using
45716
+ # Certificate Manager Certificates in this field is not supported by Global
45717
+ # external Application Load Balancer or Classic Application Load Balancer, use
45718
+ # certificate_map instead. Currently, you may specify up to 15 Classic SSL
45719
+ # Certificates or up to 100 Certificate Manager Certificates. Certificate
45720
+ # Manager Certificates accepted formats are: - //certificatemanager.googleapis.
45721
+ # com/projects/`project`/locations/` location`/certificates/`resourceName`. -
45722
+ # https://certificatemanager.googleapis.com/v1alpha1/projects/`project `/
45723
+ # locations/`location`/certificates/`resourceName`.
44752
45724
  # Corresponds to the JSON property `sslCertificates`
44753
45725
  # @return [Array<String>]
44754
45726
  attr_accessor :ssl_certificates
@@ -48280,16 +49252,18 @@ module Google
48280
49252
  attr_accessor :network
48281
49253
 
48282
49254
  # The purpose of the resource. This field can be either PRIVATE,
48283
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
48284
- # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
48285
- # subnets or subnets that are automatically created in auto mode networks.
48286
- # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
48287
- # user-created subnetworks that are reserved for Envoy-based load balancers. A
48288
- # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
48289
- # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
48290
- # used for subnet migration from one peered VPC to another. If unspecified, the
48291
- # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
48292
- # 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
48293
49267
  # REGIONAL_MANAGED_PROXY.
48294
49268
  # Corresponds to the JSON property `purpose`
48295
49269
  # @return [String]