google-apis-compute_beta 0.107.0 → 0.109.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -567,8 +567,7 @@ module Google
567
567
  # @return [String]
568
568
  attr_accessor :public_ptr_domain_name
569
569
 
570
- # [Output Only] The resource URL for the security policy associated with this
571
- # access config.
570
+ # The resource URL for the security policy associated with this access config.
572
571
  # Corresponds to the JSON property `securityPolicy`
573
572
  # @return [String]
574
573
  attr_accessor :security_policy
@@ -1870,7 +1869,9 @@ module Google
1870
1869
  # disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage
1871
1870
  # or disks.source is required. To create a disk with a snapshot that you created,
1872
1871
  # specify the snapshot name in the following format: global/snapshots/my-backup
1873
- # If the source snapshot is deleted later, this field will not be set.
1872
+ # If the source snapshot is deleted later, this field will not be set. Note: You
1873
+ # cannot create VMs in bulk using a snapshot as the source. Use an image instead
1874
+ # when you create VMs using the bulk insert method.
1874
1875
  # Corresponds to the JSON property `sourceSnapshot`
1875
1876
  # @return [String]
1876
1877
  attr_accessor :source_snapshot
@@ -3142,7 +3143,8 @@ module Google
3142
3143
  # CACHE_ALL_STATIC Automatically cache static content, including common image
3143
3144
  # formats, media (video and audio), and web assets (JavaScript and CSS).
3144
3145
  # Requests and responses that are marked as uncacheable, as well as dynamic
3145
- # content (including HTML), will not be cached.
3146
+ # content (including HTML), will not be cached. If no value is provided for
3147
+ # cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.
3146
3148
  # Corresponds to the JSON property `cacheMode`
3147
3149
  # @return [String]
3148
3150
  attr_accessor :cache_mode
@@ -3918,6 +3920,12 @@ module Google
3918
3920
  # @return [Fixnum]
3919
3921
  attr_accessor :timeout_sec
3920
3922
 
3923
+ # Configuration for Backend Authenticated TLS and mTLS. May only be specified
3924
+ # when the backend protocol is SSL, HTTPS or HTTP2.
3925
+ # Corresponds to the JSON property `tlsSettings`
3926
+ # @return [Google::Apis::ComputeBeta::BackendServiceTlsSettings]
3927
+ attr_accessor :tls_settings
3928
+
3921
3929
  # [Output Only] List of resources referencing given backend service.
3922
3930
  # Corresponds to the JSON property `usedBy`
3923
3931
  # @return [Array<Google::Apis::ComputeBeta::BackendServiceUsedBy>]
@@ -3975,6 +3983,7 @@ module Google
3975
3983
  @strong_session_affinity_cookie = args[:strong_session_affinity_cookie] if args.key?(:strong_session_affinity_cookie)
3976
3984
  @subsetting = args[:subsetting] if args.key?(:subsetting)
3977
3985
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
3986
+ @tls_settings = args[:tls_settings] if args.key?(:tls_settings)
3978
3987
  @used_by = args[:used_by] if args.key?(:used_by)
3979
3988
  end
3980
3989
  end
@@ -4130,7 +4139,8 @@ module Google
4130
4139
  # CACHE_ALL_STATIC Automatically cache static content, including common image
4131
4140
  # formats, media (video and audio), and web assets (JavaScript and CSS).
4132
4141
  # Requests and responses that are marked as uncacheable, as well as dynamic
4133
- # content (including HTML), will not be cached.
4142
+ # content (including HTML), will not be cached. If no value is provided for
4143
+ # cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.
4134
4144
  # Corresponds to the JSON property `cacheMode`
4135
4145
  # @return [String]
4136
4146
  attr_accessor :cache_mode
@@ -4960,6 +4970,80 @@ module Google
4960
4970
  end
4961
4971
  end
4962
4972
 
4973
+ #
4974
+ class BackendServiceTlsSettings
4975
+ include Google::Apis::Core::Hashable
4976
+
4977
+ # Reference to the BackendAuthenticationConfig resource from the networksecurity.
4978
+ # googleapis.com namespace. Can be used in authenticating TLS connections to the
4979
+ # backend, as specified by the authenticationMode field. Can only be specified
4980
+ # if authenticationMode is not NONE.
4981
+ # Corresponds to the JSON property `authenticationConfig`
4982
+ # @return [String]
4983
+ attr_accessor :authentication_config
4984
+
4985
+ # Server Name Indication - see RFC3546 section 3.1. If set, the load balancer
4986
+ # sends this string as the SNI hostname in the TLS connection to the backend,
4987
+ # and requires that this string match a Subject Alternative Name (SAN) in the
4988
+ # backend's server certificate. With a Regional Internet NEG backend, if the SNI
4989
+ # is specified here, the load balancer uses it regardless of whether the
4990
+ # Regional Internet NEG is specified with FQDN or IP address and port. When both
4991
+ # sni and subjectAltNames[] are specified, the load balancer matches the backend
4992
+ # certificate's SAN only to subjectAltNames[].
4993
+ # Corresponds to the JSON property `sni`
4994
+ # @return [String]
4995
+ attr_accessor :sni
4996
+
4997
+ # A list of Subject Alternative Names (SANs) that the Load Balancer verifies
4998
+ # during a TLS handshake with the backend. When the server presents its X.509
4999
+ # certificate to the Load Balancer, the Load Balancer inspects the certificate's
5000
+ # SAN field, and requires that at least one SAN match one of the subjectAltNames
5001
+ # in the list. This field is limited to 5 entries. When both sni and
5002
+ # subjectAltNames[] are specified, the load balancer matches the backend
5003
+ # certificate's SAN only to subjectAltNames[].
5004
+ # Corresponds to the JSON property `subjectAltNames`
5005
+ # @return [Array<Google::Apis::ComputeBeta::BackendServiceTlsSettingsSubjectAltName>]
5006
+ attr_accessor :subject_alt_names
5007
+
5008
+ def initialize(**args)
5009
+ update!(**args)
5010
+ end
5011
+
5012
+ # Update properties of this object
5013
+ def update!(**args)
5014
+ @authentication_config = args[:authentication_config] if args.key?(:authentication_config)
5015
+ @sni = args[:sni] if args.key?(:sni)
5016
+ @subject_alt_names = args[:subject_alt_names] if args.key?(:subject_alt_names)
5017
+ end
5018
+ end
5019
+
5020
+ # A Subject Alternative Name that the load balancer matches against the SAN
5021
+ # field in the TLS certificate provided by the backend, specified as either a
5022
+ # DNS name or a URI, in accordance with RFC 5280 4.2.1.6
5023
+ class BackendServiceTlsSettingsSubjectAltName
5024
+ include Google::Apis::Core::Hashable
5025
+
5026
+ # The SAN specified as a DNS Name.
5027
+ # Corresponds to the JSON property `dnsName`
5028
+ # @return [String]
5029
+ attr_accessor :dns_name
5030
+
5031
+ # The SAN specified as a URI.
5032
+ # Corresponds to the JSON property `uniformResourceIdentifier`
5033
+ # @return [String]
5034
+ attr_accessor :uniform_resource_identifier
5035
+
5036
+ def initialize(**args)
5037
+ update!(**args)
5038
+ end
5039
+
5040
+ # Update properties of this object
5041
+ def update!(**args)
5042
+ @dns_name = args[:dns_name] if args.key?(:dns_name)
5043
+ @uniform_resource_identifier = args[:uniform_resource_identifier] if args.key?(:uniform_resource_identifier)
5044
+ end
5045
+ end
5046
+
4963
5047
  #
4964
5048
  class BackendServiceUsedBy
4965
5049
  include Google::Apis::Core::Hashable
@@ -4981,6 +5065,25 @@ module Google
4981
5065
  end
4982
5066
  end
4983
5067
 
5068
+ #
5069
+ class BackendServicesGetEffectiveSecurityPoliciesResponse
5070
+ include Google::Apis::Core::Hashable
5071
+
5072
+ # Effective security policies for the backend service.
5073
+ # Corresponds to the JSON property `securityPolicies`
5074
+ # @return [Array<Google::Apis::ComputeBeta::SecurityPolicy>]
5075
+ attr_accessor :security_policies
5076
+
5077
+ def initialize(**args)
5078
+ update!(**args)
5079
+ end
5080
+
5081
+ # Update properties of this object
5082
+ def update!(**args)
5083
+ @security_policies = args[:security_policies] if args.key?(:security_policies)
5084
+ end
5085
+ end
5086
+
4984
5087
  #
4985
5088
  class BackendServicesScopedList
4986
5089
  include Google::Apis::Core::Hashable
@@ -8539,12 +8642,12 @@ module Google
8539
8642
  # @return [String]
8540
8643
  attr_accessor :domain
8541
8644
 
8542
- # Additional structured details about this error. Keys must match /a-z+/ but
8543
- # should ideally be lowerCamelCase. Also they must be limited to 64 characters
8544
- # in length. When identifying the current value of an exceeded limit, the units
8545
- # should be contained in the key, not the value. For example, rather than `"
8546
- # instanceLimit": "100/request"`, should be returned as, `"
8547
- # instanceLimitPerRequest": "100"`, if the client exceeds the number of
8645
+ # Additional structured details about this error. Keys must match a regular
8646
+ # expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be
8647
+ # limited to 64 characters in length. When identifying the current value of an
8648
+ # exceeded limit, the units should be contained in the key, not the value. For
8649
+ # example, rather than ``"instanceLimit": "100/request"``, should be returned as,
8650
+ # ``"instanceLimitPerRequest": "100"``, if the client exceeds the number of
8548
8651
  # instances that can be created in a single (batch) request.
8549
8652
  # Corresponds to the JSON property `metadatas`
8550
8653
  # @return [Hash<String,String>]
@@ -9513,6 +9616,97 @@ module Google
9513
9616
  end
9514
9617
  end
9515
9618
 
9619
+ #
9620
+ class FirewallPoliciesScopedList
9621
+ include Google::Apis::Core::Hashable
9622
+
9623
+ # A list of firewall policies contained in this scope.
9624
+ # Corresponds to the JSON property `firewallPolicies`
9625
+ # @return [Array<Google::Apis::ComputeBeta::FirewallPolicy>]
9626
+ attr_accessor :firewall_policies
9627
+
9628
+ # Informational warning which replaces the list of firewall policies when the
9629
+ # list is empty.
9630
+ # Corresponds to the JSON property `warning`
9631
+ # @return [Google::Apis::ComputeBeta::FirewallPoliciesScopedList::Warning]
9632
+ attr_accessor :warning
9633
+
9634
+ def initialize(**args)
9635
+ update!(**args)
9636
+ end
9637
+
9638
+ # Update properties of this object
9639
+ def update!(**args)
9640
+ @firewall_policies = args[:firewall_policies] if args.key?(:firewall_policies)
9641
+ @warning = args[:warning] if args.key?(:warning)
9642
+ end
9643
+
9644
+ # Informational warning which replaces the list of firewall policies when the
9645
+ # list is empty.
9646
+ class Warning
9647
+ include Google::Apis::Core::Hashable
9648
+
9649
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
9650
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
9651
+ # Corresponds to the JSON property `code`
9652
+ # @return [String]
9653
+ attr_accessor :code
9654
+
9655
+ # [Output Only] Metadata about this warning in key: value format. For example: "
9656
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
9657
+ # Corresponds to the JSON property `data`
9658
+ # @return [Array<Google::Apis::ComputeBeta::FirewallPoliciesScopedList::Warning::Datum>]
9659
+ attr_accessor :data
9660
+
9661
+ # [Output Only] A human-readable description of the warning code.
9662
+ # Corresponds to the JSON property `message`
9663
+ # @return [String]
9664
+ attr_accessor :message
9665
+
9666
+ def initialize(**args)
9667
+ update!(**args)
9668
+ end
9669
+
9670
+ # Update properties of this object
9671
+ def update!(**args)
9672
+ @code = args[:code] if args.key?(:code)
9673
+ @data = args[:data] if args.key?(:data)
9674
+ @message = args[:message] if args.key?(:message)
9675
+ end
9676
+
9677
+ #
9678
+ class Datum
9679
+ include Google::Apis::Core::Hashable
9680
+
9681
+ # [Output Only] A key that provides more detail on the warning being returned.
9682
+ # For example, for warnings where there are no results in a list request for a
9683
+ # particular zone, this key might be scope and the key value might be the zone
9684
+ # name. Other examples might be a key indicating a deprecated resource and a
9685
+ # suggested replacement, or a warning about invalid network settings (for
9686
+ # example, if an instance attempts to perform IP forwarding but is not enabled
9687
+ # for IP forwarding).
9688
+ # Corresponds to the JSON property `key`
9689
+ # @return [String]
9690
+ attr_accessor :key
9691
+
9692
+ # [Output Only] A warning data value corresponding to the key.
9693
+ # Corresponds to the JSON property `value`
9694
+ # @return [String]
9695
+ attr_accessor :value
9696
+
9697
+ def initialize(**args)
9698
+ update!(**args)
9699
+ end
9700
+
9701
+ # Update properties of this object
9702
+ def update!(**args)
9703
+ @key = args[:key] if args.key?(:key)
9704
+ @value = args[:value] if args.key?(:value)
9705
+ end
9706
+ end
9707
+ end
9708
+ end
9709
+
9516
9710
  # Represents a Firewall Policy resource.
9517
9711
  class FirewallPolicy
9518
9712
  include Google::Apis::Core::Hashable
@@ -11027,6 +11221,12 @@ module Google
11027
11221
  attr_accessor :auto_delete_auto_created_reservations
11028
11222
  alias_method :auto_delete_auto_created_reservations?, :auto_delete_auto_created_reservations
11029
11223
 
11224
+ # If not present, then FR will not deliver a new commitment or update an
11225
+ # existing commitment.
11226
+ # Corresponds to the JSON property `commitmentInfo`
11227
+ # @return [Google::Apis::ComputeBeta::FutureReservationCommitmentInfo]
11228
+ attr_accessor :commitment_info
11229
+
11030
11230
  # [Output Only] The creation timestamp for this future reservation in RFC3339
11031
11231
  # text format.
11032
11232
  # Corresponds to the JSON property `creationTimestamp`
@@ -11044,25 +11244,12 @@ module Google
11044
11244
  # @return [String]
11045
11245
  attr_accessor :description
11046
11246
 
11047
- # Indicates if this group of VMs have opportunistic maintenance enabled. This
11048
- # will be set on the FR by customers, and will be used for reservation and
11049
- # reservation block maintenance .
11050
- # Corresponds to the JSON property `enableOpportunisticMaintenance`
11051
- # @return [Boolean]
11052
- attr_accessor :enable_opportunistic_maintenance
11053
- alias_method :enable_opportunistic_maintenance?, :enable_opportunistic_maintenance
11054
-
11055
11247
  # [Output Only] A unique identifier for this future reservation. The server
11056
11248
  # defines this identifier.
11057
11249
  # Corresponds to the JSON property `id`
11058
11250
  # @return [Fixnum]
11059
11251
  attr_accessor :id
11060
11252
 
11061
- # Action to take during reservation termination.
11062
- # Corresponds to the JSON property `instanceTerminationAction`
11063
- # @return [String]
11064
- attr_accessor :instance_termination_action
11065
-
11066
11253
  # [Output Only] Type of the resource. Always compute#futureReservation for
11067
11254
  # future reservations.
11068
11255
  # Corresponds to the JSON property `kind`
@@ -11159,12 +11346,11 @@ module Google
11159
11346
  @auto_created_reservations_delete_time = args[:auto_created_reservations_delete_time] if args.key?(:auto_created_reservations_delete_time)
11160
11347
  @auto_created_reservations_duration = args[:auto_created_reservations_duration] if args.key?(:auto_created_reservations_duration)
11161
11348
  @auto_delete_auto_created_reservations = args[:auto_delete_auto_created_reservations] if args.key?(:auto_delete_auto_created_reservations)
11349
+ @commitment_info = args[:commitment_info] if args.key?(:commitment_info)
11162
11350
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
11163
11351
  @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
11164
11352
  @description = args[:description] if args.key?(:description)
11165
- @enable_opportunistic_maintenance = args[:enable_opportunistic_maintenance] if args.key?(:enable_opportunistic_maintenance)
11166
11353
  @id = args[:id] if args.key?(:id)
11167
- @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
11168
11354
  @kind = args[:kind] if args.key?(:kind)
11169
11355
  @name = args[:name] if args.key?(:name)
11170
11356
  @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
@@ -11182,6 +11368,40 @@ module Google
11182
11368
  end
11183
11369
  end
11184
11370
 
11371
+ #
11372
+ class FutureReservationCommitmentInfo
11373
+ include Google::Apis::Core::Hashable
11374
+
11375
+ # name of the commitment where capacity is being delivered to.
11376
+ # Corresponds to the JSON property `commitmentName`
11377
+ # @return [String]
11378
+ attr_accessor :commitment_name
11379
+
11380
+ # Indicates if a Commitment needs to be created as part of FR delivery. If this
11381
+ # field is not present, then no commitment needs to be created.
11382
+ # Corresponds to the JSON property `commitmentPlan`
11383
+ # @return [String]
11384
+ attr_accessor :commitment_plan
11385
+
11386
+ # Only applicable if FR is delivering to the same reservation. If set, all
11387
+ # parent commitments will be extended to match the end date of the plan for this
11388
+ # commitment.
11389
+ # Corresponds to the JSON property `previousCommitmentTerms`
11390
+ # @return [String]
11391
+ attr_accessor :previous_commitment_terms
11392
+
11393
+ def initialize(**args)
11394
+ update!(**args)
11395
+ end
11396
+
11397
+ # Update properties of this object
11398
+ def update!(**args)
11399
+ @commitment_name = args[:commitment_name] if args.key?(:commitment_name)
11400
+ @commitment_plan = args[:commitment_plan] if args.key?(:commitment_plan)
11401
+ @previous_commitment_terms = args[:previous_commitment_terms] if args.key?(:previous_commitment_terms)
11402
+ end
11403
+ end
11404
+
11185
11405
  #
11186
11406
  class FutureReservationSpecificSkuProperties
11187
11407
  include Google::Apis::Core::Hashable
@@ -12088,13 +12308,6 @@ module Google
12088
12308
  class GroupMaintenanceInfo
12089
12309
  include Google::Apis::Core::Hashable
12090
12310
 
12091
- # This setting enables or disables opportunistic maintenance. If enabled,
12092
- # maintenance is performed on unused reservations whenever possible.
12093
- # Corresponds to the JSON property `enableOpportunisticMaintenance`
12094
- # @return [Boolean]
12095
- attr_accessor :enable_opportunistic_maintenance
12096
- alias_method :enable_opportunistic_maintenance?, :enable_opportunistic_maintenance
12097
-
12098
12311
  # Progress for ongoing maintenance for this group of VMs/hosts. Describes number
12099
12312
  # of hosts in the block that have ongoing maintenance.
12100
12313
  # Corresponds to the JSON property `maintenanceOngoingCount`
@@ -12123,7 +12336,6 @@ module Google
12123
12336
 
12124
12337
  # Update properties of this object
12125
12338
  def update!(**args)
12126
- @enable_opportunistic_maintenance = args[:enable_opportunistic_maintenance] if args.key?(:enable_opportunistic_maintenance)
12127
12339
  @maintenance_ongoing_count = args[:maintenance_ongoing_count] if args.key?(:maintenance_ongoing_count)
12128
12340
  @maintenance_pending_count = args[:maintenance_pending_count] if args.key?(:maintenance_pending_count)
12129
12341
  @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
@@ -14404,12 +14616,10 @@ module Google
14404
14616
 
14405
14617
  # In response to a matching matchRule, the load balancer performs advanced
14406
14618
  # routing actions, such as URL rewrites and header transformations, before
14407
- # forwarding the request to the selected backend. If routeAction specifies any
14408
- # weightedBackendServices, service must not be set. Conversely if service is set,
14409
- # routeAction cannot contain any weightedBackendServices. Only one of
14410
- # urlRedirect, service or routeAction.weightedBackendService must be set. URL
14411
- # maps for classic Application Load Balancers only support the urlRewrite action
14412
- # within a route rule's routeAction.
14619
+ # forwarding the request to the selected backend. Only one of urlRedirect,
14620
+ # service or routeAction.weightedBackendService can be set. URL maps for classic
14621
+ # Application Load Balancers only support the urlRewrite action within a route
14622
+ # rule's routeAction.
14413
14623
  # Corresponds to the JSON property `routeAction`
14414
14624
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
14415
14625
  attr_accessor :route_action
@@ -14417,10 +14627,8 @@ module Google
14417
14627
  # The full or partial URL of the backend service resource to which traffic is
14418
14628
  # directed if this rule is matched. If routeAction is also specified, advanced
14419
14629
  # routing actions, such as URL rewrites, take effect before sending the request
14420
- # to the backend. However, if service is specified, routeAction cannot contain
14421
- # any weightedBackendServices. Conversely, if routeAction specifies any
14422
- # weightedBackendServices, service must not be specified. Only one of
14423
- # urlRedirect, service or routeAction.weightedBackendService must be set.
14630
+ # to the backend. Only one of urlRedirect, service or routeAction.
14631
+ # weightedBackendService can be set.
14424
14632
  # Corresponds to the JSON property `service`
14425
14633
  # @return [String]
14426
14634
  attr_accessor :service
@@ -20131,6 +20339,11 @@ module Google
20131
20339
  # @return [String]
20132
20340
  attr_accessor :name
20133
20341
 
20342
+ # [Output Only] The packet mirroring rules that apply to the instance.
20343
+ # Corresponds to the JSON property `packetMirroringRules`
20344
+ # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
20345
+ attr_accessor :packet_mirroring_rules
20346
+
20134
20347
  # [Output only] Priority of firewall policy association. Not applicable for type=
20135
20348
  # HIERARCHY.
20136
20349
  # Corresponds to the JSON property `priority`
@@ -20163,6 +20376,7 @@ module Google
20163
20376
  def update!(**args)
20164
20377
  @display_name = args[:display_name] if args.key?(:display_name)
20165
20378
  @name = args[:name] if args.key?(:name)
20379
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
20166
20380
  @priority = args[:priority] if args.key?(:priority)
20167
20381
  @rules = args[:rules] if args.key?(:rules)
20168
20382
  @short_name = args[:short_name] if args.key?(:short_name)
@@ -21459,7 +21673,7 @@ module Google
21459
21673
  # BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M:
21460
21674
  # 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s -
21461
21675
  # BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/
21462
- # s
21676
+ # s - BPS_100G: 100 Gbit/s
21463
21677
  # Corresponds to the JSON property `bandwidth`
21464
21678
  # @return [String]
21465
21679
  attr_accessor :bandwidth
@@ -21469,13 +21683,13 @@ module Google
21469
21683
  # @return [Array<String>]
21470
21684
  attr_accessor :candidate_ipv6_subnets
21471
21685
 
21472
- # Up to 16 candidate prefixes that can be used to restrict the allocation of
21473
- # cloudRouterIpAddress and customerRouterIpAddress for this attachment. All
21474
- # prefixes must be within link-local address space (169.254.0.0/16) and must be /
21475
- # 29 or shorter (/28, /27, etc). Google will attempt to select an unused /29
21476
- # from the supplied candidate prefix(es). The request will fail if all possible /
21477
- # 29s are in use on Google's edge. If not supplied, Google will randomly select
21478
- # an unused /29 from all of link-local space.
21686
+ # Input only. Up to 16 candidate prefixes that can be used to restrict the
21687
+ # allocation of cloudRouterIpAddress and customerRouterIpAddress for this
21688
+ # attachment. All prefixes must be within link-local address space (169.254.0.0/
21689
+ # 16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select
21690
+ # an unused /29 from the supplied candidate prefix(es). The request will fail if
21691
+ # all possible /29s are in use on Google's edge. If not supplied, Google will
21692
+ # randomly select an unused /29 from all of link-local space.
21479
21693
  # Corresponds to the JSON property `candidateSubnets`
21480
21694
  # @return [Array<String>]
21481
21695
  attr_accessor :candidate_subnets
@@ -21537,8 +21751,8 @@ module Google
21537
21751
  # @return [String]
21538
21752
  attr_accessor :description
21539
21753
 
21540
- # Desired availability domain for the attachment. Only available for type
21541
- # PARTNER, at creation time, and can take one of the following values: -
21754
+ # Input only. Desired availability domain for the attachment. Only available for
21755
+ # type PARTNER, at creation time, and can take one of the following values: -
21542
21756
  # AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For
21543
21757
  # improved reliability, customers should configure a pair of attachments, one
21544
21758
  # per availability domain. The selected availability domain will be provided to
@@ -21738,13 +21952,13 @@ module Google
21738
21952
  # @return [String]
21739
21953
  attr_accessor :state
21740
21954
 
21741
- # Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The
21742
- # default value is 29, except for Cross-Cloud Interconnect connections that use
21743
- # an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal
21744
- # to 30. For example, connections that use an Azure remote location fall into
21745
- # this category. In these cases, the default value is 30, and requesting 29
21746
- # returns an error. Where both 29 and 30 are allowed, 29 is preferred, because
21747
- # it gives Google Cloud Support more debugging visibility.
21955
+ # Input only. Length of the IPv4 subnet mask. Allowed values: - 29 (default) -
21956
+ # 30 The default value is 29, except for Cross-Cloud Interconnect connections
21957
+ # that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.
21958
+ # min equal to 30. For example, connections that use an Azure remote location
21959
+ # fall into this category. In these cases, the default value is 30, and
21960
+ # requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is
21961
+ # preferred, because it gives Google Cloud Support more debugging visibility.
21748
21962
  # Corresponds to the JSON property `subnetLength`
21749
21963
  # @return [Fixnum]
21750
21964
  attr_accessor :subnet_length
@@ -22672,7 +22886,7 @@ module Google
22672
22886
  attr_accessor :availability_zone
22673
22887
 
22674
22888
  # [Output only] List of features available at this InterconnectLocation, which
22675
- # can take one of the following values: - MACSEC
22889
+ # can take one of the following values: - IF_MACSEC
22676
22890
  # Corresponds to the JSON property `availableFeatures`
22677
22891
  # @return [Array<String>]
22678
22892
  attr_accessor :available_features
@@ -23612,7 +23826,7 @@ module Google
23612
23826
  # @return [String]
23613
23827
  attr_accessor :name
23614
23828
 
23615
- #
23829
+ # [Input Only] Deprecated.
23616
23830
  # Corresponds to the JSON property `resourceRequirements`
23617
23831
  # @return [Google::Apis::ComputeBeta::LicenseResourceRequirements]
23618
23832
  attr_accessor :resource_requirements
@@ -23782,14 +23996,14 @@ module Google
23782
23996
  class LicenseResourceRequirements
23783
23997
  include Google::Apis::Core::Hashable
23784
23998
 
23785
- # Minimum number of guest cpus required to use the Instance. Enforced at
23786
- # Instance creation and Instance start.
23999
+ # [Input Only] Deprecated. This field no longer reflects the minimum number of
24000
+ # guest cpus required to use the Instance.
23787
24001
  # Corresponds to the JSON property `minGuestCpuCount`
23788
24002
  # @return [Fixnum]
23789
24003
  attr_accessor :min_guest_cpu_count
23790
24004
 
23791
- # Minimum memory required to use the Instance. Enforced at Instance creation and
23792
- # Instance start.
24005
+ # [Input Only] Deprecated. This field no longer reflects the minimum memory
24006
+ # required to use the Instance.
23793
24007
  # Corresponds to the JSON property `minMemoryMb`
23794
24008
  # @return [Fixnum]
23795
24009
  attr_accessor :min_memory_mb
@@ -25322,7 +25536,8 @@ module Google
25322
25536
  # @return [String]
25323
25537
  attr_accessor :region
25324
25538
 
25325
- # Resource policies for this multi-MIG.
25539
+ # Resource policies message for a multi-MIG. Specifies the workload policy
25540
+ # configuration of the multi-MIG.
25326
25541
  # Corresponds to the JSON property `resourcePolicies`
25327
25542
  # @return [Google::Apis::ComputeBeta::MultiMigResourcePolicies]
25328
25543
  attr_accessor :resource_policies
@@ -25349,11 +25564,17 @@ module Google
25349
25564
  end
25350
25565
  end
25351
25566
 
25352
- #
25567
+ # Resource policies message for a multi-MIG. Specifies the workload policy
25568
+ # configuration of the multi-MIG.
25353
25569
  class MultiMigResourcePolicies
25354
25570
  include Google::Apis::Core::Hashable
25355
25571
 
25356
- #
25572
+ # The URL of the workload policy for this multi-MIG. It can be a full or partial
25573
+ # URL. For example, the following are all valid URLs to a workload policy: -
25574
+ # https://www.googleapis.com/compute/v1/projects/project/regions/region /
25575
+ # resourcePolicies/resourcePolicy - projects/project/regions/region/
25576
+ # resourcePolicies/resourcePolicy - regions/region/resourcePolicies/
25577
+ # resourcePolicy
25357
25578
  # Corresponds to the JSON property `workloadPolicy`
25358
25579
  # @return [String]
25359
25580
  attr_accessor :workload_policy
@@ -25698,7 +25919,7 @@ module Google
25698
25919
 
25699
25920
  # A full or partial URL of the network profile to apply to this network. This
25700
25921
  # field can be set only at resource creation time. For example, the following
25701
- # are valid URLs: - https://www.googleapis.com/compute/alpha/projects/`
25922
+ # are valid URLs: - https://www.googleapis.com/compute/`api_version`/projects/`
25702
25923
  # project_id`/global/networkProfiles/`network_profile_name` - projects/`
25703
25924
  # project_id`/global/networkProfiles/`network_profile_name`
25704
25925
  # Corresponds to the JSON property `networkProfile`
@@ -27642,6 +27863,130 @@ module Google
27642
27863
  end
27643
27864
  end
27644
27865
 
27866
+ #
27867
+ class NetworkFirewallPolicyAggregatedList
27868
+ include Google::Apis::Core::Hashable
27869
+
27870
+ # [Output Only] Unique identifier for the resource; defined by the server.
27871
+ # Corresponds to the JSON property `id`
27872
+ # @return [String]
27873
+ attr_accessor :id
27874
+
27875
+ # A list of FirewallPoliciesScopedList resources.
27876
+ # Corresponds to the JSON property `items`
27877
+ # @return [Hash<String,Google::Apis::ComputeBeta::FirewallPoliciesScopedList>]
27878
+ attr_accessor :items
27879
+
27880
+ # [Output Only] Type of resource. Always compute#
27881
+ # networkFirewallPoliciesAggregatedList for lists of network firewall policies.
27882
+ # Corresponds to the JSON property `kind`
27883
+ # @return [String]
27884
+ attr_accessor :kind
27885
+
27886
+ # [Output Only] This token allows you to get the next page of results for list
27887
+ # requests. If the number of results is larger than maxResults, use the
27888
+ # nextPageToken as a value for the query parameter pageToken in the next list
27889
+ # request. Subsequent list requests will have their own nextPageToken to
27890
+ # continue paging through the results.
27891
+ # Corresponds to the JSON property `nextPageToken`
27892
+ # @return [String]
27893
+ attr_accessor :next_page_token
27894
+
27895
+ # [Output Only] Server-defined URL for this resource.
27896
+ # Corresponds to the JSON property `selfLink`
27897
+ # @return [String]
27898
+ attr_accessor :self_link
27899
+
27900
+ # [Output Only] Unreachable resources.
27901
+ # Corresponds to the JSON property `unreachables`
27902
+ # @return [Array<String>]
27903
+ attr_accessor :unreachables
27904
+
27905
+ # [Output Only] Informational warning message.
27906
+ # Corresponds to the JSON property `warning`
27907
+ # @return [Google::Apis::ComputeBeta::NetworkFirewallPolicyAggregatedList::Warning]
27908
+ attr_accessor :warning
27909
+
27910
+ def initialize(**args)
27911
+ update!(**args)
27912
+ end
27913
+
27914
+ # Update properties of this object
27915
+ def update!(**args)
27916
+ @id = args[:id] if args.key?(:id)
27917
+ @items = args[:items] if args.key?(:items)
27918
+ @kind = args[:kind] if args.key?(:kind)
27919
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
27920
+ @self_link = args[:self_link] if args.key?(:self_link)
27921
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
27922
+ @warning = args[:warning] if args.key?(:warning)
27923
+ end
27924
+
27925
+ # [Output Only] Informational warning message.
27926
+ class Warning
27927
+ include Google::Apis::Core::Hashable
27928
+
27929
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
27930
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
27931
+ # Corresponds to the JSON property `code`
27932
+ # @return [String]
27933
+ attr_accessor :code
27934
+
27935
+ # [Output Only] Metadata about this warning in key: value format. For example: "
27936
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
27937
+ # Corresponds to the JSON property `data`
27938
+ # @return [Array<Google::Apis::ComputeBeta::NetworkFirewallPolicyAggregatedList::Warning::Datum>]
27939
+ attr_accessor :data
27940
+
27941
+ # [Output Only] A human-readable description of the warning code.
27942
+ # Corresponds to the JSON property `message`
27943
+ # @return [String]
27944
+ attr_accessor :message
27945
+
27946
+ def initialize(**args)
27947
+ update!(**args)
27948
+ end
27949
+
27950
+ # Update properties of this object
27951
+ def update!(**args)
27952
+ @code = args[:code] if args.key?(:code)
27953
+ @data = args[:data] if args.key?(:data)
27954
+ @message = args[:message] if args.key?(:message)
27955
+ end
27956
+
27957
+ #
27958
+ class Datum
27959
+ include Google::Apis::Core::Hashable
27960
+
27961
+ # [Output Only] A key that provides more detail on the warning being returned.
27962
+ # For example, for warnings where there are no results in a list request for a
27963
+ # particular zone, this key might be scope and the key value might be the zone
27964
+ # name. Other examples might be a key indicating a deprecated resource and a
27965
+ # suggested replacement, or a warning about invalid network settings (for
27966
+ # example, if an instance attempts to perform IP forwarding but is not enabled
27967
+ # for IP forwarding).
27968
+ # Corresponds to the JSON property `key`
27969
+ # @return [String]
27970
+ attr_accessor :key
27971
+
27972
+ # [Output Only] A warning data value corresponding to the key.
27973
+ # Corresponds to the JSON property `value`
27974
+ # @return [String]
27975
+ attr_accessor :value
27976
+
27977
+ def initialize(**args)
27978
+ update!(**args)
27979
+ end
27980
+
27981
+ # Update properties of this object
27982
+ def update!(**args)
27983
+ @key = args[:key] if args.key?(:key)
27984
+ @value = args[:value] if args.key?(:value)
27985
+ end
27986
+ end
27987
+ end
27988
+ end
27989
+
27645
27990
  # A network interface resource attached to an instance.
27646
27991
  class NetworkInterface
27647
27992
  include Google::Apis::Core::Hashable
@@ -28077,6 +28422,11 @@ module Google
28077
28422
  # @return [String]
28078
28423
  attr_accessor :kind
28079
28424
 
28425
+ # [Output Only] Location to which the network is restricted.
28426
+ # Corresponds to the JSON property `location`
28427
+ # @return [Google::Apis::ComputeBeta::NetworkProfileLocation]
28428
+ attr_accessor :location
28429
+
28080
28430
  # [Output Only] Name of the resource.
28081
28431
  # Corresponds to the JSON property `name`
28082
28432
  # @return [String]
@@ -28108,6 +28458,7 @@ module Google
28108
28458
  @features = args[:features] if args.key?(:features)
28109
28459
  @id = args[:id] if args.key?(:id)
28110
28460
  @kind = args[:kind] if args.key?(:kind)
28461
+ @location = args[:location] if args.key?(:location)
28111
28462
  @name = args[:name] if args.key?(:name)
28112
28463
  @self_link = args[:self_link] if args.key?(:self_link)
28113
28464
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -28115,6 +28466,31 @@ module Google
28115
28466
  end
28116
28467
  end
28117
28468
 
28469
+ #
28470
+ class NetworkProfileLocation
28471
+ include Google::Apis::Core::Hashable
28472
+
28473
+ #
28474
+ # Corresponds to the JSON property `name`
28475
+ # @return [String]
28476
+ attr_accessor :name
28477
+
28478
+ #
28479
+ # Corresponds to the JSON property `scope`
28480
+ # @return [String]
28481
+ attr_accessor :scope
28482
+
28483
+ def initialize(**args)
28484
+ update!(**args)
28485
+ end
28486
+
28487
+ # Update properties of this object
28488
+ def update!(**args)
28489
+ @name = args[:name] if args.key?(:name)
28490
+ @scope = args[:scope] if args.key?(:scope)
28491
+ end
28492
+ end
28493
+
28118
28494
  #
28119
28495
  class NetworkProfileNetworkFeatures
28120
28496
  include Google::Apis::Core::Hashable
@@ -28421,6 +28797,17 @@ module Google
28421
28797
  # @return [String]
28422
28798
  attr_accessor :bgp_inter_region_cost
28423
28799
 
28800
+ # [Output Only] Effective value of the bgp_always_compare_med field.
28801
+ # Corresponds to the JSON property `effectiveBgpAlwaysCompareMed`
28802
+ # @return [Boolean]
28803
+ attr_accessor :effective_bgp_always_compare_med
28804
+ alias_method :effective_bgp_always_compare_med?, :effective_bgp_always_compare_med
28805
+
28806
+ # [Output Only] Effective value of the bgp_inter_region_cost field.
28807
+ # Corresponds to the JSON property `effectiveBgpInterRegionCost`
28808
+ # @return [String]
28809
+ attr_accessor :effective_bgp_inter_region_cost
28810
+
28424
28811
  # The network-wide routing mode to use. If set to REGIONAL, this network's Cloud
28425
28812
  # Routers will only advertise routes with subnets of this network in the same
28426
28813
  # region as the router. If set to GLOBAL, this network's Cloud Routers will
@@ -28438,6 +28825,8 @@ module Google
28438
28825
  @bgp_always_compare_med = args[:bgp_always_compare_med] if args.key?(:bgp_always_compare_med)
28439
28826
  @bgp_best_path_selection_mode = args[:bgp_best_path_selection_mode] if args.key?(:bgp_best_path_selection_mode)
28440
28827
  @bgp_inter_region_cost = args[:bgp_inter_region_cost] if args.key?(:bgp_inter_region_cost)
28828
+ @effective_bgp_always_compare_med = args[:effective_bgp_always_compare_med] if args.key?(:effective_bgp_always_compare_med)
28829
+ @effective_bgp_inter_region_cost = args[:effective_bgp_inter_region_cost] if args.key?(:effective_bgp_inter_region_cost)
28441
28830
  @routing_mode = args[:routing_mode] if args.key?(:routing_mode)
28442
28831
  end
28443
28832
  end
@@ -28538,6 +28927,11 @@ module Google
28538
28927
  # @return [String]
28539
28928
  attr_accessor :name
28540
28929
 
28930
+ # [Output Only] The packet mirroring rules that apply to the network.
28931
+ # Corresponds to the JSON property `packetMirroringRules`
28932
+ # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
28933
+ attr_accessor :packet_mirroring_rules
28934
+
28541
28935
  # [Output only] Priority of firewall policy association. Not applicable for type=
28542
28936
  # HIERARCHY.
28543
28937
  # Corresponds to the JSON property `priority`
@@ -28567,6 +28961,7 @@ module Google
28567
28961
  def update!(**args)
28568
28962
  @display_name = args[:display_name] if args.key?(:display_name)
28569
28963
  @name = args[:name] if args.key?(:name)
28964
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
28570
28965
  @priority = args[:priority] if args.key?(:priority)
28571
28966
  @rules = args[:rules] if args.key?(:rules)
28572
28967
  @short_name = args[:short_name] if args.key?(:short_name)
@@ -32227,11 +32622,8 @@ module Google
32227
32622
  # defaultRouteAction takes effect when none of the pathRules or routeRules match.
32228
32623
  # The load balancer performs advanced routing actions, such as URL rewrites and
32229
32624
  # header transformations, before forwarding the request to the selected backend.
32230
- # If defaultRouteAction specifies any weightedBackendServices, defaultService
32231
- # must not be set. Conversely if defaultService is set, defaultRouteAction
32232
- # cannot contain any weightedBackendServices. If defaultRouteAction is specified,
32233
- # don't set defaultUrlRedirect. If defaultRouteAction.weightedBackendServices
32234
- # is specified, don't set defaultService. URL maps for classic Application Load
32625
+ # Only one of defaultUrlRedirect, defaultService or defaultRouteAction.
32626
+ # weightedBackendService can be set. URL maps for classic Application Load
32235
32627
  # Balancers only support the urlRewrite action within a path matcher's
32236
32628
  # defaultRouteAction.
32237
32629
  # Corresponds to the JSON property `defaultRouteAction`
@@ -32245,14 +32637,11 @@ module Google
32245
32637
  # backendService - compute/v1/projects/project/global/backendServices/
32246
32638
  # backendService - global/backendServices/backendService If defaultRouteAction
32247
32639
  # is also specified, advanced routing actions, such as URL rewrites, take effect
32248
- # before sending the request to the backend. However, if defaultService is
32249
- # specified, defaultRouteAction cannot contain any weightedBackendServices.
32250
- # Conversely, if defaultRouteAction specifies any weightedBackendServices,
32251
- # defaultService must not be specified. If defaultService is specified, then set
32252
- # either defaultUrlRedirect or defaultRouteAction.weightedBackendService. Don't
32253
- # set both. Authorization requires one or more of the following Google IAM
32254
- # permissions on the specified resource default_service: - compute.
32255
- # backendBuckets.use - compute.backendServices.use
32640
+ # before sending the request to the backend. Only one of defaultUrlRedirect,
32641
+ # defaultService or defaultRouteAction.weightedBackendService can be set.
32642
+ # Authorization requires one or more of the following Google IAM permissions on
32643
+ # the specified resource default_service: - compute.backendBuckets.use - compute.
32644
+ # backendServices.use
32256
32645
  # Corresponds to the JSON property `defaultService`
32257
32646
  # @return [String]
32258
32647
  attr_accessor :default_service
@@ -32336,11 +32725,10 @@ module Google
32336
32725
 
32337
32726
  # In response to a matching path, the load balancer performs advanced routing
32338
32727
  # actions, such as URL rewrites and header transformations, before forwarding
32339
- # the request to the selected backend. If routeAction specifies any
32340
- # weightedBackendServices, service must not be set. Conversely if service is set,
32341
- # routeAction cannot contain any weightedBackendServices. Only one of
32342
- # routeAction or urlRedirect must be set. URL maps for classic Application Load
32343
- # Balancers only support the urlRewrite action within a path rule's routeAction.
32728
+ # the request to the selected backend. Only one of urlRedirect, service or
32729
+ # routeAction.weightedBackendService can be set. URL maps for classic
32730
+ # Application Load Balancers only support the urlRewrite action within a path
32731
+ # rule's routeAction.
32344
32732
  # Corresponds to the JSON property `routeAction`
32345
32733
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
32346
32734
  attr_accessor :route_action
@@ -32348,10 +32736,8 @@ module Google
32348
32736
  # The full or partial URL of the backend service resource to which traffic is
32349
32737
  # directed if this rule is matched. If routeAction is also specified, advanced
32350
32738
  # routing actions, such as URL rewrites, take effect before sending the request
32351
- # to the backend. However, if service is specified, routeAction cannot contain
32352
- # any weightedBackendServices. Conversely, if routeAction specifies any
32353
- # weightedBackendServices, service must not be specified. Only one of
32354
- # urlRedirect, service or routeAction.weightedBackendService must be set.
32739
+ # to the backend. Only one of urlRedirect, service or routeAction.
32740
+ # weightedBackendService can be set.
32355
32741
  # Corresponds to the JSON property `service`
32356
32742
  # @return [String]
32357
32743
  attr_accessor :service
@@ -32392,7 +32778,7 @@ module Google
32392
32778
  # Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if
32393
32779
  # a per-instance configuration with the same name exists then it will be updated,
32394
32780
  # otherwise a new one will be created for the VM instance with the same name.
32395
- # An attempt to create a per-instance configconfiguration for a VM instance that
32781
+ # An attempt to create a per-instance configuration for a VM instance that
32396
32782
  # either doesn't exist or is not part of the group will result in an error.
32397
32783
  # Corresponds to the JSON property `name`
32398
32784
  # @return [String]
@@ -32707,7 +33093,7 @@ module Google
32707
33093
  # @return [String]
32708
33094
  attr_accessor :description
32709
33095
 
32710
- # Restricted features enabled for use on this project.
33096
+ # An optional list of restricted features enabled for use on this project.
32711
33097
  # Corresponds to the JSON property `enabledFeatures`
32712
33098
  # @return [Array<String>]
32713
33099
  attr_accessor :enabled_features
@@ -35736,6 +36122,11 @@ module Google
35736
36122
  # @return [String]
35737
36123
  attr_accessor :name
35738
36124
 
36125
+ # [Output only] The packet mirroring rules that apply to the network.
36126
+ # Corresponds to the JSON property `packetMirroringRules`
36127
+ # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
36128
+ attr_accessor :packet_mirroring_rules
36129
+
35739
36130
  # [Output only] Priority of firewall policy association. Not applicable for type=
35740
36131
  # HIERARCHY.
35741
36132
  # Corresponds to the JSON property `priority`
@@ -35761,6 +36152,7 @@ module Google
35761
36152
  def update!(**args)
35762
36153
  @display_name = args[:display_name] if args.key?(:display_name)
35763
36154
  @name = args[:name] if args.key?(:name)
36155
+ @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules)
35764
36156
  @priority = args[:priority] if args.key?(:priority)
35765
36157
  @rules = args[:rules] if args.key?(:rules)
35766
36158
  @type = args[:type] if args.key?(:type)
@@ -36000,12 +36392,6 @@ module Google
36000
36392
  # @return [Fixnum]
36001
36393
  attr_accessor :id
36002
36394
 
36003
- # Instance termination action is invoked when the reservation is deleted. This
36004
- # only applies to reservations with a Deployment type.
36005
- # Corresponds to the JSON property `instanceTerminationAction`
36006
- # @return [String]
36007
- attr_accessor :instance_termination_action
36008
-
36009
36395
  # [Output Only] Type of the resource. Always compute#reservations for
36010
36396
  # reservations.
36011
36397
  # Corresponds to the JSON property `kind`
@@ -36098,7 +36484,6 @@ module Google
36098
36484
  @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
36099
36485
  @description = args[:description] if args.key?(:description)
36100
36486
  @id = args[:id] if args.key?(:id)
36101
- @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
36102
36487
  @kind = args[:kind] if args.key?(:kind)
36103
36488
  @name = args[:name] if args.key?(:name)
36104
36489
  @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
@@ -37733,16 +38118,28 @@ module Google
37733
38118
  class ResourceStatus
37734
38119
  include Google::Apis::Core::Hashable
37735
38120
 
37736
- # [Output Only] An opaque ID of the host on which the VM is running.
38121
+ # [Output Only] The precise location of your instance within the zone's data
38122
+ # center, including the block, sub-block, and host. The field is formatted as
38123
+ # follows: blockId/subBlockId/hostId.
37737
38124
  # Corresponds to the JSON property `physicalHost`
37738
38125
  # @return [String]
37739
38126
  attr_accessor :physical_host
37740
38127
 
38128
+ # Represents the physical host topology of the host on which the VM is running.
38129
+ # Corresponds to the JSON property `physicalHostTopology`
38130
+ # @return [Google::Apis::ComputeBeta::ResourceStatusPhysicalHostTopology]
38131
+ attr_accessor :physical_host_topology
38132
+
37741
38133
  #
37742
38134
  # Corresponds to the JSON property `scheduling`
37743
38135
  # @return [Google::Apis::ComputeBeta::ResourceStatusScheduling]
37744
38136
  attr_accessor :scheduling
37745
38137
 
38138
+ # [Output Only] Details about the instance stopping state.
38139
+ # Corresponds to the JSON property `shutdownDetails`
38140
+ # @return [Google::Apis::ComputeBeta::ResourceStatusShutdownDetails]
38141
+ attr_accessor :shutdown_details
38142
+
37746
38143
  # Upcoming Maintenance notification information.
37747
38144
  # Corresponds to the JSON property `upcomingMaintenance`
37748
38145
  # @return [Google::Apis::ComputeBeta::UpcomingMaintenance]
@@ -37755,11 +38152,55 @@ module Google
37755
38152
  # Update properties of this object
37756
38153
  def update!(**args)
37757
38154
  @physical_host = args[:physical_host] if args.key?(:physical_host)
38155
+ @physical_host_topology = args[:physical_host_topology] if args.key?(:physical_host_topology)
37758
38156
  @scheduling = args[:scheduling] if args.key?(:scheduling)
38157
+ @shutdown_details = args[:shutdown_details] if args.key?(:shutdown_details)
37759
38158
  @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
37760
38159
  end
37761
38160
  end
37762
38161
 
38162
+ # Represents the physical host topology of the host on which the VM is running.
38163
+ class ResourceStatusPhysicalHostTopology
38164
+ include Google::Apis::Core::Hashable
38165
+
38166
+ # [Output Only] The ID of the block in which the running instance is located.
38167
+ # Instances within the same block experience low network latency.
38168
+ # Corresponds to the JSON property `block`
38169
+ # @return [String]
38170
+ attr_accessor :block
38171
+
38172
+ # [Output Only] The global name of the Compute Engine cluster where the running
38173
+ # instance is located.
38174
+ # Corresponds to the JSON property `cluster`
38175
+ # @return [String]
38176
+ attr_accessor :cluster
38177
+
38178
+ # [Output Only] The ID of the host on which the running instance is located.
38179
+ # Instances on the same host experience the lowest possible network latency.
38180
+ # Corresponds to the JSON property `host`
38181
+ # @return [String]
38182
+ attr_accessor :host
38183
+
38184
+ # [Output Only] The ID of the sub-block in which the running instance is located.
38185
+ # Instances in the same sub-block experience lower network latency than
38186
+ # instances in the same block.
38187
+ # Corresponds to the JSON property `subblock`
38188
+ # @return [String]
38189
+ attr_accessor :subblock
38190
+
38191
+ def initialize(**args)
38192
+ update!(**args)
38193
+ end
38194
+
38195
+ # Update properties of this object
38196
+ def update!(**args)
38197
+ @block = args[:block] if args.key?(:block)
38198
+ @cluster = args[:cluster] if args.key?(:cluster)
38199
+ @host = args[:host] if args.key?(:host)
38200
+ @subblock = args[:subblock] if args.key?(:subblock)
38201
+ end
38202
+ end
38203
+
37763
38204
  #
37764
38205
  class ResourceStatusScheduling
37765
38206
  include Google::Apis::Core::Hashable
@@ -37787,6 +38228,46 @@ module Google
37787
38228
  end
37788
38229
  end
37789
38230
 
38231
+ #
38232
+ class ResourceStatusShutdownDetails
38233
+ include Google::Apis::Core::Hashable
38234
+
38235
+ # A Duration represents a fixed-length span of time represented as a count of
38236
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
38237
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
38238
+ # 000 years.
38239
+ # Corresponds to the JSON property `maxDuration`
38240
+ # @return [Google::Apis::ComputeBeta::Duration]
38241
+ attr_accessor :max_duration
38242
+
38243
+ #
38244
+ # Corresponds to the JSON property `requestTimestamp`
38245
+ # @return [String]
38246
+ attr_accessor :request_timestamp
38247
+
38248
+ #
38249
+ # Corresponds to the JSON property `stopState`
38250
+ # @return [String]
38251
+ attr_accessor :stop_state
38252
+
38253
+ #
38254
+ # Corresponds to the JSON property `targetState`
38255
+ # @return [String]
38256
+ attr_accessor :target_state
38257
+
38258
+ def initialize(**args)
38259
+ update!(**args)
38260
+ end
38261
+
38262
+ # Update properties of this object
38263
+ def update!(**args)
38264
+ @max_duration = args[:max_duration] if args.key?(:max_duration)
38265
+ @request_timestamp = args[:request_timestamp] if args.key?(:request_timestamp)
38266
+ @stop_state = args[:stop_state] if args.key?(:stop_state)
38267
+ @target_state = args[:target_state] if args.key?(:target_state)
38268
+ end
38269
+ end
38270
+
37790
38271
  # A rollout policy configuration.
37791
38272
  class RolloutPolicy
37792
38273
  include Google::Apis::Core::Hashable
@@ -39275,6 +39756,13 @@ module Google
39275
39756
  # @return [String]
39276
39757
  attr_accessor :name
39277
39758
 
39759
+ # List of Subnetwork resources whose traffic should be translated by NAT64
39760
+ # Gateway. It is used only when LIST_OF_IPV6_SUBNETWORKS is selected for the
39761
+ # SubnetworkIpRangeToNat64Option above.
39762
+ # Corresponds to the JSON property `nat64Subnetworks`
39763
+ # @return [Array<Google::Apis::ComputeBeta::RouterNatSubnetworkToNat64>]
39764
+ attr_accessor :nat64_subnetworks
39765
+
39278
39766
  # Specify the NatIpAllocateOption, which can take one of the following values: -
39279
39767
  # MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are
39280
39768
  # not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY:
@@ -39307,6 +39795,18 @@ module Google
39307
39795
  # @return [String]
39308
39796
  attr_accessor :source_subnetwork_ip_ranges_to_nat
39309
39797
 
39798
+ # Specify the Nat option for NAT64, which can take one of the following values: -
39799
+ # ALL_IPV6_SUBNETWORKS: All of the IP ranges in every Subnetwork are allowed to
39800
+ # Nat. - LIST_OF_IPV6_SUBNETWORKS: A list of Subnetworks are allowed to Nat (
39801
+ # specified in the field nat64_subnetwork below) The default is
39802
+ # NAT64_OPTION_UNSPECIFIED. Note that if this field contains
39803
+ # NAT64_ALL_V6_SUBNETWORKS no other Router.Nat section in this region can also
39804
+ # enable NAT64 for any Subnetworks in this network. Other Router.Nat sections
39805
+ # can still be present to enable NAT44 only.
39806
+ # Corresponds to the JSON property `sourceSubnetworkIpRangesToNat64`
39807
+ # @return [String]
39808
+ attr_accessor :source_subnetwork_ip_ranges_to_nat64
39809
+
39310
39810
  # A list of Subnetwork resources whose traffic should be translated by NAT
39311
39811
  # Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the
39312
39812
  # SubnetworkIpRangeToNatOption above.
@@ -39359,10 +39859,12 @@ module Google
39359
39859
  @max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
39360
39860
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
39361
39861
  @name = args[:name] if args.key?(:name)
39862
+ @nat64_subnetworks = args[:nat64_subnetworks] if args.key?(:nat64_subnetworks)
39362
39863
  @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
39363
39864
  @nat_ips = args[:nat_ips] if args.key?(:nat_ips)
39364
39865
  @rules = args[:rules] if args.key?(:rules)
39365
39866
  @source_subnetwork_ip_ranges_to_nat = args[:source_subnetwork_ip_ranges_to_nat] if args.key?(:source_subnetwork_ip_ranges_to_nat)
39867
+ @source_subnetwork_ip_ranges_to_nat64 = args[:source_subnetwork_ip_ranges_to_nat64] if args.key?(:source_subnetwork_ip_ranges_to_nat64)
39366
39868
  @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
39367
39869
  @tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec)
39368
39870
  @tcp_time_wait_timeout_sec = args[:tcp_time_wait_timeout_sec] if args.key?(:tcp_time_wait_timeout_sec)
@@ -39530,6 +40032,25 @@ module Google
39530
40032
  end
39531
40033
  end
39532
40034
 
40035
+ # Specifies a subnetwork to enable NAT64.
40036
+ class RouterNatSubnetworkToNat64
40037
+ include Google::Apis::Core::Hashable
40038
+
40039
+ # URL for the subnetwork resource that will use NAT64.
40040
+ # Corresponds to the JSON property `name`
40041
+ # @return [String]
40042
+ attr_accessor :name
40043
+
40044
+ def initialize(**args)
40045
+ update!(**args)
40046
+ end
40047
+
40048
+ # Update properties of this object
40049
+ def update!(**args)
40050
+ @name = args[:name] if args.key?(:name)
40051
+ end
40052
+ end
40053
+
39533
40054
  #
39534
40055
  class RouterStatus
39535
40056
  include Google::Apis::Core::Hashable
@@ -40557,6 +41078,11 @@ module Google
40557
41078
  # @return [Fixnum]
40558
41079
  attr_accessor :availability_domain
40559
41080
 
41081
+ # The configuration for gracefully shutting down the instance.
41082
+ # Corresponds to the JSON property `gracefulShutdown`
41083
+ # @return [Google::Apis::ComputeBeta::SchedulingGracefulShutdown]
41084
+ attr_accessor :graceful_shutdown
41085
+
40560
41086
  # Specify the time in seconds for host error detection, the value must be within
40561
41087
  # the range of [90, 330] with the increment of 30, if unset, the default
40562
41088
  # behavior of host error recovery will be used.
@@ -40657,6 +41183,7 @@ module Google
40657
41183
  def update!(**args)
40658
41184
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
40659
41185
  @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
41186
+ @graceful_shutdown = args[:graceful_shutdown] if args.key?(:graceful_shutdown)
40660
41187
  @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
40661
41188
  @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
40662
41189
  @local_ssd_recovery_timeout = args[:local_ssd_recovery_timeout] if args.key?(:local_ssd_recovery_timeout)
@@ -40674,6 +41201,35 @@ module Google
40674
41201
  end
40675
41202
  end
40676
41203
 
41204
+ # The configuration for gracefully shutting down the instance.
41205
+ class SchedulingGracefulShutdown
41206
+ include Google::Apis::Core::Hashable
41207
+
41208
+ # Opts-in for graceful shutdown.
41209
+ # Corresponds to the JSON property `enabled`
41210
+ # @return [Boolean]
41211
+ attr_accessor :enabled
41212
+ alias_method :enabled?, :enabled
41213
+
41214
+ # A Duration represents a fixed-length span of time represented as a count of
41215
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
41216
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
41217
+ # 000 years.
41218
+ # Corresponds to the JSON property `maxDuration`
41219
+ # @return [Google::Apis::ComputeBeta::Duration]
41220
+ attr_accessor :max_duration
41221
+
41222
+ def initialize(**args)
41223
+ update!(**args)
41224
+ end
41225
+
41226
+ # Update properties of this object
41227
+ def update!(**args)
41228
+ @enabled = args[:enabled] if args.key?(:enabled)
41229
+ @max_duration = args[:max_duration] if args.key?(:max_duration)
41230
+ end
41231
+ end
41232
+
40677
41233
  # Node Affinity: the configuration of desired nodes onto which this Instance
40678
41234
  # could be scheduled.
40679
41235
  class SchedulingNodeAffinity
@@ -41454,6 +42010,12 @@ module Google
41454
42010
  # @return [String]
41455
42011
  attr_accessor :log_level
41456
42012
 
42013
+ # The maximum request size chosen by the customer with Waf enabled. Currently
42014
+ # only "8KB" and "128KB" are supported. Values are case insensitive.
42015
+ # Corresponds to the JSON property `requestBodyInspectionSize`
42016
+ # @return [String]
42017
+ attr_accessor :request_body_inspection_size
42018
+
41457
42019
  # An optional list of case-insensitive request header names to use for resolving
41458
42020
  # the callers client IP address.
41459
42021
  # Corresponds to the JSON property `userIpRequestHeaders`
@@ -41469,6 +42031,7 @@ module Google
41469
42031
  @json_custom_config = args[:json_custom_config] if args.key?(:json_custom_config)
41470
42032
  @json_parsing = args[:json_parsing] if args.key?(:json_parsing)
41471
42033
  @log_level = args[:log_level] if args.key?(:log_level)
42034
+ @request_body_inspection_size = args[:request_body_inspection_size] if args.key?(:request_body_inspection_size)
41472
42035
  @user_ip_request_headers = args[:user_ip_request_headers] if args.key?(:user_ip_request_headers)
41473
42036
  end
41474
42037
  end
@@ -42342,7 +42905,9 @@ module Google
42342
42905
  # originating client, which is resolved based on "userIpRequestHeaders"
42343
42906
  # configured with the security policy. If there is no "userIpRequestHeaders"
42344
42907
  # configuration or an IP address cannot be resolved from it, the key type
42345
- # defaults to IP.
42908
+ # defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client
42909
+ # connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type
42910
+ # defaults to ALL.
42346
42911
  # Corresponds to the JSON property `enforceOnKey`
42347
42912
  # @return [String]
42348
42913
  attr_accessor :enforce_on_key
@@ -42437,7 +43002,9 @@ module Google
42437
43002
  # originating client, which is resolved based on "userIpRequestHeaders"
42438
43003
  # configured with the security policy. If there is no "userIpRequestHeaders"
42439
43004
  # configuration or an IP address cannot be resolved from it, the key type
42440
- # defaults to IP.
43005
+ # defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client
43006
+ # connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type
43007
+ # defaults to ALL.
42441
43008
  # Corresponds to the JSON property `enforceOnKeyType`
42442
43009
  # @return [String]
42443
43010
  attr_accessor :enforce_on_key_type
@@ -46940,6 +47507,18 @@ module Google
46940
47507
  # @return [String]
46941
47508
  attr_accessor :ip_cidr_range
46942
47509
 
47510
+ # Reference to the source of IP, like a PublicDelegatedPrefix (PDP) for BYOIP.
47511
+ # The PDP must be a sub-PDP in EXTERNAL_IPV6_SUBNETWORK_CREATION mode. Use one
47512
+ # of the following formats to specify a sub-PDP when creating a dual stack
47513
+ # subnetwork with external access using BYOIP: - Full resource URL, as in https:/
47514
+ # /www.googleapis.com/compute/v1/projects/projectId/regions/region /
47515
+ # publicDelegatedPrefixes/sub-pdp-name - Partial URL, as in - projects/projectId/
47516
+ # regions/region/publicDelegatedPrefixes/ sub-pdp-name - regions/region/
47517
+ # publicDelegatedPrefixes/sub-pdp-name
47518
+ # Corresponds to the JSON property `ipCollection`
47519
+ # @return [String]
47520
+ attr_accessor :ip_collection
47521
+
46943
47522
  # The access type of IPv6 address this subnet holds. It's immutable and can only
46944
47523
  # be specified during creation or the first time the subnet is updated into
46945
47524
  # IPV4_IPV6 dual stack.
@@ -46952,6 +47531,18 @@ module Google
46952
47531
  # @return [String]
46953
47532
  attr_accessor :ipv6_cidr_range
46954
47533
 
47534
+ # [Output Only] Possible endpoints of this subnetwork. It can be one of the
47535
+ # following: - VM_ONLY: The subnetwork can be used for creating instances and
47536
+ # IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6
47537
+ # ranges from a public delegated prefix and cannot be used to create NetLb. -
47538
+ # VM_AND_FR: The subnetwork can be used for creating both VM instances and
47539
+ # Forwarding Rules. It can also be used to reserve IPv6 addresses with both VM
47540
+ # and FR endpoint types. Such a subnetwork gets its IPv6 range from Google IP
47541
+ # Pool directly.
47542
+ # Corresponds to the JSON property `ipv6GceEndpoint`
47543
+ # @return [String]
47544
+ attr_accessor :ipv6_gce_endpoint
47545
+
46955
47546
  # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork
46956
47547
  # resources.
46957
47548
  # Corresponds to the JSON property `kind`
@@ -46995,15 +47586,17 @@ module Google
46995
47586
  attr_accessor :private_ipv6_google_access
46996
47587
 
46997
47588
  # The purpose of the resource. This field can be either PRIVATE,
46998
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or
46999
- # PRIVATE is the default purpose for user-created subnets or subnets that are
47000
- # automatically created in auto mode networks. Subnets with purpose set to
47001
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks
47002
- # that are reserved for Envoy-based load balancers. A subnet with purpose set to
47003
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
47004
- # Connect. If unspecified, the subnet purpose defaults to PRIVATE. The
47005
- # enableFlowLogs field isn't supported if the subnet purpose field is set to
47006
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
47589
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
47590
+ # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
47591
+ # subnets or subnets that are automatically created in auto mode networks.
47592
+ # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
47593
+ # user-created subnetworks that are reserved for Envoy-based load balancers. A
47594
+ # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
47595
+ # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
47596
+ # used for subnet migration from one peered VPC to another. If unspecified, the
47597
+ # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
47598
+ # if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
47599
+ # REGIONAL_MANAGED_PROXY.
47007
47600
  # Corresponds to the JSON property `purpose`
47008
47601
  # @return [String]
47009
47602
  attr_accessor :purpose
@@ -47076,8 +47669,10 @@ module Google
47076
47669
  @id = args[:id] if args.key?(:id)
47077
47670
  @internal_ipv6_prefix = args[:internal_ipv6_prefix] if args.key?(:internal_ipv6_prefix)
47078
47671
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
47672
+ @ip_collection = args[:ip_collection] if args.key?(:ip_collection)
47079
47673
  @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
47080
47674
  @ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range)
47675
+ @ipv6_gce_endpoint = args[:ipv6_gce_endpoint] if args.key?(:ipv6_gce_endpoint)
47081
47676
  @kind = args[:kind] if args.key?(:kind)
47082
47677
  @log_config = args[:log_config] if args.key?(:log_config)
47083
47678
  @name = args[:name] if args.key?(:name)
@@ -48552,14 +49147,14 @@ module Google
48552
49147
  # Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target
48553
49148
  # HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/beta/
48554
49149
  # targetHttpsProxies) * [Regional](/compute/docs/reference/rest/beta/
48555
- # regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS
48556
- # load balancers. * targetHttpProxies are used by global external Application
48557
- # Load Balancers, classic Application Load Balancers, cross-region internal
48558
- # Application Load Balancers, and Traffic Director. * regionTargetHttpProxies
48559
- # are used by regional internal Application Load Balancers and regional external
48560
- # Application Load Balancers. Forwarding rules reference a target HTTPS proxy,
48561
- # and the target proxy then references a URL map. For more information, read
48562
- # Using Target Proxies and Forwarding rule concepts.
49150
+ # regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud
49151
+ # HTTPS load balancers. * targetHttpProxies are used by global external
49152
+ # Application Load Balancers, classic Application Load Balancers, cross-region
49153
+ # internal Application Load Balancers, and Traffic Director. *
49154
+ # regionTargetHttpProxies are used by regional internal Application Load
49155
+ # Balancers and regional external Application Load Balancers. Forwarding rules
49156
+ # reference a target HTTPS proxy, and the target proxy then references a URL map.
49157
+ # For more information, read Using Target Proxies and Forwarding rule concepts.
48563
49158
  class TargetHttpsProxy
48564
49159
  include Google::Apis::Core::Hashable
48565
49160
 
@@ -48716,14 +49311,15 @@ module Google
48716
49311
  # to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource
48717
49312
  # or Certificate Manager Certificate resource. Mixing Classic Certificates and
48718
49313
  # Certificate Manager Certificates is not allowed. Certificate Manager
48719
- # Certificates must include the certificatemanager API. Certificate Manager
48720
- # Certificates are not supported by Global external Application Load Balancer or
48721
- # Classic Application Load Balancer, use certificate_map instead. Currently, you
48722
- # may specify up to 15 Classic SSL Certificates. Certificate Manager
48723
- # Certificates accepted formats are: - //certificatemanager.googleapis.com/
48724
- # projects/`project`/locations/` location`/certificates/`resourceName`. - https:/
48725
- # /certificatemanager.googleapis.com/v1alpha1/projects/`project `/locations/`
48726
- # location`/certificates/`resourceName`.
49314
+ # Certificates must include the certificatemanager API namespace. Using
49315
+ # Certificate Manager Certificates in this field is not supported by Global
49316
+ # external Application Load Balancer or Classic Application Load Balancer, use
49317
+ # certificate_map instead. Currently, you may specify up to 15 Classic SSL
49318
+ # Certificates or up to 100 Certificate Manager Certificates. Certificate
49319
+ # Manager Certificates accepted formats are: - //certificatemanager.googleapis.
49320
+ # com/projects/`project`/locations/` location`/certificates/`resourceName`. -
49321
+ # https://certificatemanager.googleapis.com/v1alpha1/projects/`project `/
49322
+ # locations/`location`/certificates/`resourceName`.
48727
49323
  # Corresponds to the JSON property `sslCertificates`
48728
49324
  # @return [Array<String>]
48729
49325
  attr_accessor :ssl_certificates
@@ -51495,11 +52091,9 @@ module Google
51495
52091
 
51496
52092
  # defaultRouteAction takes effect when none of the hostRules match. The load
51497
52093
  # balancer performs advanced routing actions, such as URL rewrites and header
51498
- # transformations, before forwarding the request to the selected backend. If
51499
- # defaultRouteAction specifies any weightedBackendServices, defaultService must
51500
- # not be set. Conversely if defaultService is set, defaultRouteAction cannot
51501
- # contain any weightedBackendServices. Only one of defaultRouteAction or
51502
- # defaultUrlRedirect must be set. URL maps for classic Application Load
52094
+ # transformations, before forwarding the request to the selected backend. Only
52095
+ # one of defaultUrlRedirect, defaultService or defaultRouteAction.
52096
+ # weightedBackendService can be set. URL maps for classic Application Load
51503
52097
  # Balancers only support the urlRewrite action within defaultRouteAction.
51504
52098
  # defaultRouteAction has no effect when the URL map is bound to a target gRPC
51505
52099
  # proxy that has the validateForProxyless field set to true.
@@ -51510,14 +52104,10 @@ module Google
51510
52104
  # The full or partial URL of the defaultService resource to which traffic is
51511
52105
  # directed if none of the hostRules match. If defaultRouteAction is also
51512
52106
  # specified, advanced routing actions, such as URL rewrites, take effect before
51513
- # sending the request to the backend. However, if defaultService is specified,
51514
- # defaultRouteAction cannot contain any defaultRouteAction.
51515
- # weightedBackendServices. Conversely, if defaultRouteAction specifies any
51516
- # defaultRouteAction.weightedBackendServices, defaultService must not be
51517
- # specified. If defaultService is specified, then set either defaultUrlRedirect ,
51518
- # or defaultRouteAction.weightedBackendService Don't set both. defaultService
51519
- # has no effect when the URL map is bound to a target gRPC proxy that has the
51520
- # validateForProxyless field set to true.
52107
+ # sending the request to the backend. Only one of defaultUrlRedirect,
52108
+ # defaultService or defaultRouteAction.weightedBackendService can be set.
52109
+ # defaultService has no effect when the URL map is bound to a target gRPC proxy
52110
+ # that has the validateForProxyless field set to true.
51521
52111
  # Corresponds to the JSON property `defaultService`
51522
52112
  # @return [String]
51523
52113
  attr_accessor :default_service
@@ -52266,15 +52856,17 @@ module Google
52266
52856
  attr_accessor :network
52267
52857
 
52268
52858
  # The purpose of the resource. This field can be either PRIVATE,
52269
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or
52270
- # PRIVATE is the default purpose for user-created subnets or subnets that are
52271
- # automatically created in auto mode networks. Subnets with purpose set to
52272
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks
52273
- # that are reserved for Envoy-based load balancers. A subnet with purpose set to
52274
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
52275
- # Connect. If unspecified, the subnet purpose defaults to PRIVATE. The
52276
- # enableFlowLogs field isn't supported if the subnet purpose field is set to
52277
- # GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.
52859
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
52860
+ # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
52861
+ # subnets or subnets that are automatically created in auto mode networks.
52862
+ # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
52863
+ # user-created subnetworks that are reserved for Envoy-based load balancers. A
52864
+ # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
52865
+ # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
52866
+ # used for subnet migration from one peered VPC to another. If unspecified, the
52867
+ # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
52868
+ # if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
52869
+ # REGIONAL_MANAGED_PROXY.
52278
52870
  # Corresponds to the JSON property `purpose`
52279
52871
  # @return [String]
52280
52872
  attr_accessor :purpose