google-apis-compute_v1 0.114.0 → 0.116.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
@@ -35025,6 +35378,11 @@ module Google
35025
35378
  # @return [String]
35026
35379
  attr_accessor :physical_host
35027
35380
 
35381
+ # Represents the physical host topology of the host on which the VM is running.
35382
+ # Corresponds to the JSON property `physicalHostTopology`
35383
+ # @return [Google::Apis::ComputeV1::ResourceStatusPhysicalHostTopology]
35384
+ attr_accessor :physical_host_topology
35385
+
35028
35386
  #
35029
35387
  # Corresponds to the JSON property `scheduling`
35030
35388
  # @return [Google::Apis::ComputeV1::ResourceStatusScheduling]
@@ -35042,11 +35400,54 @@ module Google
35042
35400
  # Update properties of this object
35043
35401
  def update!(**args)
35044
35402
  @physical_host = args[:physical_host] if args.key?(:physical_host)
35403
+ @physical_host_topology = args[:physical_host_topology] if args.key?(:physical_host_topology)
35045
35404
  @scheduling = args[:scheduling] if args.key?(:scheduling)
35046
35405
  @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
35047
35406
  end
35048
35407
  end
35049
35408
 
35409
+ # Represents the physical host topology of the host on which the VM is running.
35410
+ class ResourceStatusPhysicalHostTopology
35411
+ include Google::Apis::Core::Hashable
35412
+
35413
+ # [Output Only] The ID of the block in which the running instance is located.
35414
+ # Instances within the same block experience low network latency.
35415
+ # Corresponds to the JSON property `block`
35416
+ # @return [String]
35417
+ attr_accessor :block
35418
+
35419
+ # [Output Only] The global name of the Compute Engine cluster where the running
35420
+ # instance is located.
35421
+ # Corresponds to the JSON property `cluster`
35422
+ # @return [String]
35423
+ attr_accessor :cluster
35424
+
35425
+ # [Output Only] The ID of the host on which the running instance is located.
35426
+ # Instances on the same host experience the lowest possible network latency.
35427
+ # Corresponds to the JSON property `host`
35428
+ # @return [String]
35429
+ attr_accessor :host
35430
+
35431
+ # [Output Only] The ID of the sub-block in which the running instance is located.
35432
+ # Instances in the same sub-block experience lower network latency than
35433
+ # instances in the same block.
35434
+ # Corresponds to the JSON property `subblock`
35435
+ # @return [String]
35436
+ attr_accessor :subblock
35437
+
35438
+ def initialize(**args)
35439
+ update!(**args)
35440
+ end
35441
+
35442
+ # Update properties of this object
35443
+ def update!(**args)
35444
+ @block = args[:block] if args.key?(:block)
35445
+ @cluster = args[:cluster] if args.key?(:cluster)
35446
+ @host = args[:host] if args.key?(:host)
35447
+ @subblock = args[:subblock] if args.key?(:subblock)
35448
+ end
35449
+ end
35450
+
35050
35451
  #
35051
35452
  class ResourceStatusScheduling
35052
35453
  include Google::Apis::Core::Hashable
@@ -35488,6 +35889,104 @@ module Google
35488
35889
  end
35489
35890
  end
35490
35891
 
35892
+ #
35893
+ class RoutePolicy
35894
+ include Google::Apis::Core::Hashable
35895
+
35896
+ # An optional description of route policy.
35897
+ # Corresponds to the JSON property `description`
35898
+ # @return [String]
35899
+ attr_accessor :description
35900
+
35901
+ # A fingerprint for the Route Policy being applied to this Router, which is
35902
+ # essentially a hash of the Route Policy used for optimistic locking. The
35903
+ # fingerprint is initially generated by Compute Engine and changes after every
35904
+ # request to modify or update Route Policy. You must always provide an up-to-
35905
+ # date fingerprint hash in order to update or change labels. To see the latest
35906
+ # fingerprint, make a getRoutePolicy() request to retrieve a Route Policy.
35907
+ # Corresponds to the JSON property `fingerprint`
35908
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
35909
+ # @return [String]
35910
+ attr_accessor :fingerprint
35911
+
35912
+ # Route Policy name, which must be a resource ID segment and unique within all
35913
+ # the router's Route Policies. Name should conform to RFC1035.
35914
+ # Corresponds to the JSON property `name`
35915
+ # @return [String]
35916
+ attr_accessor :name
35917
+
35918
+ # List of terms (the order in the list is not important, they are evaluated in
35919
+ # order of priority). Order of policies is not retained and might change when
35920
+ # getting policy later.
35921
+ # Corresponds to the JSON property `terms`
35922
+ # @return [Array<Google::Apis::ComputeV1::RoutePolicyPolicyTerm>]
35923
+ attr_accessor :terms
35924
+
35925
+ #
35926
+ # Corresponds to the JSON property `type`
35927
+ # @return [String]
35928
+ attr_accessor :type
35929
+
35930
+ def initialize(**args)
35931
+ update!(**args)
35932
+ end
35933
+
35934
+ # Update properties of this object
35935
+ def update!(**args)
35936
+ @description = args[:description] if args.key?(:description)
35937
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
35938
+ @name = args[:name] if args.key?(:name)
35939
+ @terms = args[:terms] if args.key?(:terms)
35940
+ @type = args[:type] if args.key?(:type)
35941
+ end
35942
+ end
35943
+
35944
+ #
35945
+ class RoutePolicyPolicyTerm
35946
+ include Google::Apis::Core::Hashable
35947
+
35948
+ # CEL expressions to evaluate to modify a route when this term matches.
35949
+ # Corresponds to the JSON property `actions`
35950
+ # @return [Array<Google::Apis::ComputeV1::Expr>]
35951
+ attr_accessor :actions
35952
+
35953
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
35954
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
35955
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
35956
+ # "Summary size limit" description: "Determines if a summary is less than 100
35957
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
35958
+ # Requestor is owner" description: "Determines if requestor is the document
35959
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
35960
+ # Logic): title: "Public documents" description: "Determine whether the document
35961
+ # should be publicly visible" expression: "document.type != 'private' &&
35962
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
35963
+ # string" description: "Create a notification string with a timestamp."
35964
+ # expression: "'New message received at ' + string(document.create_time)" The
35965
+ # exact variables and functions that may be referenced within an expression are
35966
+ # determined by the service that evaluates it. See the service documentation for
35967
+ # additional information.
35968
+ # Corresponds to the JSON property `match`
35969
+ # @return [Google::Apis::ComputeV1::Expr]
35970
+ attr_accessor :match
35971
+
35972
+ # The evaluation priority for this term, which must be between 0 (inclusive) and
35973
+ # 2^31 (exclusive), and unique within the list.
35974
+ # Corresponds to the JSON property `priority`
35975
+ # @return [Fixnum]
35976
+ attr_accessor :priority
35977
+
35978
+ def initialize(**args)
35979
+ update!(**args)
35980
+ end
35981
+
35982
+ # Update properties of this object
35983
+ def update!(**args)
35984
+ @actions = args[:actions] if args.key?(:actions)
35985
+ @match = args[:match] if args.key?(:match)
35986
+ @priority = args[:priority] if args.key?(:priority)
35987
+ end
35988
+ end
35989
+
35491
35990
  # Represents a Cloud Router resource. For more information about Cloud Router,
35492
35991
  # read the Cloud Router overview.
35493
35992
  class Router
@@ -35897,16 +36396,14 @@ module Google
35897
36396
 
35898
36397
  # List of export policies applied to this peer, in the order they must be
35899
36398
  # 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.
36399
+ # ROUTE_POLICY_TYPE_EXPORT type.
35902
36400
  # Corresponds to the JSON property `exportPolicies`
35903
36401
  # @return [Array<String>]
35904
36402
  attr_accessor :export_policies
35905
36403
 
35906
36404
  # List of import policies applied to this peer, in the order they must be
35907
36405
  # 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.
36406
+ # ROUTE_POLICY_TYPE_IMPORT type.
35910
36407
  # Corresponds to the JSON property `importPolicies`
35911
36408
  # @return [Array<String>]
35912
36409
  attr_accessor :import_policies
@@ -36102,9 +36599,9 @@ module Google
36102
36599
  # truncate the IP address, as it represents the IP address of the interface. -
36103
36600
  # For Internet Protocol version 6 (IPv6), the value must be a unique local
36104
36601
  # 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.
36602
+ # value should be a CIDR-formatted string, for example, fdff:1::1/112. Within
36603
+ # the router's VPC, this IPv6 prefix will be reserved exclusively for this
36604
+ # connection and cannot be used for any other purpose.
36108
36605
  # Corresponds to the JSON property `ipRange`
36109
36606
  # @return [String]
36110
36607
  attr_accessor :ip_range
@@ -37011,6 +37508,287 @@ module Google
37011
37508
  end
37012
37509
  end
37013
37510
 
37511
+ #
37512
+ class RoutersGetRoutePolicyResponse
37513
+ include Google::Apis::Core::Hashable
37514
+
37515
+ #
37516
+ # Corresponds to the JSON property `resource`
37517
+ # @return [Google::Apis::ComputeV1::RoutePolicy]
37518
+ attr_accessor :resource
37519
+
37520
+ def initialize(**args)
37521
+ update!(**args)
37522
+ end
37523
+
37524
+ # Update properties of this object
37525
+ def update!(**args)
37526
+ @resource = args[:resource] if args.key?(:resource)
37527
+ end
37528
+ end
37529
+
37530
+ #
37531
+ class RoutersListBgpRoutes
37532
+ include Google::Apis::Core::Hashable
37533
+
37534
+ #
37535
+ # Corresponds to the JSON property `etag`
37536
+ # @return [String]
37537
+ attr_accessor :etag
37538
+
37539
+ # [Output Only] The unique identifier for the resource. This identifier is
37540
+ # defined by the server.
37541
+ # Corresponds to the JSON property `id`
37542
+ # @return [String]
37543
+ attr_accessor :id
37544
+
37545
+ # [Output Only] Type of resource. Always compute#routersListBgpRoutes for lists
37546
+ # of bgp routes.
37547
+ # Corresponds to the JSON property `kind`
37548
+ # @return [String]
37549
+ attr_accessor :kind
37550
+
37551
+ # [Output Only] This token allows you to get the next page of results for list
37552
+ # requests. If the number of results is larger than maxResults, use the
37553
+ # nextPageToken as a value for the query parameter pageToken in the next list
37554
+ # request. Subsequent list requests will have their own nextPageToken to
37555
+ # continue paging through the results.
37556
+ # Corresponds to the JSON property `nextPageToken`
37557
+ # @return [String]
37558
+ attr_accessor :next_page_token
37559
+
37560
+ # [Output Only] A list of bgp routes.
37561
+ # Corresponds to the JSON property `result`
37562
+ # @return [Array<Google::Apis::ComputeV1::BgpRoute>]
37563
+ attr_accessor :result
37564
+
37565
+ # [Output Only] Server-defined URL for this resource.
37566
+ # Corresponds to the JSON property `selfLink`
37567
+ # @return [String]
37568
+ attr_accessor :self_link
37569
+
37570
+ # [Output Only] Unreachable resources.
37571
+ # Corresponds to the JSON property `unreachables`
37572
+ # @return [Array<String>]
37573
+ attr_accessor :unreachables
37574
+
37575
+ # [Output Only] Informational warning message.
37576
+ # Corresponds to the JSON property `warning`
37577
+ # @return [Google::Apis::ComputeV1::RoutersListBgpRoutes::Warning]
37578
+ attr_accessor :warning
37579
+
37580
+ def initialize(**args)
37581
+ update!(**args)
37582
+ end
37583
+
37584
+ # Update properties of this object
37585
+ def update!(**args)
37586
+ @etag = args[:etag] if args.key?(:etag)
37587
+ @id = args[:id] if args.key?(:id)
37588
+ @kind = args[:kind] if args.key?(:kind)
37589
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
37590
+ @result = args[:result] if args.key?(:result)
37591
+ @self_link = args[:self_link] if args.key?(:self_link)
37592
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
37593
+ @warning = args[:warning] if args.key?(:warning)
37594
+ end
37595
+
37596
+ # [Output Only] Informational warning message.
37597
+ class Warning
37598
+ include Google::Apis::Core::Hashable
37599
+
37600
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
37601
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
37602
+ # Corresponds to the JSON property `code`
37603
+ # @return [String]
37604
+ attr_accessor :code
37605
+
37606
+ # [Output Only] Metadata about this warning in key: value format. For example: "
37607
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
37608
+ # Corresponds to the JSON property `data`
37609
+ # @return [Array<Google::Apis::ComputeV1::RoutersListBgpRoutes::Warning::Datum>]
37610
+ attr_accessor :data
37611
+
37612
+ # [Output Only] A human-readable description of the warning code.
37613
+ # Corresponds to the JSON property `message`
37614
+ # @return [String]
37615
+ attr_accessor :message
37616
+
37617
+ def initialize(**args)
37618
+ update!(**args)
37619
+ end
37620
+
37621
+ # Update properties of this object
37622
+ def update!(**args)
37623
+ @code = args[:code] if args.key?(:code)
37624
+ @data = args[:data] if args.key?(:data)
37625
+ @message = args[:message] if args.key?(:message)
37626
+ end
37627
+
37628
+ #
37629
+ class Datum
37630
+ include Google::Apis::Core::Hashable
37631
+
37632
+ # [Output Only] A key that provides more detail on the warning being returned.
37633
+ # For example, for warnings where there are no results in a list request for a
37634
+ # particular zone, this key might be scope and the key value might be the zone
37635
+ # name. Other examples might be a key indicating a deprecated resource and a
37636
+ # suggested replacement, or a warning about invalid network settings (for
37637
+ # example, if an instance attempts to perform IP forwarding but is not enabled
37638
+ # for IP forwarding).
37639
+ # Corresponds to the JSON property `key`
37640
+ # @return [String]
37641
+ attr_accessor :key
37642
+
37643
+ # [Output Only] A warning data value corresponding to the key.
37644
+ # Corresponds to the JSON property `value`
37645
+ # @return [String]
37646
+ attr_accessor :value
37647
+
37648
+ def initialize(**args)
37649
+ update!(**args)
37650
+ end
37651
+
37652
+ # Update properties of this object
37653
+ def update!(**args)
37654
+ @key = args[:key] if args.key?(:key)
37655
+ @value = args[:value] if args.key?(:value)
37656
+ end
37657
+ end
37658
+ end
37659
+ end
37660
+
37661
+ #
37662
+ class RoutersListRoutePolicies
37663
+ include Google::Apis::Core::Hashable
37664
+
37665
+ #
37666
+ # Corresponds to the JSON property `etag`
37667
+ # @return [String]
37668
+ attr_accessor :etag
37669
+
37670
+ # [Output Only] The unique identifier for the resource. This identifier is
37671
+ # defined by the server.
37672
+ # Corresponds to the JSON property `id`
37673
+ # @return [String]
37674
+ attr_accessor :id
37675
+
37676
+ # [Output Only] Type of resource. Always compute#routersListRoutePolicies for
37677
+ # lists of route policies.
37678
+ # Corresponds to the JSON property `kind`
37679
+ # @return [String]
37680
+ attr_accessor :kind
37681
+
37682
+ # [Output Only] This token allows you to get the next page of results for list
37683
+ # requests. If the number of results is larger than maxResults, use the
37684
+ # nextPageToken as a value for the query parameter pageToken in the next list
37685
+ # request. Subsequent list requests will have their own nextPageToken to
37686
+ # continue paging through the results.
37687
+ # Corresponds to the JSON property `nextPageToken`
37688
+ # @return [String]
37689
+ attr_accessor :next_page_token
37690
+
37691
+ # [Output Only] A list of route policies.
37692
+ # Corresponds to the JSON property `result`
37693
+ # @return [Array<Google::Apis::ComputeV1::RoutePolicy>]
37694
+ attr_accessor :result
37695
+
37696
+ # [Output Only] Server-defined URL for this resource.
37697
+ # Corresponds to the JSON property `selfLink`
37698
+ # @return [String]
37699
+ attr_accessor :self_link
37700
+
37701
+ # [Output Only] Unreachable resources.
37702
+ # Corresponds to the JSON property `unreachables`
37703
+ # @return [Array<String>]
37704
+ attr_accessor :unreachables
37705
+
37706
+ # [Output Only] Informational warning message.
37707
+ # Corresponds to the JSON property `warning`
37708
+ # @return [Google::Apis::ComputeV1::RoutersListRoutePolicies::Warning]
37709
+ attr_accessor :warning
37710
+
37711
+ def initialize(**args)
37712
+ update!(**args)
37713
+ end
37714
+
37715
+ # Update properties of this object
37716
+ def update!(**args)
37717
+ @etag = args[:etag] if args.key?(:etag)
37718
+ @id = args[:id] if args.key?(:id)
37719
+ @kind = args[:kind] if args.key?(:kind)
37720
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
37721
+ @result = args[:result] if args.key?(:result)
37722
+ @self_link = args[:self_link] if args.key?(:self_link)
37723
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
37724
+ @warning = args[:warning] if args.key?(:warning)
37725
+ end
37726
+
37727
+ # [Output Only] Informational warning message.
37728
+ class Warning
37729
+ include Google::Apis::Core::Hashable
37730
+
37731
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
37732
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
37733
+ # Corresponds to the JSON property `code`
37734
+ # @return [String]
37735
+ attr_accessor :code
37736
+
37737
+ # [Output Only] Metadata about this warning in key: value format. For example: "
37738
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
37739
+ # Corresponds to the JSON property `data`
37740
+ # @return [Array<Google::Apis::ComputeV1::RoutersListRoutePolicies::Warning::Datum>]
37741
+ attr_accessor :data
37742
+
37743
+ # [Output Only] A human-readable description of the warning code.
37744
+ # Corresponds to the JSON property `message`
37745
+ # @return [String]
37746
+ attr_accessor :message
37747
+
37748
+ def initialize(**args)
37749
+ update!(**args)
37750
+ end
37751
+
37752
+ # Update properties of this object
37753
+ def update!(**args)
37754
+ @code = args[:code] if args.key?(:code)
37755
+ @data = args[:data] if args.key?(:data)
37756
+ @message = args[:message] if args.key?(:message)
37757
+ end
37758
+
37759
+ #
37760
+ class Datum
37761
+ include Google::Apis::Core::Hashable
37762
+
37763
+ # [Output Only] A key that provides more detail on the warning being returned.
37764
+ # For example, for warnings where there are no results in a list request for a
37765
+ # particular zone, this key might be scope and the key value might be the zone
37766
+ # name. Other examples might be a key indicating a deprecated resource and a
37767
+ # suggested replacement, or a warning about invalid network settings (for
37768
+ # example, if an instance attempts to perform IP forwarding but is not enabled
37769
+ # for IP forwarding).
37770
+ # Corresponds to the JSON property `key`
37771
+ # @return [String]
37772
+ attr_accessor :key
37773
+
37774
+ # [Output Only] A warning data value corresponding to the key.
37775
+ # Corresponds to the JSON property `value`
37776
+ # @return [String]
37777
+ attr_accessor :value
37778
+
37779
+ def initialize(**args)
37780
+ update!(**args)
37781
+ end
37782
+
37783
+ # Update properties of this object
37784
+ def update!(**args)
37785
+ @key = args[:key] if args.key?(:key)
37786
+ @value = args[:value] if args.key?(:value)
37787
+ end
37788
+ end
37789
+ end
37790
+ end
37791
+
37014
37792
  #
37015
37793
  class RoutersPreviewResponse
37016
37794
  include Google::Apis::Core::Hashable
@@ -37422,6 +38200,13 @@ module Google
37422
38200
  # @return [Fixnum]
37423
38201
  attr_accessor :availability_domain
37424
38202
 
38203
+ # Specify the time in seconds for host error detection, the value must be within
38204
+ # the range of [90, 330] with the increment of 30, if unset, the default
38205
+ # behavior of host error recovery will be used.
38206
+ # Corresponds to the JSON property `hostErrorTimeoutSeconds`
38207
+ # @return [Fixnum]
38208
+ attr_accessor :host_error_timeout_seconds
38209
+
37425
38210
  # Specifies the termination action for the instance.
37426
38211
  # Corresponds to the JSON property `instanceTerminationAction`
37427
38212
  # @return [String]
@@ -37503,6 +38288,7 @@ module Google
37503
38288
  def update!(**args)
37504
38289
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
37505
38290
  @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
38291
+ @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
37506
38292
  @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
37507
38293
  @local_ssd_recovery_timeout = args[:local_ssd_recovery_timeout] if args.key?(:local_ssd_recovery_timeout)
37508
38294
  @location_hint = args[:location_hint] if args.key?(:location_hint)
@@ -40349,10 +41135,9 @@ module Google
40349
41135
 
40350
41136
  # [Output Only] The unique ID of the instant snapshot used to create this
40351
41137
  # 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.
41138
+ # create this snapshot. For example, if you created the snapshot from an instant
41139
+ # snapshot that was later deleted and recreated under the same name, the source
41140
+ # instant snapshot ID would identify the exact instant snapshot that was used.
40356
41141
  # Corresponds to the JSON property `sourceInstantSnapshotId`
40357
41142
  # @return [String]
40358
41143
  attr_accessor :source_instant_snapshot_id
@@ -43319,6 +44104,18 @@ module Google
43319
44104
  # @return [String]
43320
44105
  attr_accessor :ip_cidr_range
43321
44106
 
44107
+ # Reference to the source of IP, like a PublicDelegatedPrefix (PDP) for BYOIP.
44108
+ # The PDP must be a sub-PDP in EXTERNAL_IPV6_SUBNETWORK_CREATION mode. Use one
44109
+ # of the following formats to specify a sub-PDP when creating a dual stack
44110
+ # subnetwork with external access using BYOIP: - Full resource URL, as in https:/
44111
+ # /www.googleapis.com/compute/v1/projects/projectId/regions/region /
44112
+ # publicDelegatedPrefixes/sub-pdp-name - Partial URL, as in - projects/projectId/
44113
+ # regions/region/publicDelegatedPrefixes/ sub-pdp-name - regions/region/
44114
+ # publicDelegatedPrefixes/sub-pdp-name
44115
+ # Corresponds to the JSON property `ipCollection`
44116
+ # @return [String]
44117
+ attr_accessor :ip_collection
44118
+
43322
44119
  # The access type of IPv6 address this subnet holds. It's immutable and can only
43323
44120
  # be specified during creation or the first time the subnet is updated into
43324
44121
  # IPV4_IPV6 dual stack.
@@ -43331,6 +44128,18 @@ module Google
43331
44128
  # @return [String]
43332
44129
  attr_accessor :ipv6_cidr_range
43333
44130
 
44131
+ # [Output Only] Possible endpoints of this subnetwork. It can be one of the
44132
+ # following: - VM_ONLY: The subnetwork can be used for creating instances and
44133
+ # IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
44134
+ # ranges from a public delegated prefix and cannot be used to create NetLb. -
44135
+ # VM_AND_FR: The subnetwork can be used for creating both VM instances and
44136
+ # Forwarding Rules. It can also be used to reserve IPv6 addresses with both VM
44137
+ # and FR endpoint types. Such a subnetwork gets its IPv6 range from Google IP
44138
+ # Pool directly.
44139
+ # Corresponds to the JSON property `ipv6GceEndpoint`
44140
+ # @return [String]
44141
+ attr_accessor :ipv6_gce_endpoint
44142
+
43334
44143
  # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork
43335
44144
  # resources.
43336
44145
  # Corresponds to the JSON property `kind`
@@ -43374,16 +44183,18 @@ module Google
43374
44183
  attr_accessor :private_ipv6_google_access
43375
44184
 
43376
44185
  # 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
44186
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION,
44187
+ # PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for
44188
+ # user-created subnets or subnets that are automatically created in auto mode
44189
+ # networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or
44190
+ # REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for
44191
+ # Envoy-based load balancers. A subnet with purpose set to
44192
+ # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
44193
+ # Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet
44194
+ # migration from one peered VPC to another. A subnet with purpose set to
44195
+ # PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If
44196
+ # unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field
44197
+ # isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
43387
44198
  # REGIONAL_MANAGED_PROXY.
43388
44199
  # Corresponds to the JSON property `purpose`
43389
44200
  # @return [String]
@@ -43456,8 +44267,10 @@ module Google
43456
44267
  @id = args[:id] if args.key?(:id)
43457
44268
  @internal_ipv6_prefix = args[:internal_ipv6_prefix] if args.key?(:internal_ipv6_prefix)
43458
44269
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
44270
+ @ip_collection = args[:ip_collection] if args.key?(:ip_collection)
43459
44271
  @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
43460
44272
  @ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range)
44273
+ @ipv6_gce_endpoint = args[:ipv6_gce_endpoint] if args.key?(:ipv6_gce_endpoint)
43461
44274
  @kind = args[:kind] if args.key?(:kind)
43462
44275
  @log_config = args[:log_config] if args.key?(:log_config)
43463
44276
  @name = args[:name] if args.key?(:name)
@@ -44956,10 +45769,13 @@ module Google
44956
45769
  # describes how the proxy should authenticate inbound traffic. serverTlsPolicy
44957
45770
  # only applies to a global TargetHttpsProxy attached to globalForwardingRules
44958
45771
  # 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.
45772
+ # EXTERNAL_MANAGED or INTERNAL_MANAGED. It also applies to a regional
45773
+ # TargetHttpsProxy attached to regional forwardingRules with the
45774
+ # loadBalancingScheme set to EXTERNAL_MANAGED or INTERNAL_MANAGED. For details
45775
+ # which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and
45776
+ # which with EXTERNAL, INTERNAL_MANAGED, EXTERNAL_MANAGED loadBalancingScheme
45777
+ # consult ServerTlsPolicy documentation. If left blank, communications are not
45778
+ # encrypted.
44963
45779
  # Corresponds to the JSON property `serverTlsPolicy`
44964
45780
  # @return [String]
44965
45781
  attr_accessor :server_tls_policy
@@ -48510,16 +49326,18 @@ module Google
48510
49326
  attr_accessor :network
48511
49327
 
48512
49328
  # 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
49329
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION,
49330
+ # PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for
49331
+ # user-created subnets or subnets that are automatically created in auto mode
49332
+ # networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or
49333
+ # REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for
49334
+ # Envoy-based load balancers. A subnet with purpose set to
49335
+ # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
49336
+ # Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet
49337
+ # migration from one peered VPC to another. A subnet with purpose set to
49338
+ # PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If
49339
+ # unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field
49340
+ # isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
48523
49341
  # REGIONAL_MANAGED_PROXY.
48524
49342
  # Corresponds to the JSON property `purpose`
48525
49343
  # @return [String]