google-apis-compute_beta 0.107.0 → 0.109.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -567,8 +567,7 @@ module Google
567
567
  # @return [String]
568
568
  attr_accessor :public_ptr_domain_name
569
569
 
570
- # [Output Only] The resource URL for the security policy associated with this
571
- # access config.
570
+ # The resource URL for the security policy associated with this access config.
572
571
  # Corresponds to the JSON property `securityPolicy`
573
572
  # @return [String]
574
573
  attr_accessor :security_policy
@@ -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