google-apis-compute_v1 0.101.0 → 0.111.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.
@@ -1157,6 +1157,13 @@ module Google
1157
1157
  # @return [Fixnum]
1158
1158
  attr_accessor :threads_per_core
1159
1159
 
1160
+ # Turbo frequency mode to use for the instance. Supported modes include: *
1161
+ # ALL_CORE_MAX Using empty string or not setting this field will use the
1162
+ # platform-specific default turbo mode.
1163
+ # Corresponds to the JSON property `turboMode`
1164
+ # @return [String]
1165
+ attr_accessor :turbo_mode
1166
+
1160
1167
  # The number of physical cores to expose to an instance. Multiply by the number
1161
1168
  # of threads per core to compute the total number of virtual CPUs to expose to
1162
1169
  # the instance. If unset, the number of cores is inferred from the instance's
@@ -1175,6 +1182,7 @@ module Google
1175
1182
  @enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking)
1176
1183
  @performance_monitoring_unit = args[:performance_monitoring_unit] if args.key?(:performance_monitoring_unit)
1177
1184
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1185
+ @turbo_mode = args[:turbo_mode] if args.key?(:turbo_mode)
1178
1186
  @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
1179
1187
  end
1180
1188
  end
@@ -1825,8 +1833,8 @@ module Google
1825
1833
  # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
1826
1834
  # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
1827
1835
  # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
1828
- # exempts jose@example.com from DATA_READ logging, and aliya@example.com from
1829
- # DATA_WRITE logging.
1836
+ # exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com`
1837
+ # from DATA_WRITE logging.
1830
1838
  class AuditConfig
1831
1839
  include Google::Apis::Core::Hashable
1832
1840
 
@@ -1835,11 +1843,6 @@ module Google
1835
1843
  # @return [Array<Google::Apis::ComputeV1::AuditLogConfig>]
1836
1844
  attr_accessor :audit_log_configs
1837
1845
 
1838
- # This is deprecated and has no effect. Do not use.
1839
- # Corresponds to the JSON property `exemptedMembers`
1840
- # @return [Array<String>]
1841
- attr_accessor :exempted_members
1842
-
1843
1846
  # Specifies a service that will be enabled for audit logging. For example, `
1844
1847
  # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
1845
1848
  # value that covers all services.
@@ -1854,7 +1857,6 @@ module Google
1854
1857
  # Update properties of this object
1855
1858
  def update!(**args)
1856
1859
  @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
1857
- @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1858
1860
  @service = args[:service] if args.key?(:service)
1859
1861
  end
1860
1862
  end
@@ -1873,12 +1875,6 @@ module Google
1873
1875
  # @return [Array<String>]
1874
1876
  attr_accessor :exempted_members
1875
1877
 
1876
- # This is deprecated and has no effect. Do not use.
1877
- # Corresponds to the JSON property `ignoreChildExemptions`
1878
- # @return [Boolean]
1879
- attr_accessor :ignore_child_exemptions
1880
- alias_method :ignore_child_exemptions?, :ignore_child_exemptions
1881
-
1882
1878
  # The log type that this config enables.
1883
1879
  # Corresponds to the JSON property `logType`
1884
1880
  # @return [String]
@@ -1891,7 +1887,6 @@ module Google
1891
1887
  # Update properties of this object
1892
1888
  def update!(**args)
1893
1889
  @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1894
- @ignore_child_exemptions = args[:ignore_child_exemptions] if args.key?(:ignore_child_exemptions)
1895
1890
  @log_type = args[:log_type] if args.key?(:log_type)
1896
1891
  end
1897
1892
  end
@@ -2941,6 +2936,11 @@ module Google
2941
2936
  # @return [String]
2942
2937
  attr_accessor :self_link
2943
2938
 
2939
+ # [Output Only] List of resources referencing that backend bucket.
2940
+ # Corresponds to the JSON property `usedBy`
2941
+ # @return [Array<Google::Apis::ComputeV1::BackendBucketUsedBy>]
2942
+ attr_accessor :used_by
2943
+
2944
2944
  def initialize(**args)
2945
2945
  update!(**args)
2946
2946
  end
@@ -2959,6 +2959,7 @@ module Google
2959
2959
  @kind = args[:kind] if args.key?(:kind)
2960
2960
  @name = args[:name] if args.key?(:name)
2961
2961
  @self_link = args[:self_link] if args.key?(:self_link)
2962
+ @used_by = args[:used_by] if args.key?(:used_by)
2962
2963
  end
2963
2964
  end
2964
2965
 
@@ -2990,7 +2991,8 @@ module Google
2990
2991
  # CACHE_ALL_STATIC Automatically cache static content, including common image
2991
2992
  # formats, media (video and audio), and web assets (JavaScript and CSS).
2992
2993
  # Requests and responses that are marked as uncacheable, as well as dynamic
2993
- # content (including HTML), will not be cached.
2994
+ # content (including HTML), will not be cached. If no value is provided for
2995
+ # cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.
2994
2996
  # Corresponds to the JSON property `cacheMode`
2995
2997
  # @return [String]
2996
2998
  attr_accessor :cache_mode
@@ -3313,6 +3315,25 @@ module Google
3313
3315
  end
3314
3316
  end
3315
3317
 
3318
+ #
3319
+ class BackendBucketUsedBy
3320
+ include Google::Apis::Core::Hashable
3321
+
3322
+ # [Output Only] Server-defined URL for UrlMaps referencing that BackendBucket.
3323
+ # Corresponds to the JSON property `reference`
3324
+ # @return [String]
3325
+ attr_accessor :reference
3326
+
3327
+ def initialize(**args)
3328
+ update!(**args)
3329
+ end
3330
+
3331
+ # Update properties of this object
3332
+ def update!(**args)
3333
+ @reference = args[:reference] if args.key?(:reference)
3334
+ end
3335
+ end
3336
+
3316
3337
  # Represents a Backend Service resource. A backend service defines how Google
3317
3338
  # Cloud load balancers distribute traffic. The backend service configuration
3318
3339
  # contains a set of values, such as the protocol used to connect to backends,
@@ -3458,6 +3479,28 @@ module Google
3458
3479
  # @return [Fixnum]
3459
3480
  attr_accessor :id
3460
3481
 
3482
+ # Specifies a preference for traffic sent from the proxy to the backend (or from
3483
+ # the client to the backend for proxyless gRPC). The possible values are: -
3484
+ # IPV4_ONLY: Only send IPv4 traffic to the backends of the backend service (
3485
+ # Instance Group, Managed Instance Group, Network Endpoint Group), regardless of
3486
+ # traffic from the client to the proxy. Only IPv4 health checks are used to
3487
+ # check the health of the backends. This is the default setting. - PREFER_IPV6:
3488
+ # Prioritize the connection to the endpoint's IPv6 address over its IPv4 address
3489
+ # (provided there is a healthy IPv6 address). - IPV6_ONLY: Only send IPv6
3490
+ # traffic to the backends of the backend service (Instance Group, Managed
3491
+ # Instance Group, Network Endpoint Group), regardless of traffic from the client
3492
+ # to the proxy. Only IPv6 health checks are used to check the health of the
3493
+ # backends. This field is applicable to either: - Advanced global external
3494
+ # Application Load Balancer (load balancing scheme EXTERNAL_MANAGED), - Regional
3495
+ # external Application Load Balancer, - Internal proxy Network Load Balancer (
3496
+ # load balancing scheme INTERNAL_MANAGED), - Regional internal Application Load
3497
+ # Balancer (load balancing scheme INTERNAL_MANAGED), - Traffic Director with
3498
+ # Envoy proxies and proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED).
3499
+ #
3500
+ # Corresponds to the JSON property `ipAddressSelectionPolicy`
3501
+ # @return [String]
3502
+ attr_accessor :ip_address_selection_policy
3503
+
3461
3504
  # [Output Only] Type of resource. Always compute#backendService for backend
3462
3505
  # services.
3463
3506
  # Corresponds to the JSON property `kind`
@@ -3502,8 +3545,10 @@ module Google
3502
3545
  # set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to
3503
3546
  # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
3504
3547
  # set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If
3505
- # sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH,
3506
- # session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH
3548
+ # sessionAffinity is not configured—that is, if session affinity remains at the
3549
+ # default value of NONE—then the default value for localityLbPolicy is
3550
+ # ROUND_ROBIN. If session affinity is set to a value other than NONE, then the
3551
+ # default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH
3507
3552
  # are supported when the backend service is referenced by a URL map that is
3508
3553
  # bound to target gRPC proxy that has validateForProxyless field set to true.
3509
3554
  # Corresponds to the JSON property `localityLbPolicy`
@@ -3626,6 +3671,11 @@ module Google
3626
3671
  # @return [String]
3627
3672
  attr_accessor :session_affinity
3628
3673
 
3674
+ # The HTTP cookie used for stateful session affinity.
3675
+ # Corresponds to the JSON property `strongSessionAffinityCookie`
3676
+ # @return [Google::Apis::ComputeV1::BackendServiceHttpCookie]
3677
+ attr_accessor :strong_session_affinity_cookie
3678
+
3629
3679
  # Subsetting configuration for this BackendService. Currently this is applicable
3630
3680
  # only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
3631
3681
  # Traffic Director.
@@ -3645,7 +3695,7 @@ module Google
3645
3695
  # @return [Fixnum]
3646
3696
  attr_accessor :timeout_sec
3647
3697
 
3648
- #
3698
+ # [Output Only] List of resources referencing given backend service.
3649
3699
  # Corresponds to the JSON property `usedBy`
3650
3700
  # @return [Array<Google::Apis::ComputeV1::BackendServiceUsedBy>]
3651
3701
  attr_accessor :used_by
@@ -3675,6 +3725,7 @@ module Google
3675
3725
  @health_checks = args[:health_checks] if args.key?(:health_checks)
3676
3726
  @iap = args[:iap] if args.key?(:iap)
3677
3727
  @id = args[:id] if args.key?(:id)
3728
+ @ip_address_selection_policy = args[:ip_address_selection_policy] if args.key?(:ip_address_selection_policy)
3678
3729
  @kind = args[:kind] if args.key?(:kind)
3679
3730
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3680
3731
  @locality_lb_policies = args[:locality_lb_policies] if args.key?(:locality_lb_policies)
@@ -3695,6 +3746,7 @@ module Google
3695
3746
  @service_bindings = args[:service_bindings] if args.key?(:service_bindings)
3696
3747
  @service_lb_policy = args[:service_lb_policy] if args.key?(:service_lb_policy)
3697
3748
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3749
+ @strong_session_affinity_cookie = args[:strong_session_affinity_cookie] if args.key?(:strong_session_affinity_cookie)
3698
3750
  @subsetting = args[:subsetting] if args.key?(:subsetting)
3699
3751
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
3700
3752
  @used_by = args[:used_by] if args.key?(:used_by)
@@ -3852,7 +3904,8 @@ module Google
3852
3904
  # CACHE_ALL_STATIC Automatically cache static content, including common image
3853
3905
  # formats, media (video and audio), and web assets (JavaScript and CSS).
3854
3906
  # Requests and responses that are marked as uncacheable, as well as dynamic
3855
- # content (including HTML), will not be cached.
3907
+ # content (including HTML), will not be cached. If no value is provided for
3908
+ # cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.
3856
3909
  # Corresponds to the JSON property `cacheMode`
3857
3910
  # @return [String]
3858
3911
  attr_accessor :cache_mode
@@ -4187,6 +4240,40 @@ module Google
4187
4240
  end
4188
4241
  end
4189
4242
 
4243
+ # The HTTP cookie used for stateful session affinity.
4244
+ class BackendServiceHttpCookie
4245
+ include Google::Apis::Core::Hashable
4246
+
4247
+ # Name of the cookie.
4248
+ # Corresponds to the JSON property `name`
4249
+ # @return [String]
4250
+ attr_accessor :name
4251
+
4252
+ # Path to set for the cookie.
4253
+ # Corresponds to the JSON property `path`
4254
+ # @return [String]
4255
+ attr_accessor :path
4256
+
4257
+ # A Duration represents a fixed-length span of time represented as a count of
4258
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
4259
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
4260
+ # 000 years.
4261
+ # Corresponds to the JSON property `ttl`
4262
+ # @return [Google::Apis::ComputeV1::Duration]
4263
+ attr_accessor :ttl
4264
+
4265
+ def initialize(**args)
4266
+ update!(**args)
4267
+ end
4268
+
4269
+ # Update properties of this object
4270
+ def update!(**args)
4271
+ @name = args[:name] if args.key?(:name)
4272
+ @path = args[:path] if args.key?(:path)
4273
+ @ttl = args[:ttl] if args.key?(:ttl)
4274
+ end
4275
+ end
4276
+
4190
4277
  # Identity-Aware Proxy
4191
4278
  class BackendServiceIap
4192
4279
  include Google::Apis::Core::Hashable
@@ -4619,7 +4706,9 @@ module Google
4619
4706
  class BackendServiceUsedBy
4620
4707
  include Google::Apis::Core::Hashable
4621
4708
 
4622
- #
4709
+ # [Output Only] Server-defined URL for resources referencing given
4710
+ # BackendService like UrlMaps, TargetTcpProxies, TargetSslProxies and
4711
+ # ForwardingRule.
4623
4712
  # Corresponds to the JSON property `reference`
4624
4713
  # @return [String]
4625
4714
  attr_accessor :reference
@@ -4978,11 +5067,6 @@ module Google
4978
5067
  class Binding
4979
5068
  include Google::Apis::Core::Hashable
4980
5069
 
4981
- # This is deprecated and has no effect. Do not use.
4982
- # Corresponds to the JSON property `bindingId`
4983
- # @return [String]
4984
- attr_accessor :binding_id
4985
-
4986
5070
  # Represents a textual expression in the Common Expression Language (CEL) syntax.
4987
5071
  # CEL is a C-like expression language. The syntax and semantics of CEL are
4988
5072
  # documented at https://github.com/google/cel-spec. Example (Comparison): title:
@@ -5074,7 +5158,6 @@ module Google
5074
5158
 
5075
5159
  # Update properties of this object
5076
5160
  def update!(**args)
5077
- @binding_id = args[:binding_id] if args.key?(:binding_id)
5078
5161
  @condition = args[:condition] if args.key?(:condition)
5079
5162
  @members = args[:members] if args.key?(:members)
5080
5163
  @role = args[:role] if args.key?(:role)
@@ -5441,6 +5524,13 @@ module Google
5441
5524
  # @return [String]
5442
5525
  attr_accessor :creation_timestamp
5443
5526
 
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
5529
+ # than the start date + term duration.
5530
+ # Corresponds to the JSON property `customEndTimestamp`
5531
+ # @return [String]
5532
+ attr_accessor :custom_end_timestamp
5533
+
5444
5534
  # An optional description of this resource. Provide this property when you
5445
5535
  # create the resource.
5446
5536
  # Corresponds to the JSON property `description`
@@ -5509,6 +5599,11 @@ module Google
5509
5599
  # @return [Array<Google::Apis::ComputeV1::Reservation>]
5510
5600
  attr_accessor :reservations
5511
5601
 
5602
+ # [Output Only] Contains output only fields.
5603
+ # Corresponds to the JSON property `resourceStatus`
5604
+ # @return [Google::Apis::ComputeV1::CommitmentResourceStatus]
5605
+ attr_accessor :resource_status
5606
+
5512
5607
  # A list of commitment amounts for particular resources. Note that VCPU and
5513
5608
  # MEMORY resource commitments must occur together.
5514
5609
  # Corresponds to the JSON property `resources`
@@ -5559,6 +5654,7 @@ module Google
5559
5654
  @auto_renew = args[:auto_renew] if args.key?(:auto_renew)
5560
5655
  @category = args[:category] if args.key?(:category)
5561
5656
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
5657
+ @custom_end_timestamp = args[:custom_end_timestamp] if args.key?(:custom_end_timestamp)
5562
5658
  @description = args[:description] if args.key?(:description)
5563
5659
  @end_timestamp = args[:end_timestamp] if args.key?(:end_timestamp)
5564
5660
  @existing_reservations = args[:existing_reservations] if args.key?(:existing_reservations)
@@ -5570,6 +5666,7 @@ module Google
5570
5666
  @plan = args[:plan] if args.key?(:plan)
5571
5667
  @region = args[:region] if args.key?(:region)
5572
5668
  @reservations = args[:reservations] if args.key?(:reservations)
5669
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
5573
5670
  @resources = args[:resources] if args.key?(:resources)
5574
5671
  @self_link = args[:self_link] if args.key?(:self_link)
5575
5672
  @split_source_commitment = args[:split_source_commitment] if args.key?(:split_source_commitment)
@@ -5822,6 +5919,27 @@ module Google
5822
5919
  end
5823
5920
  end
5824
5921
 
5922
+ # [Output Only] Contains output only fields.
5923
+ class CommitmentResourceStatus
5924
+ include Google::Apis::Core::Hashable
5925
+
5926
+ # [Output Only] Indicates the end time of customer's eligibility to send custom
5927
+ # term requests in RFC3339 text format. Term extension requests that (not the
5928
+ # end time in the request) after this time will be rejected.
5929
+ # Corresponds to the JSON property `customTermEligibilityEndTimestamp`
5930
+ # @return [String]
5931
+ attr_accessor :custom_term_eligibility_end_timestamp
5932
+
5933
+ def initialize(**args)
5934
+ update!(**args)
5935
+ end
5936
+
5937
+ # Update properties of this object
5938
+ def update!(**args)
5939
+ @custom_term_eligibility_end_timestamp = args[:custom_term_eligibility_end_timestamp] if args.key?(:custom_term_eligibility_end_timestamp)
5940
+ end
5941
+ end
5942
+
5825
5943
  #
5826
5944
  class CommitmentsScopedList
5827
5945
  include Google::Apis::Core::Hashable
@@ -5913,49 +6031,6 @@ module Google
5913
6031
  end
5914
6032
  end
5915
6033
 
5916
- # This is deprecated and has no effect. Do not use.
5917
- class Condition
5918
- include Google::Apis::Core::Hashable
5919
-
5920
- # This is deprecated and has no effect. Do not use.
5921
- # Corresponds to the JSON property `iam`
5922
- # @return [String]
5923
- attr_accessor :iam
5924
-
5925
- # This is deprecated and has no effect. Do not use.
5926
- # Corresponds to the JSON property `op`
5927
- # @return [String]
5928
- attr_accessor :op
5929
-
5930
- # This is deprecated and has no effect. Do not use.
5931
- # Corresponds to the JSON property `svc`
5932
- # @return [String]
5933
- attr_accessor :svc
5934
-
5935
- # This is deprecated and has no effect. Do not use.
5936
- # Corresponds to the JSON property `sys`
5937
- # @return [String]
5938
- attr_accessor :sys
5939
-
5940
- # This is deprecated and has no effect. Do not use.
5941
- # Corresponds to the JSON property `values`
5942
- # @return [Array<String>]
5943
- attr_accessor :values
5944
-
5945
- def initialize(**args)
5946
- update!(**args)
5947
- end
5948
-
5949
- # Update properties of this object
5950
- def update!(**args)
5951
- @iam = args[:iam] if args.key?(:iam)
5952
- @op = args[:op] if args.key?(:op)
5953
- @svc = args[:svc] if args.key?(:svc)
5954
- @sys = args[:sys] if args.key?(:sys)
5955
- @values = args[:values] if args.key?(:values)
5956
- end
5957
- end
5958
-
5959
6034
  # A set of Confidential Instance options.
5960
6035
  class ConfidentialInstanceConfig
5961
6036
  include Google::Apis::Core::Hashable
@@ -9281,7 +9356,9 @@ module Google
9281
9356
  include Google::Apis::Core::Hashable
9282
9357
 
9283
9358
  # The Action to perform when the client connection triggers the rule. Valid
9284
- # actions are "allow", "deny" and "goto_next".
9359
+ # actions for firewall rules are: "allow", "deny", "apply_security_profile_group"
9360
+ # and "goto_next". Valid actions for packet mirroring rules are: "mirror", "
9361
+ # do_not_mirror" and "goto_next".
9285
9362
  # Corresponds to the JSON property `action`
9286
9363
  # @return [String]
9287
9364
  attr_accessor :action
@@ -9313,8 +9390,8 @@ module Google
9313
9390
  attr_accessor :enable_logging
9314
9391
  alias_method :enable_logging?, :enable_logging
9315
9392
 
9316
- # [Output only] Type of the resource. Always compute#firewallPolicyRule for
9317
- # firewall policy rules
9393
+ # [Output only] Type of the resource. Returns compute#firewallPolicyRule for
9394
+ # firewall rules and compute#packetMirroringRule for packet mirroring rules.
9318
9395
  # Corresponds to the JSON property `kind`
9319
9396
  # @return [String]
9320
9397
  attr_accessor :kind
@@ -9328,7 +9405,7 @@ module Google
9328
9405
  # An integer indicating the priority of a rule in the list. The priority must be
9329
9406
  # a positive value between 0 and 2147483647. Rules are evaluated from highest to
9330
9407
  # lowest priority where 0 is the highest priority and 2147483647 is the lowest
9331
- # prority.
9408
+ # priority.
9332
9409
  # Corresponds to the JSON property `priority`
9333
9410
  # @return [Fixnum]
9334
9411
  attr_accessor :priority
@@ -9346,8 +9423,9 @@ module Google
9346
9423
 
9347
9424
  # A fully-qualified URL of a SecurityProfile resource instance. Example: https://
9348
9425
  # networksecurity.googleapis.com/v1/projects/`project`/locations/`location`/
9349
- # securityProfileGroups/my-security-profile-group Must be specified if action = '
9350
- # apply_security_profile_group' and cannot be specified for other actions.
9426
+ # securityProfileGroups/my-security-profile-group Must be specified if action is
9427
+ # one of 'apply_security_profile_group' or 'mirror'. Cannot be specified for
9428
+ # other actions.
9351
9429
  # Corresponds to the JSON property `securityProfileGroup`
9352
9430
  # @return [String]
9353
9431
  attr_accessor :security_profile_group
@@ -11147,6 +11225,20 @@ module Google
11147
11225
  # @return [String]
11148
11226
  attr_accessor :self_link
11149
11227
 
11228
+ # The list of cloud regions from which health checks are performed. If any
11229
+ # regions are specified, then exactly 3 regions should be specified. The region
11230
+ # names must be valid names of Google Cloud regions. This can only be set for
11231
+ # global health check. If this list is non-empty, then there are restrictions on
11232
+ # what other health check fields are supported and what other resources can use
11233
+ # this health check: - SSL, HTTP2, and GRPC protocols are not supported. - The
11234
+ # TCP request field is not supported. - The proxyHeader field for HTTP, HTTPS,
11235
+ # and TCP is not supported. - The checkIntervalSec field must be at least 30. -
11236
+ # The health check cannot be used with BackendService nor with managed instance
11237
+ # group auto-healing.
11238
+ # Corresponds to the JSON property `sourceRegions`
11239
+ # @return [Array<String>]
11240
+ attr_accessor :source_regions
11241
+
11150
11242
  #
11151
11243
  # Corresponds to the JSON property `sslHealthCheck`
11152
11244
  # @return [Google::Apis::ComputeV1::SslHealthCheck]
@@ -11197,6 +11289,7 @@ module Google
11197
11289
  @name = args[:name] if args.key?(:name)
11198
11290
  @region = args[:region] if args.key?(:region)
11199
11291
  @self_link = args[:self_link] if args.key?(:self_link)
11292
+ @source_regions = args[:source_regions] if args.key?(:source_regions)
11200
11293
  @ssl_health_check = args[:ssl_health_check] if args.key?(:ssl_health_check)
11201
11294
  @tcp_health_check = args[:tcp_health_check] if args.key?(:tcp_health_check)
11202
11295
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
@@ -11884,6 +11977,16 @@ module Google
11884
11977
  # @return [String]
11885
11978
  attr_accessor :ip_address
11886
11979
 
11980
+ #
11981
+ # Corresponds to the JSON property `ipv6Address`
11982
+ # @return [String]
11983
+ attr_accessor :ipv6_address
11984
+
11985
+ # Health state of the IPv6 address of the instance.
11986
+ # Corresponds to the JSON property `ipv6HealthState`
11987
+ # @return [String]
11988
+ attr_accessor :ipv6_health_state
11989
+
11887
11990
  # The named port of the instance group, not necessarily the port that is health-
11888
11991
  # checked.
11889
11992
  # Corresponds to the JSON property `port`
@@ -11912,6 +12015,8 @@ module Google
11912
12015
  @health_state = args[:health_state] if args.key?(:health_state)
11913
12016
  @instance = args[:instance] if args.key?(:instance)
11914
12017
  @ip_address = args[:ip_address] if args.key?(:ip_address)
12018
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
12019
+ @ipv6_health_state = args[:ipv6_health_state] if args.key?(:ipv6_health_state)
11915
12020
  @port = args[:port] if args.key?(:port)
11916
12021
  @weight = args[:weight] if args.key?(:weight)
11917
12022
  @weight_error = args[:weight_error] if args.key?(:weight_error)
@@ -11957,6 +12062,12 @@ module Google
11957
12062
  # @return [String]
11958
12063
  attr_accessor :health_state
11959
12064
 
12065
+ # Health state of the ipv6 network endpoint determined based on the health
12066
+ # checks configured.
12067
+ # Corresponds to the JSON property `ipv6HealthState`
12068
+ # @return [String]
12069
+ attr_accessor :ipv6_health_state
12070
+
11960
12071
  def initialize(**args)
11961
12072
  update!(**args)
11962
12073
  end
@@ -11968,6 +12079,7 @@ module Google
11968
12079
  @health_check = args[:health_check] if args.key?(:health_check)
11969
12080
  @health_check_service = args[:health_check_service] if args.key?(:health_check_service)
11970
12081
  @health_state = args[:health_state] if args.key?(:health_state)
12082
+ @ipv6_health_state = args[:ipv6_health_state] if args.key?(:ipv6_health_state)
11971
12083
  end
11972
12084
  end
11973
12085
 
@@ -14641,10 +14753,15 @@ module Google
14641
14753
  # @return [Array<Google::Apis::ComputeV1::InstanceGroupManagerAutoHealingPolicy>]
14642
14754
  attr_accessor :auto_healing_policies
14643
14755
 
14644
- # The base instance name to use for instances in this group. The value must be 1-
14645
- # 58 characters long. Instances are named by appending a hyphen and a random
14646
- # four-character string to the base instance name. The base instance name must
14647
- # comply with RFC1035.
14756
+ # The base instance name is a prefix that you want to attach to the names of all
14757
+ # VMs in a MIG. The maximum character length is 58 and the name must comply with
14758
+ # RFC1035 format. When a VM is created in the group, the MIG appends a hyphen
14759
+ # and a random four-character string to the base instance name. If you want the
14760
+ # MIG to assign sequential numbers instead of a random string, then end the base
14761
+ # instance name with a hyphen followed by one or more hash symbols. The hash
14762
+ # symbols indicate the number of digits. For example, a base instance name of "
14763
+ # vm-###" results in "vm-001" as a VM name. @pattern [a-z](([-a-z0-9]`0,57`)|([-
14764
+ # a-z0-9]`0,51`-#`1,10`(\\[[0-9]`1,10`\\])?))
14648
14765
  # Corresponds to the JSON property `baseInstanceName`
14649
14766
  # @return [String]
14650
14767
  attr_accessor :base_instance_name
@@ -14688,6 +14805,13 @@ module Google
14688
14805
  # @return [Fixnum]
14689
14806
  attr_accessor :id
14690
14807
 
14808
+ # Instance flexibility allowing MIG to create VMs from multiple types of
14809
+ # machines. Instance flexibility configuration on MIG overrides instance
14810
+ # template configuration.
14811
+ # Corresponds to the JSON property `instanceFlexibilityPolicy`
14812
+ # @return [Google::Apis::ComputeV1::InstanceGroupManagerInstanceFlexibilityPolicy]
14813
+ attr_accessor :instance_flexibility_policy
14814
+
14691
14815
  # [Output Only] The URL of the Instance Group resource.
14692
14816
  # Corresponds to the JSON property `instanceGroup`
14693
14817
  # @return [String]
@@ -14725,8 +14849,8 @@ module Google
14725
14849
  # @return [String]
14726
14850
  attr_accessor :name
14727
14851
 
14728
- # Named ports configured for the Instance Groups complementary to this Instance
14729
- # Group Manager.
14852
+ # [Output Only] Named ports configured on the Instance Groups complementary to
14853
+ # this Instance Group Manager.
14730
14854
  # Corresponds to the JSON property `namedPorts`
14731
14855
  # @return [Array<Google::Apis::ComputeV1::NamedPort>]
14732
14856
  attr_accessor :named_ports
@@ -14816,6 +14940,7 @@ module Google
14816
14940
  @distribution_policy = args[:distribution_policy] if args.key?(:distribution_policy)
14817
14941
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
14818
14942
  @id = args[:id] if args.key?(:id)
14943
+ @instance_flexibility_policy = args[:instance_flexibility_policy] if args.key?(:instance_flexibility_policy)
14819
14944
  @instance_group = args[:instance_group] if args.key?(:instance_group)
14820
14945
  @instance_lifecycle_policy = args[:instance_lifecycle_policy] if args.key?(:instance_lifecycle_policy)
14821
14946
  @instance_template = args[:instance_template] if args.key?(:instance_template)
@@ -15126,6 +15251,54 @@ module Google
15126
15251
  end
15127
15252
  end
15128
15253
 
15254
+ #
15255
+ class InstanceGroupManagerInstanceFlexibilityPolicy
15256
+ include Google::Apis::Core::Hashable
15257
+
15258
+ # Named instance selections configuring properties that the group will use when
15259
+ # creating new VMs.
15260
+ # Corresponds to the JSON property `instanceSelections`
15261
+ # @return [Hash<String,Google::Apis::ComputeV1::InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection>]
15262
+ attr_accessor :instance_selections
15263
+
15264
+ def initialize(**args)
15265
+ update!(**args)
15266
+ end
15267
+
15268
+ # Update properties of this object
15269
+ def update!(**args)
15270
+ @instance_selections = args[:instance_selections] if args.key?(:instance_selections)
15271
+ end
15272
+ end
15273
+
15274
+ #
15275
+ class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection
15276
+ include Google::Apis::Core::Hashable
15277
+
15278
+ # Full machine-type names, e.g. "n1-standard-16".
15279
+ # Corresponds to the JSON property `machineTypes`
15280
+ # @return [Array<String>]
15281
+ attr_accessor :machine_types
15282
+
15283
+ # Preference of this instance selection. Lower number means higher preference.
15284
+ # MIG will first try to create a VM based on the machine-type with lowest rank
15285
+ # and fallback to next rank based on availability. Machine types and instance
15286
+ # selections with the same rank have the same preference.
15287
+ # Corresponds to the JSON property `rank`
15288
+ # @return [Fixnum]
15289
+ attr_accessor :rank
15290
+
15291
+ def initialize(**args)
15292
+ update!(**args)
15293
+ end
15294
+
15295
+ # Update properties of this object
15296
+ def update!(**args)
15297
+ @machine_types = args[:machine_types] if args.key?(:machine_types)
15298
+ @rank = args[:rank] if args.key?(:rank)
15299
+ end
15300
+ end
15301
+
15129
15302
  #
15130
15303
  class InstanceGroupManagerInstanceLifecyclePolicy
15131
15304
  include Google::Apis::Core::Hashable
@@ -15322,7 +15495,8 @@ module Google
15322
15495
  attr_accessor :requested_run_duration
15323
15496
 
15324
15497
  # The number of instances to be created by this resize request. The group's
15325
- # target size will be increased by this number.
15498
+ # target size will be increased by this number. This field cannot be used
15499
+ # together with 'instances'.
15326
15500
  # Corresponds to the JSON property `resizeBy`
15327
15501
  # @return [Fixnum]
15328
15502
  attr_accessor :resize_by
@@ -18018,7 +18192,7 @@ module Google
18018
18192
  class InstancesGetEffectiveFirewallsResponse
18019
18193
  include Google::Apis::Core::Hashable
18020
18194
 
18021
- # Effective firewalls from firewall policies.
18195
+ # [Output Only] Effective firewalls from firewall policies.
18022
18196
  # Corresponds to the JSON property `firewallPolicys`
18023
18197
  # @return [Array<Google::Apis::ComputeV1::InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
18024
18198
  attr_accessor :firewall_policys
@@ -18054,7 +18228,15 @@ module Google
18054
18228
  # @return [String]
18055
18229
  attr_accessor :name
18056
18230
 
18057
- # The rules that apply to the network.
18231
+ # [Output only] Priority of firewall policy association. Not applicable for type=
18232
+ # HIERARCHY.
18233
+ # Corresponds to the JSON property `priority`
18234
+ # @return [Fixnum]
18235
+ attr_accessor :priority
18236
+
18237
+ # [Output Only] The rules that apply to the instance. Only rules that target the
18238
+ # specific VM instance are returned if target service accounts or target secure
18239
+ # tags are specified in the rules.
18058
18240
  # Corresponds to the JSON property `rules`
18059
18241
  # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
18060
18242
  attr_accessor :rules
@@ -18078,6 +18260,7 @@ module Google
18078
18260
  def update!(**args)
18079
18261
  @display_name = args[:display_name] if args.key?(:display_name)
18080
18262
  @name = args[:name] if args.key?(:name)
18263
+ @priority = args[:priority] if args.key?(:priority)
18081
18264
  @rules = args[:rules] if args.key?(:rules)
18082
18265
  @short_name = args[:short_name] if args.key?(:short_name)
18083
18266
  @type = args[:type] if args.key?(:type)
@@ -18936,7 +19119,7 @@ module Google
18936
19119
  alias_method :admin_enabled?, :admin_enabled
18937
19120
 
18938
19121
  # [Output only] List of features available for this Interconnect connection,
18939
- # which can take one of the following values: - MACSEC If present then the
19122
+ # which can take one of the following values: - IF_MACSEC If present then the
18940
19123
  # Interconnect connection is provisioned on MACsec capable hardware ports. If
18941
19124
  # not present then the Interconnect connection is provisioned on non-MACsec
18942
19125
  # capable ports and MACsec isn't supported and enabling MACsec fails.
@@ -19107,7 +19290,7 @@ module Google
19107
19290
  attr_accessor :remote_location
19108
19291
 
19109
19292
  # Optional. List of features requested for this Interconnect connection, which
19110
- # can take one of the following values: - MACSEC If specified then the
19293
+ # can take one of the following values: - IF_MACSEC If specified then the
19111
19294
  # connection is created on MACsec capable hardware ports. If not specified, the
19112
19295
  # default value is false, which allocates non-MACsec capable ports first if
19113
19296
  # available. This parameter can be provided only with Interconnect INSERT. It
@@ -21795,131 +21978,6 @@ module Google
21795
21978
  end
21796
21979
  end
21797
21980
 
21798
- # This is deprecated and has no effect. Do not use.
21799
- class LogConfig
21800
- include Google::Apis::Core::Hashable
21801
-
21802
- # This is deprecated and has no effect. Do not use.
21803
- # Corresponds to the JSON property `cloudAudit`
21804
- # @return [Google::Apis::ComputeV1::LogConfigCloudAuditOptions]
21805
- attr_accessor :cloud_audit
21806
-
21807
- # This is deprecated and has no effect. Do not use.
21808
- # Corresponds to the JSON property `counter`
21809
- # @return [Google::Apis::ComputeV1::LogConfigCounterOptions]
21810
- attr_accessor :counter
21811
-
21812
- # This is deprecated and has no effect. Do not use.
21813
- # Corresponds to the JSON property `dataAccess`
21814
- # @return [Google::Apis::ComputeV1::LogConfigDataAccessOptions]
21815
- attr_accessor :data_access
21816
-
21817
- def initialize(**args)
21818
- update!(**args)
21819
- end
21820
-
21821
- # Update properties of this object
21822
- def update!(**args)
21823
- @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit)
21824
- @counter = args[:counter] if args.key?(:counter)
21825
- @data_access = args[:data_access] if args.key?(:data_access)
21826
- end
21827
- end
21828
-
21829
- # This is deprecated and has no effect. Do not use.
21830
- class LogConfigCloudAuditOptions
21831
- include Google::Apis::Core::Hashable
21832
-
21833
- # This is deprecated and has no effect. Do not use.
21834
- # Corresponds to the JSON property `logName`
21835
- # @return [String]
21836
- attr_accessor :log_name
21837
-
21838
- def initialize(**args)
21839
- update!(**args)
21840
- end
21841
-
21842
- # Update properties of this object
21843
- def update!(**args)
21844
- @log_name = args[:log_name] if args.key?(:log_name)
21845
- end
21846
- end
21847
-
21848
- # This is deprecated and has no effect. Do not use.
21849
- class LogConfigCounterOptions
21850
- include Google::Apis::Core::Hashable
21851
-
21852
- # This is deprecated and has no effect. Do not use.
21853
- # Corresponds to the JSON property `customFields`
21854
- # @return [Array<Google::Apis::ComputeV1::LogConfigCounterOptionsCustomField>]
21855
- attr_accessor :custom_fields
21856
-
21857
- # This is deprecated and has no effect. Do not use.
21858
- # Corresponds to the JSON property `field`
21859
- # @return [String]
21860
- attr_accessor :field
21861
-
21862
- # This is deprecated and has no effect. Do not use.
21863
- # Corresponds to the JSON property `metric`
21864
- # @return [String]
21865
- attr_accessor :metric
21866
-
21867
- def initialize(**args)
21868
- update!(**args)
21869
- end
21870
-
21871
- # Update properties of this object
21872
- def update!(**args)
21873
- @custom_fields = args[:custom_fields] if args.key?(:custom_fields)
21874
- @field = args[:field] if args.key?(:field)
21875
- @metric = args[:metric] if args.key?(:metric)
21876
- end
21877
- end
21878
-
21879
- # This is deprecated and has no effect. Do not use.
21880
- class LogConfigCounterOptionsCustomField
21881
- include Google::Apis::Core::Hashable
21882
-
21883
- # This is deprecated and has no effect. Do not use.
21884
- # Corresponds to the JSON property `name`
21885
- # @return [String]
21886
- attr_accessor :name
21887
-
21888
- # This is deprecated and has no effect. Do not use.
21889
- # Corresponds to the JSON property `value`
21890
- # @return [String]
21891
- attr_accessor :value
21892
-
21893
- def initialize(**args)
21894
- update!(**args)
21895
- end
21896
-
21897
- # Update properties of this object
21898
- def update!(**args)
21899
- @name = args[:name] if args.key?(:name)
21900
- @value = args[:value] if args.key?(:value)
21901
- end
21902
- end
21903
-
21904
- # This is deprecated and has no effect. Do not use.
21905
- class LogConfigDataAccessOptions
21906
- include Google::Apis::Core::Hashable
21907
-
21908
- # This is deprecated and has no effect. Do not use.
21909
- # Corresponds to the JSON property `logMode`
21910
- # @return [String]
21911
- attr_accessor :log_mode
21912
-
21913
- def initialize(**args)
21914
- update!(**args)
21915
- end
21916
-
21917
- # Update properties of this object
21918
- def update!(**args)
21919
- @log_mode = args[:log_mode] if args.key?(:log_mode)
21920
- end
21921
- end
21922
-
21923
21981
  # Represents a machine image resource. A machine image is a Compute Engine
21924
21982
  # resource that stores all the configuration, metadata, permissions, and data
21925
21983
  # from one or more disks required to create a Virtual machine (VM) instance. For
@@ -22204,6 +22262,11 @@ module Google
22204
22262
  # @return [Array<Google::Apis::ComputeV1::MachineType::Accelerator>]
22205
22263
  attr_accessor :accelerators
22206
22264
 
22265
+ # [Output Only] The architecture of the machine type.
22266
+ # Corresponds to the JSON property `architecture`
22267
+ # @return [String]
22268
+ attr_accessor :architecture
22269
+
22207
22270
  # [Output Only] Creation timestamp in RFC3339 text format.
22208
22271
  # Corresponds to the JSON property `creationTimestamp`
22209
22272
  # @return [String]
@@ -22293,6 +22356,7 @@ module Google
22293
22356
  # Update properties of this object
22294
22357
  def update!(**args)
22295
22358
  @accelerators = args[:accelerators] if args.key?(:accelerators)
22359
+ @architecture = args[:architecture] if args.key?(:architecture)
22296
22360
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
22297
22361
  @deprecated = args[:deprecated] if args.key?(:deprecated)
22298
22362
  @description = args[:description] if args.key?(:description)
@@ -22759,6 +22823,12 @@ module Google
22759
22823
  # @return [Google::Apis::ComputeV1::PreservedState]
22760
22824
  attr_accessor :preserved_state_from_policy
22761
22825
 
22826
+ # [Output Only] Instance properties selected for this instance resulting from
22827
+ # InstanceFlexibilityPolicy.
22828
+ # Corresponds to the JSON property `propertiesFromFlexibilityPolicy`
22829
+ # @return [Google::Apis::ComputeV1::ManagedInstancePropertiesFromFlexibilityPolicy]
22830
+ attr_accessor :properties_from_flexibility_policy
22831
+
22762
22832
  # [Output Only] Intended version of this instance.
22763
22833
  # Corresponds to the JSON property `version`
22764
22834
  # @return [Google::Apis::ComputeV1::ManagedInstanceVersion]
@@ -22779,6 +22849,7 @@ module Google
22779
22849
  @name = args[:name] if args.key?(:name)
22780
22850
  @preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config)
22781
22851
  @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy)
22852
+ @properties_from_flexibility_policy = args[:properties_from_flexibility_policy] if args.key?(:properties_from_flexibility_policy)
22782
22853
  @version = args[:version] if args.key?(:version)
22783
22854
  end
22784
22855
  end
@@ -22938,6 +23009,25 @@ module Google
22938
23009
  end
22939
23010
  end
22940
23011
 
23012
+ #
23013
+ class ManagedInstancePropertiesFromFlexibilityPolicy
23014
+ include Google::Apis::Core::Hashable
23015
+
23016
+ # The machine type to be used for this instance.
23017
+ # Corresponds to the JSON property `machineType`
23018
+ # @return [String]
23019
+ attr_accessor :machine_type
23020
+
23021
+ def initialize(**args)
23022
+ update!(**args)
23023
+ end
23024
+
23025
+ # Update properties of this object
23026
+ def update!(**args)
23027
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
23028
+ end
23029
+ end
23030
+
22941
23031
  #
22942
23032
  class ManagedInstanceVersion
22943
23033
  include Google::Apis::Core::Hashable
@@ -24189,6 +24279,12 @@ module Google
24189
24279
  # @return [Hash<String,String>]
24190
24280
  attr_accessor :annotations
24191
24281
 
24282
+ # Represents the port number to which PSC consumer sends packets. Only valid for
24283
+ # network endpoint groups created with GCE_VM_IP_PORTMAP endpoint type.
24284
+ # Corresponds to the JSON property `clientDestinationPort`
24285
+ # @return [Fixnum]
24286
+ attr_accessor :client_destination_port
24287
+
24192
24288
  # Optional fully qualified domain name of network endpoint. This can only be
24193
24289
  # specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT.
24194
24290
  # Corresponds to the JSON property `fqdn`
@@ -24219,6 +24315,11 @@ module Google
24219
24315
  # @return [String]
24220
24316
  attr_accessor :ip_address
24221
24317
 
24318
+ # Optional IPv6 address of network endpoint.
24319
+ # Corresponds to the JSON property `ipv6Address`
24320
+ # @return [String]
24321
+ attr_accessor :ipv6_address
24322
+
24222
24323
  # Optional port number of network endpoint. If not specified, the defaultPort
24223
24324
  # for the network endpoint group will be used. This field can not be set for
24224
24325
  # network endpoints of type GCE_VM_IP.
@@ -24233,9 +24334,11 @@ module Google
24233
24334
  # Update properties of this object
24234
24335
  def update!(**args)
24235
24336
  @annotations = args[:annotations] if args.key?(:annotations)
24337
+ @client_destination_port = args[:client_destination_port] if args.key?(:client_destination_port)
24236
24338
  @fqdn = args[:fqdn] if args.key?(:fqdn)
24237
24339
  @instance = args[:instance] if args.key?(:instance)
24238
24340
  @ip_address = args[:ip_address] if args.key?(:ip_address)
24341
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
24239
24342
  @port = args[:port] if args.key?(:port)
24240
24343
  end
24241
24344
  end
@@ -24773,6 +24876,12 @@ module Google
24773
24876
  # @return [String]
24774
24877
  attr_accessor :consumer_psc_address
24775
24878
 
24879
+ # The psc producer port is used to connect PSC NEG with specific port on the PSC
24880
+ # Producer side; should only be used for the PRIVATE_SERVICE_CONNECT NEG type
24881
+ # Corresponds to the JSON property `producerPort`
24882
+ # @return [Fixnum]
24883
+ attr_accessor :producer_port
24884
+
24776
24885
  # [Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.
24777
24886
  # Corresponds to the JSON property `pscConnectionId`
24778
24887
  # @return [Fixnum]
@@ -24790,6 +24899,7 @@ module Google
24790
24899
  # Update properties of this object
24791
24900
  def update!(**args)
24792
24901
  @consumer_psc_address = args[:consumer_psc_address] if args.key?(:consumer_psc_address)
24902
+ @producer_port = args[:producer_port] if args.key?(:producer_port)
24793
24903
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
24794
24904
  @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
24795
24905
  end
@@ -25494,6 +25604,27 @@ module Google
25494
25604
  class NetworkRoutingConfig
25495
25605
  include Google::Apis::Core::Hashable
25496
25606
 
25607
+ # Enable comparison of Multi-Exit Discriminators (MED) across routes with
25608
+ # different neighbor ASNs when using the STANDARD BGP best path selection
25609
+ # algorithm.
25610
+ # Corresponds to the JSON property `bgpAlwaysCompareMed`
25611
+ # @return [Boolean]
25612
+ attr_accessor :bgp_always_compare_med
25613
+ alias_method :bgp_always_compare_med?, :bgp_always_compare_med
25614
+
25615
+ # The BGP best path selection algorithm to be employed within this network for
25616
+ # dynamic routes learned by Cloud Routers. Can be LEGACY (default) or STANDARD.
25617
+ # Corresponds to the JSON property `bgpBestPathSelectionMode`
25618
+ # @return [String]
25619
+ attr_accessor :bgp_best_path_selection_mode
25620
+
25621
+ # Allows to define a preferred approach for handling inter-region cost in the
25622
+ # selection process when using the STANDARD BGP best path selection algorithm.
25623
+ # Can be DEFAULT or ADD_COST_TO_MED.
25624
+ # Corresponds to the JSON property `bgpInterRegionCost`
25625
+ # @return [String]
25626
+ attr_accessor :bgp_inter_region_cost
25627
+
25497
25628
  # The network-wide routing mode to use. If set to REGIONAL, this network's Cloud
25498
25629
  # Routers will only advertise routes with subnets of this network in the same
25499
25630
  # region as the router. If set to GLOBAL, this network's Cloud Routers will
@@ -25508,6 +25639,9 @@ module Google
25508
25639
 
25509
25640
  # Update properties of this object
25510
25641
  def update!(**args)
25642
+ @bgp_always_compare_med = args[:bgp_always_compare_med] if args.key?(:bgp_always_compare_med)
25643
+ @bgp_best_path_selection_mode = args[:bgp_best_path_selection_mode] if args.key?(:bgp_best_path_selection_mode)
25644
+ @bgp_inter_region_cost = args[:bgp_inter_region_cost] if args.key?(:bgp_inter_region_cost)
25511
25645
  @routing_mode = args[:routing_mode] if args.key?(:routing_mode)
25512
25646
  end
25513
25647
  end
@@ -25563,7 +25697,10 @@ module Google
25563
25697
  class NetworksGetEffectiveFirewallsResponse
25564
25698
  include Google::Apis::Core::Hashable
25565
25699
 
25566
- # Effective firewalls from firewall policy.
25700
+ # [Output Only] Effective firewalls from firewall policy. It returns Global
25701
+ # Network Firewall Policies and Hierarchical Firewall Policies. Use
25702
+ # regionNetworkFirewallPolicies.getEffectiveFirewalls to get Regional Network
25703
+ # Firewall Policies as well.
25567
25704
  # Corresponds to the JSON property `firewallPolicys`
25568
25705
  # @return [Array<Google::Apis::ComputeV1::NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
25569
25706
  attr_accessor :firewall_policys
@@ -25599,7 +25736,13 @@ module Google
25599
25736
  # @return [String]
25600
25737
  attr_accessor :name
25601
25738
 
25602
- # The rules that apply to the network.
25739
+ # [Output only] Priority of firewall policy association. Not applicable for type=
25740
+ # HIERARCHY.
25741
+ # Corresponds to the JSON property `priority`
25742
+ # @return [Fixnum]
25743
+ attr_accessor :priority
25744
+
25745
+ # [Output Only] The rules that apply to the network.
25603
25746
  # Corresponds to the JSON property `rules`
25604
25747
  # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
25605
25748
  attr_accessor :rules
@@ -25622,6 +25765,7 @@ module Google
25622
25765
  def update!(**args)
25623
25766
  @display_name = args[:display_name] if args.key?(:display_name)
25624
25767
  @name = args[:name] if args.key?(:name)
25768
+ @priority = args[:priority] if args.key?(:priority)
25625
25769
  @rules = args[:rules] if args.key?(:rules)
25626
25770
  @short_name = args[:short_name] if args.key?(:short_name)
25627
25771
  @type = args[:type] if args.key?(:type)
@@ -27827,8 +27971,8 @@ module Google
27827
27971
  attr_accessor :target_id
27828
27972
 
27829
27973
  # [Output Only] The URL of the resource that the operation modifies. For
27830
- # operations related to creating a snapshot, this points to the persistent disk
27831
- # that the snapshot was created from.
27974
+ # operations related to creating a snapshot, this points to the disk that the
27975
+ # snapshot was created from.
27832
27976
  # Corresponds to the JSON property `targetLink`
27833
27977
  # @return [String]
27834
27978
  attr_accessor :target_link
@@ -29455,11 +29599,6 @@ module Google
29455
29599
  # @return [String]
29456
29600
  attr_accessor :etag
29457
29601
 
29458
- # This is deprecated and has no effect. Do not use.
29459
- # Corresponds to the JSON property `rules`
29460
- # @return [Array<Google::Apis::ComputeV1::Rule>]
29461
- attr_accessor :rules
29462
-
29463
29602
  # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
29464
29603
  # Requests that specify an invalid value are rejected. Any operation that
29465
29604
  # affects conditional role bindings must specify version `3`. This requirement
@@ -29488,7 +29627,6 @@ module Google
29488
29627
  @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
29489
29628
  @bindings = args[:bindings] if args.key?(:bindings)
29490
29629
  @etag = args[:etag] if args.key?(:etag)
29491
- @rules = args[:rules] if args.key?(:rules)
29492
29630
  @version = args[:version] if args.key?(:version)
29493
29631
  end
29494
29632
  end
@@ -32341,7 +32479,10 @@ module Google
32341
32479
  class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse
32342
32480
  include Google::Apis::Core::Hashable
32343
32481
 
32344
- # Effective firewalls from firewall policy.
32482
+ # [Output only] Effective firewalls from firewall policy. It applies to Regional
32483
+ # Network Firewall Policies in the specified region, Global Network Firewall
32484
+ # Policies and Hierachial Firewall Policies which are associated with the
32485
+ # network.
32345
32486
  # Corresponds to the JSON property `firewallPolicys`
32346
32487
  # @return [Array<Google::Apis::ComputeV1::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
32347
32488
  attr_accessor :firewall_policys
@@ -32376,7 +32517,7 @@ module Google
32376
32517
  # @return [String]
32377
32518
  attr_accessor :name
32378
32519
 
32379
- # The rules that apply to the network.
32520
+ # [Output only] The rules that apply to the network.
32380
32521
  # Corresponds to the JSON property `rules`
32381
32522
  # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
32382
32523
  attr_accessor :rules
@@ -32528,9 +32669,9 @@ module Google
32528
32669
  # and traffic management table. This resource defines mappings from hostnames
32529
32670
  # and URL paths to either a backend service or a backend bucket. To use the
32530
32671
  # global urlMaps resource, the backend service must have a loadBalancingScheme
32531
- # of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource,
32532
- # the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For
32533
- # more information, read URL Map Concepts.
32672
+ # of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the
32673
+ # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
32674
+ # INTERNAL_MANAGED. For more information, read URL Map Concepts.
32534
32675
  # Corresponds to the JSON property `resource`
32535
32676
  # @return [Google::Apis::ComputeV1::UrlMap]
32536
32677
  attr_accessor :resource
@@ -32665,7 +32806,10 @@ module Google
32665
32806
  attr_accessor :specific_reservation_required
32666
32807
  alias_method :specific_reservation_required?, :specific_reservation_required
32667
32808
 
32668
- # [Output Only] The status of the reservation.
32809
+ # [Output Only] The status of the reservation. - CREATING: Reservation resources
32810
+ # are being allocated. - READY: Reservation resources have been allocated, and
32811
+ # the reservation is ready for use. - DELETING: Reservation deletion is in
32812
+ # progress. - UPDATING: Reservation update is in progress.
32669
32813
  # Corresponds to the JSON property `status`
32670
32814
  # @return [String]
32671
32815
  attr_accessor :status
@@ -34029,6 +34173,11 @@ module Google
34029
34173
  # @return [String]
34030
34174
  attr_accessor :physical_host
34031
34175
 
34176
+ #
34177
+ # Corresponds to the JSON property `scheduling`
34178
+ # @return [Google::Apis::ComputeV1::ResourceStatusScheduling]
34179
+ attr_accessor :scheduling
34180
+
34032
34181
  # Upcoming Maintenance notification information.
34033
34182
  # Corresponds to the JSON property `upcomingMaintenance`
34034
34183
  # @return [Google::Apis::ComputeV1::UpcomingMaintenance]
@@ -34041,10 +34190,32 @@ module Google
34041
34190
  # Update properties of this object
34042
34191
  def update!(**args)
34043
34192
  @physical_host = args[:physical_host] if args.key?(:physical_host)
34193
+ @scheduling = args[:scheduling] if args.key?(:scheduling)
34044
34194
  @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
34045
34195
  end
34046
34196
  end
34047
34197
 
34198
+ #
34199
+ class ResourceStatusScheduling
34200
+ include Google::Apis::Core::Hashable
34201
+
34202
+ # Specifies the availability domain to place the instance in. The value must be
34203
+ # a number between 1 and the number of availability domains specified in the
34204
+ # spread placement policy attached to the instance.
34205
+ # Corresponds to the JSON property `availabilityDomain`
34206
+ # @return [Fixnum]
34207
+ attr_accessor :availability_domain
34208
+
34209
+ def initialize(**args)
34210
+ update!(**args)
34211
+ end
34212
+
34213
+ # Update properties of this object
34214
+ def update!(**args)
34215
+ @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
34216
+ end
34217
+ end
34218
+
34048
34219
  # Represents a Route resource. A route defines a path from VM instances in the
34049
34220
  # VPC network to a specific destination. This destination can be inside or
34050
34221
  # outside the VPC network. For more information, read the Routes overview.
@@ -34135,6 +34306,13 @@ module Google
34135
34306
  # @return [String]
34136
34307
  attr_accessor :next_hop_instance
34137
34308
 
34309
+ # [Output only] Internal fixed region-to-region cost that Google Cloud
34310
+ # calculates based on factors such as network performance, distance, and
34311
+ # available bandwidth between regions.
34312
+ # Corresponds to the JSON property `nextHopInterRegionCost`
34313
+ # @return [Fixnum]
34314
+ attr_accessor :next_hop_inter_region_cost
34315
+
34138
34316
  # The network IP address of an instance that should handle matching packets.
34139
34317
  # Both IPv6 address and IPv4 addresses are supported. Must specify an IPv4
34140
34318
  # address in dot-decimal notation (e.g. 192.0.2.99) or an IPv6 address in RFC
@@ -34145,11 +34323,23 @@ module Google
34145
34323
  # @return [String]
34146
34324
  attr_accessor :next_hop_ip
34147
34325
 
34326
+ # [Output Only] Multi-Exit Discriminator, a BGP route metric that indicates the
34327
+ # desirability of a particular route in a network.
34328
+ # Corresponds to the JSON property `nextHopMed`
34329
+ # @return [Fixnum]
34330
+ attr_accessor :next_hop_med
34331
+
34148
34332
  # The URL of the local network if it should handle matching packets.
34149
34333
  # Corresponds to the JSON property `nextHopNetwork`
34150
34334
  # @return [String]
34151
34335
  attr_accessor :next_hop_network
34152
34336
 
34337
+ # [Output Only] Indicates the origin of the route. Can be IGP (Interior Gateway
34338
+ # Protocol), EGP (Exterior Gateway Protocol), or INCOMPLETE.
34339
+ # Corresponds to the JSON property `nextHopOrigin`
34340
+ # @return [String]
34341
+ attr_accessor :next_hop_origin
34342
+
34153
34343
  # [Output Only] The network peering name that should handle matching packets,
34154
34344
  # which should conform to RFC1035.
34155
34345
  # Corresponds to the JSON property `nextHopPeering`
@@ -34218,8 +34408,11 @@ module Google
34218
34408
  @next_hop_hub = args[:next_hop_hub] if args.key?(:next_hop_hub)
34219
34409
  @next_hop_ilb = args[:next_hop_ilb] if args.key?(:next_hop_ilb)
34220
34410
  @next_hop_instance = args[:next_hop_instance] if args.key?(:next_hop_instance)
34411
+ @next_hop_inter_region_cost = args[:next_hop_inter_region_cost] if args.key?(:next_hop_inter_region_cost)
34221
34412
  @next_hop_ip = args[:next_hop_ip] if args.key?(:next_hop_ip)
34413
+ @next_hop_med = args[:next_hop_med] if args.key?(:next_hop_med)
34222
34414
  @next_hop_network = args[:next_hop_network] if args.key?(:next_hop_network)
34415
+ @next_hop_origin = args[:next_hop_origin] if args.key?(:next_hop_origin)
34223
34416
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
34224
34417
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
34225
34418
  @priority = args[:priority] if args.key?(:priority)
@@ -36077,61 +36270,6 @@ module Google
36077
36270
  end
36078
36271
  end
36079
36272
 
36080
- # This is deprecated and has no effect. Do not use.
36081
- class Rule
36082
- include Google::Apis::Core::Hashable
36083
-
36084
- # This is deprecated and has no effect. Do not use.
36085
- # Corresponds to the JSON property `action`
36086
- # @return [String]
36087
- attr_accessor :action
36088
-
36089
- # This is deprecated and has no effect. Do not use.
36090
- # Corresponds to the JSON property `conditions`
36091
- # @return [Array<Google::Apis::ComputeV1::Condition>]
36092
- attr_accessor :conditions
36093
-
36094
- # This is deprecated and has no effect. Do not use.
36095
- # Corresponds to the JSON property `description`
36096
- # @return [String]
36097
- attr_accessor :description
36098
-
36099
- # This is deprecated and has no effect. Do not use.
36100
- # Corresponds to the JSON property `ins`
36101
- # @return [Array<String>]
36102
- attr_accessor :ins
36103
-
36104
- # This is deprecated and has no effect. Do not use.
36105
- # Corresponds to the JSON property `logConfigs`
36106
- # @return [Array<Google::Apis::ComputeV1::LogConfig>]
36107
- attr_accessor :log_configs
36108
-
36109
- # This is deprecated and has no effect. Do not use.
36110
- # Corresponds to the JSON property `notIns`
36111
- # @return [Array<String>]
36112
- attr_accessor :not_ins
36113
-
36114
- # This is deprecated and has no effect. Do not use.
36115
- # Corresponds to the JSON property `permissions`
36116
- # @return [Array<String>]
36117
- attr_accessor :permissions
36118
-
36119
- def initialize(**args)
36120
- update!(**args)
36121
- end
36122
-
36123
- # Update properties of this object
36124
- def update!(**args)
36125
- @action = args[:action] if args.key?(:action)
36126
- @conditions = args[:conditions] if args.key?(:conditions)
36127
- @description = args[:description] if args.key?(:description)
36128
- @ins = args[:ins] if args.key?(:ins)
36129
- @log_configs = args[:log_configs] if args.key?(:log_configs)
36130
- @not_ins = args[:not_ins] if args.key?(:not_ins)
36131
- @permissions = args[:permissions] if args.key?(:permissions)
36132
- end
36133
- end
36134
-
36135
36273
  #
36136
36274
  class SslHealthCheck
36137
36275
  include Google::Apis::Core::Hashable
@@ -36425,6 +36563,13 @@ module Google
36425
36563
  attr_accessor :automatic_restart
36426
36564
  alias_method :automatic_restart?, :automatic_restart
36427
36565
 
36566
+ # Specifies the availability domain to place the instance in. The value must be
36567
+ # a number between 1 and the number of availability domains specified in the
36568
+ # spread placement policy attached to the instance.
36569
+ # Corresponds to the JSON property `availabilityDomain`
36570
+ # @return [Fixnum]
36571
+ attr_accessor :availability_domain
36572
+
36428
36573
  # Specifies the termination action for the instance.
36429
36574
  # Corresponds to the JSON property `instanceTerminationAction`
36430
36575
  # @return [String]
@@ -36505,6 +36650,7 @@ module Google
36505
36650
  # Update properties of this object
36506
36651
  def update!(**args)
36507
36652
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
36653
+ @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
36508
36654
  @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
36509
36655
  @local_ssd_recovery_timeout = args[:local_ssd_recovery_timeout] if args.key?(:local_ssd_recovery_timeout)
36510
36656
  @location_hint = args[:location_hint] if args.key?(:location_hint)
@@ -38412,6 +38558,19 @@ module Google
38412
38558
  # @return [String]
38413
38559
  attr_accessor :producer_forwarding_rule
38414
38560
 
38561
+ # The number of consumer spokes that connected Private Service Connect endpoints
38562
+ # can be propagated to through Network Connectivity Center. This limit lets the
38563
+ # service producer limit how many propagated Private Service Connect connections
38564
+ # can be established to this service attachment from a single consumer. If the
38565
+ # connection preference of the service attachment is ACCEPT_MANUAL, the limit
38566
+ # applies to each project or network that is listed in the consumer accept list.
38567
+ # If the connection preference of the service attachment is ACCEPT_AUTOMATIC,
38568
+ # the limit applies to each project that contains a connected endpoint. If
38569
+ # unspecified, the default propagated connection limit is 250.
38570
+ # Corresponds to the JSON property `propagatedConnectionLimit`
38571
+ # @return [Fixnum]
38572
+ attr_accessor :propagated_connection_limit
38573
+
38415
38574
  # [Output Only] An 128-bit global unique ID of the PSC service attachment.
38416
38575
  # Corresponds to the JSON property `pscServiceAttachmentId`
38417
38576
  # @return [Google::Apis::ComputeV1::Uint128]
@@ -38469,6 +38628,7 @@ module Google
38469
38628
  @name = args[:name] if args.key?(:name)
38470
38629
  @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
38471
38630
  @producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
38631
+ @propagated_connection_limit = args[:propagated_connection_limit] if args.key?(:propagated_connection_limit)
38472
38632
  @psc_service_attachment_id = args[:psc_service_attachment_id] if args.key?(:psc_service_attachment_id)
38473
38633
  @reconcile_connections = args[:reconcile_connections] if args.key?(:reconcile_connections)
38474
38634
  @region = args[:region] if args.key?(:region)
@@ -38614,6 +38774,12 @@ module Google
38614
38774
  # @return [String]
38615
38775
  attr_accessor :endpoint
38616
38776
 
38777
+ # The number of consumer Network Connectivity Center spokes that the connected
38778
+ # Private Service Connect endpoint has propagated to.
38779
+ # Corresponds to the JSON property `propagatedConnectionCount`
38780
+ # @return [Fixnum]
38781
+ attr_accessor :propagated_connection_count
38782
+
38617
38783
  # The PSC connection id of the connected endpoint.
38618
38784
  # Corresponds to the JSON property `pscConnectionId`
38619
38785
  # @return [Fixnum]
@@ -38632,6 +38798,7 @@ module Google
38632
38798
  def update!(**args)
38633
38799
  @consumer_network = args[:consumer_network] if args.key?(:consumer_network)
38634
38800
  @endpoint = args[:endpoint] if args.key?(:endpoint)
38801
+ @propagated_connection_count = args[:propagated_connection_count] if args.key?(:propagated_connection_count)
38635
38802
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
38636
38803
  @status = args[:status] if args.key?(:status)
38637
38804
  end
@@ -42281,8 +42448,7 @@ module Google
42281
42448
  # @return [Fixnum]
42282
42449
  attr_accessor :id
42283
42450
 
42284
- # [Output Only] The internal IPv6 address range that is assigned to this
42285
- # subnetwork.
42451
+ # The internal IPv6 address range that is owned by this subnetwork.
42286
42452
  # Corresponds to the JSON property `internalIpv6Prefix`
42287
42453
  # @return [String]
42288
42454
  attr_accessor :internal_ipv6_prefix
@@ -42352,7 +42518,7 @@ module Google
42352
42518
  attr_accessor :private_ipv6_google_access
42353
42519
 
42354
42520
  # The purpose of the resource. This field can be either PRIVATE,
42355
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or
42521
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, or PRIVATE_SERVICE_CONNECT.
42356
42522
  # PRIVATE is the default purpose for user-created subnets or subnets that are
42357
42523
  # automatically created in auto mode networks. Subnets with purpose set to
42358
42524
  # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks
@@ -43830,10 +43996,11 @@ module Google
43830
43996
  attr_accessor :authorization_policy
43831
43997
 
43832
43998
  # URL of a certificate map that identifies a certificate map associated with the
43833
- # given target proxy. This field can only be set for global target proxies. If
43834
- # set, sslCertificates will be ignored. Accepted format is //certificatemanager.
43835
- # googleapis.com/projects/`project `/locations/`location`/certificateMaps/`
43836
- # resourceName`.
43999
+ # given target proxy. This field can only be set for Global external Application
44000
+ # Load Balancer or Classic Application Load Balancer. For other products use
44001
+ # Certificate Manager Certificates instead. If set, sslCertificates will be
44002
+ # ignored. Accepted format is //certificatemanager.googleapis.com/projects/`
44003
+ # project `/locations/`location`/certificateMaps/`resourceName`.
43837
44004
  # Corresponds to the JSON property `certificateMap`
43838
44005
  # @return [String]
43839
44006
  attr_accessor :certificate_map
@@ -43941,9 +44108,18 @@ module Google
43941
44108
 
43942
44109
  # URLs to SslCertificate resources that are used to authenticate connections
43943
44110
  # between users and the load balancer. At least one SSL certificate must be
43944
- # specified. Currently, you may specify up to 15 SSL certificates.
43945
- # sslCertificates do not apply when the load balancing scheme is set to
43946
- # INTERNAL_SELF_MANAGED.
44111
+ # specified. SslCertificates do not apply when the load balancing scheme is set
44112
+ # to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource
44113
+ # or Certificate Manager Certificate resource. Mixing Classic Certificates and
44114
+ # Certificate Manager Certificates is not allowed. Certificate Manager
44115
+ # Certificates must include the certificatemanager API. Certificate Manager
44116
+ # Certificates are not supported by Global external Application Load Balancer or
44117
+ # Classic Application Load Balancer, use certificate_map instead. Currently, you
44118
+ # may specify up to 15 Classic SSL Certificates. Certificate Manager
44119
+ # Certificates accepted formats are: - //certificatemanager.googleapis.com/
44120
+ # projects/`project`/locations/` location`/certificates/`resourceName`. - https:/
44121
+ # /certificatemanager.googleapis.com/v1alpha1/projects/`project `/locations/`
44122
+ # location`/certificates/`resourceName`.
43947
44123
  # Corresponds to the JSON property `sslCertificates`
43948
44124
  # @return [Array<String>]
43949
44125
  attr_accessor :ssl_certificates
@@ -46692,9 +46868,9 @@ module Google
46692
46868
  # and traffic management table. This resource defines mappings from hostnames
46693
46869
  # and URL paths to either a backend service or a backend bucket. To use the
46694
46870
  # global urlMaps resource, the backend service must have a loadBalancingScheme
46695
- # of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource,
46696
- # the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For
46697
- # more information, read URL Map Concepts.
46871
+ # of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the
46872
+ # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
46873
+ # INTERNAL_MANAGED. For more information, read URL Map Concepts.
46698
46874
  class UrlMap
46699
46875
  include Google::Apis::Core::Hashable
46700
46876
 
@@ -46727,8 +46903,9 @@ module Google
46727
46903
  # directed if none of the hostRules match. If defaultRouteAction is also
46728
46904
  # specified, advanced routing actions, such as URL rewrites, take effect before
46729
46905
  # sending the request to the backend. However, if defaultService is specified,
46730
- # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
46731
- # routeAction specifies any weightedBackendServices, service must not be
46906
+ # defaultRouteAction cannot contain any defaultRouteAction.
46907
+ # weightedBackendServices. Conversely, if defaultRouteAction specifies any
46908
+ # defaultRouteAction.weightedBackendServices, defaultService must not be
46732
46909
  # specified. If defaultService is specified, then set either defaultUrlRedirect ,
46733
46910
  # or defaultRouteAction.weightedBackendService Don't set both. defaultService
46734
46911
  # has no effect when the URL map is bound to a target gRPC proxy that has the
@@ -47362,9 +47539,9 @@ module Google
47362
47539
  # and traffic management table. This resource defines mappings from hostnames
47363
47540
  # and URL paths to either a backend service or a backend bucket. To use the
47364
47541
  # global urlMaps resource, the backend service must have a loadBalancingScheme
47365
- # of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource,
47366
- # the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For
47367
- # more information, read URL Map Concepts.
47542
+ # of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the
47543
+ # regionUrlMaps resource, the backend service must have a loadBalancingScheme of
47544
+ # INTERNAL_MANAGED. For more information, read URL Map Concepts.
47368
47545
  # Corresponds to the JSON property `resource`
47369
47546
  # @return [Google::Apis::ComputeV1::UrlMap]
47370
47547
  attr_accessor :resource
@@ -47480,7 +47657,7 @@ module Google
47480
47657
  attr_accessor :network
47481
47658
 
47482
47659
  # The purpose of the resource. This field can be either PRIVATE,
47483
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or
47660
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, or PRIVATE_SERVICE_CONNECT.
47484
47661
  # PRIVATE is the default purpose for user-created subnets or subnets that are
47485
47662
  # automatically created in auto mode networks. Subnets with purpose set to
47486
47663
  # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks
@@ -48060,8 +48237,9 @@ module Google
48060
48237
  attr_accessor :self_link
48061
48238
 
48062
48239
  # The stack type for this VPN gateway to identify the IP protocols that are
48063
- # enabled. Possible values are: IPV4_ONLY, IPV4_IPV6. If not specified,
48064
- # IPV4_ONLY will be used.
48240
+ # enabled. Possible values are: IPV4_ONLY, IPV4_IPV6, IPV6_ONLY. If not
48241
+ # specified, IPV4_ONLY is used if the gateway IP version is IPV4, or IPV4_IPV6
48242
+ # if the gateway IP version is IPV6.
48065
48243
  # Corresponds to the JSON property `stackType`
48066
48244
  # @return [String]
48067
48245
  attr_accessor :stack_type
@@ -48677,7 +48855,8 @@ module Google
48677
48855
 
48678
48856
  # Local traffic selector to use when establishing the VPN tunnel with the peer
48679
48857
  # VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
48680
- # 0.0/16. The ranges must be disjoint. Only IPv4 is supported.
48858
+ # 0.0/16. The ranges must be disjoint. Only IPv4 is supported for Classic VPN
48859
+ # tunnels. This field is output only for HA VPN tunnels.
48681
48860
  # Corresponds to the JSON property `localTrafficSelector`
48682
48861
  # @return [Array<String>]
48683
48862
  attr_accessor :local_traffic_selector
@@ -48717,7 +48896,8 @@ module Google
48717
48896
  # @return [String]
48718
48897
  attr_accessor :peer_gcp_gateway
48719
48898
 
48720
- # IP address of the peer VPN gateway. Only IPv4 is supported.
48899
+ # IP address of the peer VPN gateway. Only IPv4 is supported. This field can be
48900
+ # set only for Classic VPN tunnels.
48721
48901
  # Corresponds to the JSON property `peerIp`
48722
48902
  # @return [String]
48723
48903
  attr_accessor :peer_ip
@@ -48731,7 +48911,8 @@ module Google
48731
48911
 
48732
48912
  # Remote traffic selectors to use when establishing the VPN tunnel with the peer
48733
48913
  # VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
48734
- # 0.0/16. The ranges should be disjoint. Only IPv4 is supported.
48914
+ # 0.0/16. The ranges should be disjoint. Only IPv4 is supported for Classic VPN
48915
+ # tunnels. This field is output only for HA VPN tunnels.
48735
48916
  # Corresponds to the JSON property `remoteTrafficSelector`
48736
48917
  # @return [Array<String>]
48737
48918
  attr_accessor :remote_traffic_selector
@@ -48780,7 +48961,8 @@ module Google
48780
48961
  attr_accessor :status
48781
48962
 
48782
48963
  # URL of the Target VPN gateway with which this VPN tunnel is associated.
48783
- # Provided by the client when the VPN tunnel is created.
48964
+ # Provided by the client when the VPN tunnel is created. This field can be set
48965
+ # only for Classic VPN tunnels.
48784
48966
  # Corresponds to the JSON property `targetVpnGateway`
48785
48967
  # @return [String]
48786
48968
  attr_accessor :target_vpn_gateway