google-apis-compute_beta 0.111.0 → 0.113.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.
@@ -2917,7 +2917,8 @@ module Google
2917
2917
  # the [Backend services overview](https://cloud.google.com/load-balancing/docs/
2918
2918
  # backend-service#backends). You must use the *fully-qualified* URL (starting
2919
2919
  # with https://www.googleapis.com/) to specify the instance group or NEG.
2920
- # Partial URLs are not supported.
2920
+ # Partial URLs are not supported. If haPolicy is specified, backends must refer
2921
+ # to NEG resources of type GCE_VM_IP.
2921
2922
  # Corresponds to the JSON property `group`
2922
2923
  # @return [String]
2923
2924
  attr_accessor :group
@@ -3163,7 +3164,7 @@ module Google
3163
3164
  attr_accessor :client_ttl
3164
3165
 
3165
3166
  # Specifies the default TTL for cached content served by this origin for
3166
- # responses that do not have an existing valid TTL (max-age or s-max-age).
3167
+ # responses that do not have an existing valid TTL (max-age or s-maxage).
3167
3168
  # Setting a TTL of "0" means "always revalidate". The value of defaultTTL cannot
3168
3169
  # be set to a value greater than that of maxTTL, but can be equal. When the
3169
3170
  # cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set
@@ -3227,7 +3228,7 @@ module Google
3227
3228
  # that do not specify a max-stale directive. Stale responses that exceed the TTL
3228
3229
  # configured here will not be served. The default limit (max-stale) is 86400s (1
3229
3230
  # day), which will allow stale content to be served up to this limit beyond the
3230
- # max-age (or s-max-age) of a cached response. The maximum allowed value is
3231
+ # max-age (or s-maxage) of a cached response. The maximum allowed value is
3231
3232
  # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
3232
3233
  # Corresponds to the JSON property `serveWhileStale`
3233
3234
  # @return [Fixnum]
@@ -3805,13 +3806,35 @@ module Google
3805
3806
  # @return [String]
3806
3807
  attr_accessor :fingerprint
3807
3808
 
3809
+ # Configures self-managed High Availability (HA) for External and Internal
3810
+ # Protocol Forwarding. The backends of this regional backend service must only
3811
+ # specify zonal network endpoint groups (NEGs) of type GCE_VM_IP. When haPolicy
3812
+ # is set for an Internal Passthrough Network Load Balancer, the regional backend
3813
+ # service must set the network field. All zonal NEGs must belong to the same
3814
+ # network. However, individual NEGs can belong to different subnetworks of that
3815
+ # network. When haPolicy is specified, the set of attached network endpoints
3816
+ # across all backends comprise an High Availability domain from which one
3817
+ # endpoint is selected as the active endpoint (the leader) that receives all
3818
+ # traffic. haPolicy can be added only at backend service creation time. Once set
3819
+ # up, it cannot be deleted. Note that haPolicy is not for load balancing, and
3820
+ # therefore cannot be specified with sessionAffinity, connectionTrackingPolicy,
3821
+ # and failoverPolicy. haPolicy requires customers to be responsible for tracking
3822
+ # backend endpoint health and electing a leader among the healthy endpoints.
3823
+ # Therefore, haPolicy cannot be specified with healthChecks. haPolicy can only
3824
+ # be specified for External Passthrough Network Load Balancers and Internal
3825
+ # Passthrough Network Load Balancers.
3826
+ # Corresponds to the JSON property `haPolicy`
3827
+ # @return [Google::Apis::ComputeBeta::BackendServiceHaPolicy]
3828
+ attr_accessor :ha_policy
3829
+
3808
3830
  # The list of URLs to the healthChecks, httpHealthChecks (legacy), or
3809
3831
  # httpsHealthChecks (legacy) resource for health checking this backend service.
3810
3832
  # Not all backend services support legacy health checks. See Load balancer guide.
3811
3833
  # Currently, at most one health check can be specified for each backend service.
3812
3834
  # Backend services with instance group or zonal NEG backends must have a health
3813
- # check. Backend services with internet or serverless NEG backends must not have
3814
- # a health check.
3835
+ # check unless haPolicy is specified. Backend services with internet or
3836
+ # serverless NEG backends must not have a health check. healthChecks[] cannot be
3837
+ # specified with haPolicy.
3815
3838
  # Corresponds to the JSON property `healthChecks`
3816
3839
  # @return [Array<String>]
3817
3840
  attr_accessor :health_checks
@@ -3899,6 +3922,7 @@ module Google
3899
3922
  # default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH
3900
3923
  # are supported when the backend service is referenced by a URL map that is
3901
3924
  # bound to target gRPC proxy that has validateForProxyless field set to true.
3925
+ # localityLbPolicy cannot be specified with haPolicy.
3902
3926
  # Corresponds to the JSON property `localityLbPolicy`
3903
3927
  # @return [String]
3904
3928
  attr_accessor :locality_lb_policy
@@ -3933,14 +3957,17 @@ module Google
3933
3957
  # @return [String]
3934
3958
  attr_accessor :name
3935
3959
 
3936
- # The URL of the network to which this backend service belongs. This field can
3937
- # only be specified when the load balancing scheme is set to INTERNAL.
3960
+ # The URL of the network to which this backend service belongs. This field must
3961
+ # be set for Internal Passthrough Network Load Balancers when the haPolicy is
3962
+ # enabled, and for External Passthrough Network Load Balancers when the haPolicy
3963
+ # fastIpMove is enabled. This field can only be specified when the load
3964
+ # balancing scheme is set to INTERNAL.
3938
3965
  # Corresponds to the JSON property `network`
3939
3966
  # @return [String]
3940
3967
  attr_accessor :network
3941
3968
 
3942
3969
  # Configures traffic steering properties of internal passthrough Network Load
3943
- # Balancers.
3970
+ # Balancers. networkPassThroughLbTrafficPolicy cannot be specified with haPolicy.
3944
3971
  # Corresponds to the JSON property `networkPassThroughLbTrafficPolicy`
3945
3972
  # @return [Google::Apis::ComputeBeta::BackendServiceNetworkPassThroughLbTrafficPolicy]
3946
3973
  attr_accessor :network_pass_through_lb_traffic_policy
@@ -4020,7 +4047,8 @@ module Google
4020
4047
  # HEADER_FIELD are supported when the backend service is referenced by a URL map
4021
4048
  # that is bound to target gRPC proxy that has validateForProxyless field set to
4022
4049
  # true. For more details, see: [Session Affinity](https://cloud.google.com/load-
4023
- # balancing/docs/backend-service#session_affinity).
4050
+ # balancing/docs/backend-service#session_affinity). sessionAffinity cannot be
4051
+ # specified with haPolicy.
4024
4052
  # Corresponds to the JSON property `sessionAffinity`
4025
4053
  # @return [String]
4026
4054
  attr_accessor :session_affinity
@@ -4086,6 +4114,7 @@ module Google
4086
4114
  @external_managed_migration_testing_percentage = args[:external_managed_migration_testing_percentage] if args.key?(:external_managed_migration_testing_percentage)
4087
4115
  @failover_policy = args[:failover_policy] if args.key?(:failover_policy)
4088
4116
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
4117
+ @ha_policy = args[:ha_policy] if args.key?(:ha_policy)
4089
4118
  @health_checks = args[:health_checks] if args.key?(:health_checks)
4090
4119
  @iap = args[:iap] if args.key?(:iap)
4091
4120
  @id = args[:id] if args.key?(:id)
@@ -4290,7 +4319,7 @@ module Google
4290
4319
  attr_accessor :client_ttl
4291
4320
 
4292
4321
  # Specifies the default TTL for cached content served by this origin for
4293
- # responses that do not have an existing valid TTL (max-age or s-max-age).
4322
+ # responses that do not have an existing valid TTL (max-age or s-maxage).
4294
4323
  # Setting a TTL of "0" means "always revalidate". The value of defaultTTL cannot
4295
4324
  # be set to a value greater than that of maxTTL, but can be equal. When the
4296
4325
  # cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set
@@ -4354,7 +4383,7 @@ module Google
4354
4383
  # that do not specify a max-stale directive. Stale responses that exceed the TTL
4355
4384
  # configured here will not be served. The default limit (max-stale) is 86400s (1
4356
4385
  # day), which will allow stale content to be served up to this limit beyond the
4357
- # max-age (or s-max-age) of a cached response. The maximum allowed value is
4386
+ # max-age (or s-maxage) of a cached response. The maximum allowed value is
4358
4387
  # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
4359
4388
  # Corresponds to the JSON property `serveWhileStale`
4360
4389
  # @return [Fixnum]
@@ -4680,6 +4709,71 @@ module Google
4680
4709
  end
4681
4710
  end
4682
4711
 
4712
+ #
4713
+ class BackendServiceHaPolicy
4714
+ include Google::Apis::Core::Hashable
4715
+
4716
+ # Specifies whether fast IP move is enabled, and if so, the mechanism to achieve
4717
+ # it. Supported values are: - DISABLED: Fast IP Move is disabled. You can only
4718
+ # use the haPolicy.leader API to update the leader. - >GARP_RA: Provides a
4719
+ # method to very quickly define a new network endpoint as the leader. This
4720
+ # method is faster than updating the leader using the haPolicy.leader API. Fast
4721
+ # IP move works as follows: The VM hosting the network endpoint that should
4722
+ # become the new leader sends either a Gratuitous ARP (GARP) packet (IPv4) or an
4723
+ # ICMPv6 Router Advertisement(RA) packet (IPv6). Google Cloud immediately but
4724
+ # temporarily associates the forwarding rule IP address with that VM, and both
4725
+ # new and in-flight packets are quickly delivered to that VM. Note the important
4726
+ # properties of the Fast IP Move functionality: - The GARP/RA-initiated re-
4727
+ # routing stays active for approximately 20 minutes. After triggering fast
4728
+ # failover, you must also appropriately set the haPolicy.leader. - The new
4729
+ # leader instance should continue to send GARP/RA packets periodically every 10
4730
+ # seconds until at least 10 minutes after updating the haPolicy.leader (but stop
4731
+ # immediately if it is no longer the leader). - After triggering a fast failover,
4732
+ # we recommend that you wait at least 3 seconds before sending another GARP/RA
4733
+ # packet from a different VM instance to avoid race conditions. - Don't send
4734
+ # GARP/RA packets from different VM instances at the same time. If multiple
4735
+ # instances continue to send GARP/RA packets, traffic might be routed to
4736
+ # different destinations in an alternating order. This condition ceases when a
4737
+ # single instance issues a GARP/RA packet. - The GARP/RA request always takes
4738
+ # priority over the leader API. Using the haPolicy.leader API to change the
4739
+ # leader to a different instance will have no effect until the GARP/RA request
4740
+ # becomes inactive. - The GARP/RA packets should follow the GARP/RA Packet
4741
+ # Specifications.. - When multiple forwarding rules refer to a regional backend
4742
+ # service, you need only send a GARP or RA packet for a single forwarding rule
4743
+ # virtual IP. The virtual IPs for all forwarding rules targeting the same
4744
+ # backend service will also be moved to the sender of the GARP or RA packet. The
4745
+ # following are the Fast IP Move limitations (that is, when fastIPMove is not
4746
+ # DISABLED): - Multiple forwarding rules cannot use the same IP address if one
4747
+ # of them refers to a regional backend service with fastIPMove. - The regional
4748
+ # backend service must set the network field, and all NEGs must belong to that
4749
+ # network. However, individual NEGs can belong to different subnetworks of that
4750
+ # network. - The maximum number of network endpoints across all backends of a
4751
+ # backend service with fastIPMove is 64. - The maximum number of backend
4752
+ # services with fastIPMove that can have the same network endpoint attached to
4753
+ # one of its backends is 64. - The maximum number of backend services with
4754
+ # fastIPMove in a VPC in a region is 64. - The network endpoints that are
4755
+ # attached to a backend of a backend service with fastIPMove cannot resolve to
4756
+ # Gen3+ machines for IPv6. - Traffic directed to the leader by a static route
4757
+ # next hop will not be redirected to a new leader by fast failover. Such traffic
4758
+ # will only be redirected once an haPolicy.leader update has taken effect. Only
4759
+ # traffic to the forwarding rule's virtual IP will be redirected to a new leader
4760
+ # by fast failover. haPolicy.fastIPMove can be set only at backend service
4761
+ # creation time. Once set, it cannot be updated. By default, fastIpMove is set
4762
+ # to DISABLED.
4763
+ # Corresponds to the JSON property `fastIPMove`
4764
+ # @return [String]
4765
+ attr_accessor :fast_ip_move
4766
+
4767
+ def initialize(**args)
4768
+ update!(**args)
4769
+ end
4770
+
4771
+ # Update properties of this object
4772
+ def update!(**args)
4773
+ @fast_ip_move = args[:fast_ip_move] if args.key?(:fast_ip_move)
4774
+ end
4775
+ end
4776
+
4683
4777
  # The HTTP cookie used for stateful session affinity.
4684
4778
  class BackendServiceHttpCookie
4685
4779
  include Google::Apis::Core::Hashable
@@ -6057,8 +6151,8 @@ module Google
6057
6151
  class CacheInvalidationRule
6058
6152
  include Google::Apis::Core::Hashable
6059
6153
 
6060
- # [Preview] A list of cache tags used to identify cached objects. - Cache tags
6061
- # are specified when the response is first cached, by setting the `Cache-Tag`
6154
+ # A list of cache tags used to identify cached objects. - Cache tags are
6155
+ # specified when the response is first cached, by setting the `Cache-Tag`
6062
6156
  # response header at the origin. - Multiple cache tags in the same invalidation
6063
6157
  # request are treated as Boolean `OR` - for example, `tag1 OR tag2 OR tag3`. -
6064
6158
  # If other fields are also specified, these are treated as Boolean `AND` with
@@ -7091,11 +7185,6 @@ module Google
7091
7185
  # @return [String]
7092
7186
  attr_accessor :self_link
7093
7187
 
7094
- # [Output Only] Server-defined URL for this resource with the resource id.
7095
- # Corresponds to the JSON property `selfLinkWithId`
7096
- # @return [String]
7097
- attr_accessor :self_link_with_id
7098
-
7099
7188
  def initialize(**args)
7100
7189
  update!(**args)
7101
7190
  end
@@ -7108,7 +7197,6 @@ module Google
7108
7197
  @kind = args[:kind] if args.key?(:kind)
7109
7198
  @name = args[:name] if args.key?(:name)
7110
7199
  @self_link = args[:self_link] if args.key?(:self_link)
7111
- @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
7112
7200
  end
7113
7201
  end
7114
7202
 
@@ -9871,6 +9959,11 @@ module Google
9871
9959
  # @return [String]
9872
9960
  attr_accessor :network
9873
9961
 
9962
+ # Additional firewall parameters.
9963
+ # Corresponds to the JSON property `params`
9964
+ # @return [Google::Apis::ComputeBeta::FirewallParams]
9965
+ attr_accessor :params
9966
+
9874
9967
  # Priority for this rule. This is an integer between `0` and `65535`, both
9875
9968
  # inclusive. The default value is `1000`. Relative priorities determine which
9876
9969
  # rule takes effect if multiple rules apply. Lower values indicate higher
@@ -9964,6 +10057,7 @@ module Google
9964
10057
  @log_config = args[:log_config] if args.key?(:log_config)
9965
10058
  @name = args[:name] if args.key?(:name)
9966
10059
  @network = args[:network] if args.key?(:network)
10060
+ @params = args[:params] if args.key?(:params)
9967
10061
  @priority = args[:priority] if args.key?(:priority)
9968
10062
  @self_link = args[:self_link] if args.key?(:self_link)
9969
10063
  @source_ranges = args[:source_ranges] if args.key?(:source_ranges)
@@ -10182,6 +10276,32 @@ module Google
10182
10276
  end
10183
10277
  end
10184
10278
 
10279
+ # Additional firewall parameters.
10280
+ class FirewallParams
10281
+ include Google::Apis::Core::Hashable
10282
+
10283
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
10284
+ # same definition as resource manager tags. The field is allowed for INSERT only.
10285
+ # The keys/values to set on the resource should be specified in either ID ` : `
10286
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
10287
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
10288
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
10289
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
10290
+ # "tagValues/444"` is invalid.
10291
+ # Corresponds to the JSON property `resourceManagerTags`
10292
+ # @return [Hash<String,String>]
10293
+ attr_accessor :resource_manager_tags
10294
+
10295
+ def initialize(**args)
10296
+ update!(**args)
10297
+ end
10298
+
10299
+ # Update properties of this object
10300
+ def update!(**args)
10301
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
10302
+ end
10303
+ end
10304
+
10185
10305
  #
10186
10306
  class FirewallPoliciesListAssociationsResponse
10187
10307
  include Google::Apis::Core::Hashable
@@ -10469,6 +10589,15 @@ module Google
10469
10589
  # @return [String]
10470
10590
  attr_accessor :name
10471
10591
 
10592
+ # An integer indicating the priority of an association. The priority must be a
10593
+ # positive value between 1 and 2147483647. Firewall Policies are evaluated from
10594
+ # highest to lowest priority where 1 is the highest priority and 2147483647 is
10595
+ # the lowest priority. The default value is `1000`. If two associations have the
10596
+ # same priority then lexicographical order on association names is applied.
10597
+ # Corresponds to the JSON property `priority`
10598
+ # @return [Fixnum]
10599
+ attr_accessor :priority
10600
+
10472
10601
  # [Output Only] The short name of the firewall policy of the association.
10473
10602
  # Corresponds to the JSON property `shortName`
10474
10603
  # @return [String]
@@ -10484,6 +10613,7 @@ module Google
10484
10613
  @display_name = args[:display_name] if args.key?(:display_name)
10485
10614
  @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
10486
10615
  @name = args[:name] if args.key?(:name)
10616
+ @priority = args[:priority] if args.key?(:priority)
10487
10617
  @short_name = args[:short_name] if args.key?(:short_name)
10488
10618
  end
10489
10619
  end
@@ -13021,6 +13151,59 @@ module Google
13021
13151
  end
13022
13152
  end
13023
13153
 
13154
+ #
13155
+ class GrpctlsHealthCheck
13156
+ include Google::Apis::Core::Hashable
13157
+
13158
+ # The gRPC service name for the health check. This field is optional. The value
13159
+ # of grpc_service_name has the following meanings by convention: - Empty
13160
+ # service_name means the overall status of all services at the backend. - Non-
13161
+ # empty service_name means the health of that gRPC service, as defined by the
13162
+ # owner of the service. The grpc_service_name can only be ASCII.
13163
+ # Corresponds to the JSON property `grpcServiceName`
13164
+ # @return [String]
13165
+ attr_accessor :grpc_service_name
13166
+
13167
+ # The TCP port number to which the health check prober sends packets. Valid
13168
+ # values are 1 through 65535.
13169
+ # Corresponds to the JSON property `port`
13170
+ # @return [Fixnum]
13171
+ attr_accessor :port
13172
+
13173
+ # Specifies how a port is selected for health checking. Can be one of the
13174
+ # following values: USE_FIXED_PORT: Specifies a port number explicitly using the
13175
+ # port field in the health check. Supported by backend services for passthrough
13176
+ # load balancers and backend services for proxy load balancers. Not supported by
13177
+ # target pools. The health check supports all backends supported by the backend
13178
+ # service provided the backend can be health checked. For example, GCE_VM_IP
13179
+ # network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance
13180
+ # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an
13181
+ # indirect method of specifying the health check port by referring to the
13182
+ # backend service. Only supported by backend services for proxy load balancers.
13183
+ # Not supported by target pools. Not supported by backend services for
13184
+ # passthrough load balancers. Supports all backends that can be health checked;
13185
+ # for example, GCE_VM_IP_PORT network endpoint groups and instance group
13186
+ # backends. For GCE_VM_IP_PORT network endpoint group backends, the health check
13187
+ # uses the port number specified for each endpoint in the network endpoint group.
13188
+ # For instance group backends, the health check uses the port number determined
13189
+ # by looking up the backend service's named port in the instance group's list of
13190
+ # named ports.
13191
+ # Corresponds to the JSON property `portSpecification`
13192
+ # @return [String]
13193
+ attr_accessor :port_specification
13194
+
13195
+ def initialize(**args)
13196
+ update!(**args)
13197
+ end
13198
+
13199
+ # Update properties of this object
13200
+ def update!(**args)
13201
+ @grpc_service_name = args[:grpc_service_name] if args.key?(:grpc_service_name)
13202
+ @port = args[:port] if args.key?(:port)
13203
+ @port_specification = args[:port_specification] if args.key?(:port_specification)
13204
+ end
13205
+ end
13206
+
13024
13207
  #
13025
13208
  class GlobalAddressesMoveRequest
13026
13209
  include Google::Apis::Core::Hashable
@@ -13391,8 +13574,8 @@ module Google
13391
13574
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
13392
13575
  # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
13393
13576
  # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE -
13394
- # TDX_CAPABLE - IDPF For more information, see Enabling guest operating system
13395
- # features.
13577
+ # TDX_CAPABLE - IDPF - SNP_SVSM_CAPABLE For more information, see Enabling guest
13578
+ # operating system features.
13396
13579
  # Corresponds to the JSON property `type`
13397
13580
  # @return [String]
13398
13581
  attr_accessor :type
@@ -13691,6 +13874,11 @@ module Google
13691
13874
  # @return [Google::Apis::ComputeBeta::GrpcHealthCheck]
13692
13875
  attr_accessor :grpc_health_check
13693
13876
 
13877
+ #
13878
+ # Corresponds to the JSON property `grpcTlsHealthCheck`
13879
+ # @return [Google::Apis::ComputeBeta::GrpctlsHealthCheck]
13880
+ attr_accessor :grpc_tls_health_check
13881
+
13694
13882
  # A so-far unhealthy instance will be marked healthy after this many consecutive
13695
13883
  # successes. The default value is 2.
13696
13884
  # Corresponds to the JSON property `healthyThreshold`
@@ -13805,6 +13993,7 @@ module Google
13805
13993
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
13806
13994
  @description = args[:description] if args.key?(:description)
13807
13995
  @grpc_health_check = args[:grpc_health_check] if args.key?(:grpc_health_check)
13996
+ @grpc_tls_health_check = args[:grpc_tls_health_check] if args.key?(:grpc_tls_health_check)
13808
13997
  @healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold)
13809
13998
  @http2_health_check = args[:http2_health_check] if args.key?(:http2_health_check)
13810
13999
  @http_health_check = args[:http_health_check] if args.key?(:http_health_check)
@@ -18059,11 +18248,12 @@ module Google
18059
18248
  class InstanceGroupManagerInstanceLifecyclePolicy
18060
18249
  include Google::Apis::Core::Hashable
18061
18250
 
18062
- # The action that a MIG performs on a failed or an unhealthy VM. A VM is marked
18063
- # as unhealthy when the application running on that VM fails a health check.
18064
- # Valid values are - REPAIR (default): MIG automatically repairs a failed or an
18065
- # unhealthy VM by recreating it. For more information, see About repairing VMs
18066
- # in a MIG. - DO_NOTHING: MIG does not repair a failed or an unhealthy VM.
18251
+ # The action that a MIG performs on a failed VM. If the value of the
18252
+ # onFailedHealthCheck field is `DEFAULT_ACTION`, then the same action also
18253
+ # applies to the VMs on which your application fails a health check. Valid
18254
+ # values are - REPAIR (default): MIG automatically repairs a failed VM by
18255
+ # recreating it. For more information, see About repairing VMs in a MIG. -
18256
+ # DO_NOTHING: MIG does not repair a failed VM.
18067
18257
  # Corresponds to the JSON property `defaultActionOnFailure`
18068
18258
  # @return [String]
18069
18259
  attr_accessor :default_action_on_failure
@@ -18269,6 +18459,14 @@ module Google
18269
18459
  # @return [Fixnum]
18270
18460
  attr_accessor :id
18271
18461
 
18462
+ # The names of instances to be created by this resize request. The number of
18463
+ # names specified determines the number of instances to create. The group's
18464
+ # target size will be increased by this number. This field cannot be used
18465
+ # together with 'resize_by'.
18466
+ # Corresponds to the JSON property `instances`
18467
+ # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
18468
+ attr_accessor :instances
18469
+
18272
18470
  # [Output Only] The resource type, which is always compute#
18273
18471
  # instanceGroupManagerResizeRequest for resize requests.
18274
18472
  # Corresponds to the JSON property `kind`
@@ -18338,6 +18536,7 @@ module Google
18338
18536
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
18339
18537
  @description = args[:description] if args.key?(:description)
18340
18538
  @id = args[:id] if args.key?(:id)
18539
+ @instances = args[:instances] if args.key?(:instances)
18341
18540
  @kind = args[:kind] if args.key?(:kind)
18342
18541
  @name = args[:name] if args.key?(:name)
18343
18542
  @region = args[:region] if args.key?(:region)
@@ -21384,7 +21583,7 @@ module Google
21384
21583
  class InstancesReportHostAsFaultyRequest
21385
21584
  include Google::Apis::Core::Hashable
21386
21585
 
21387
- # The disruption schedule for the VM. Default to IMMEDIATE.
21586
+ # The disruption schedule for the VM. Required field, only allows IMMEDIATE.
21388
21587
  # Corresponds to the JSON property `disruptionSchedule`
21389
21588
  # @return [String]
21390
21589
  attr_accessor :disruption_schedule
@@ -22400,7 +22599,8 @@ module Google
22400
22599
 
22401
22600
  # Type of link requested, which can take one of the following values: -
22402
22601
  # LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics -
22403
- # LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this
22602
+ # LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. -
22603
+ # LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics. Note that this
22404
22604
  # field indicates the speed of each of the links in the bundle, not the speed of
22405
22605
  # the entire bundle.
22406
22606
  # Corresponds to the JSON property `linkType`
@@ -23902,7 +24102,7 @@ module Google
23902
24102
 
23903
24103
  # [Output only] List of link types available at this InterconnectLocation, which
23904
24104
  # can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR -
23905
- # LINK_TYPE_ETHERNET_100G_LR
24105
+ # LINK_TYPE_ETHERNET_100G_LR - LINK_TYPE_ETHERNET_400G_LR4
23906
24106
  # Corresponds to the JSON property `availableLinkTypes`
23907
24107
  # @return [Array<String>]
23908
24108
  attr_accessor :available_link_types
@@ -25346,6 +25546,23 @@ module Google
25346
25546
  # @return [String]
25347
25547
  attr_accessor :kind
25348
25548
 
25549
+ # A fingerprint for the labels being applied to this machine image, which is
25550
+ # essentially a hash of the labels set used for optimistic locking. The
25551
+ # fingerprint is initially generated by Compute Engine and changes after every
25552
+ # request to modify or update labels. You must always provide an up-to-date
25553
+ # fingerprint hash in order to update or change labels. To see the latest
25554
+ # fingerprint, make get() request to the machine image.
25555
+ # Corresponds to the JSON property `labelFingerprint`
25556
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
25557
+ # @return [String]
25558
+ attr_accessor :label_fingerprint
25559
+
25560
+ # Labels to apply to this machine image. These can be later modified by the
25561
+ # setLabels method.
25562
+ # Corresponds to the JSON property `labels`
25563
+ # @return [Hash<String,String>]
25564
+ attr_accessor :labels
25565
+
25349
25566
  # Encrypts the machine image using a customer-supplied encryption key. After you
25350
25567
  # encrypt a machine image using a customer-supplied key, you must provide the
25351
25568
  # same key if you use the machine image later. For example, you must provide the
@@ -25442,6 +25659,8 @@ module Google
25442
25659
  @id = args[:id] if args.key?(:id)
25443
25660
  @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
25444
25661
  @kind = args[:kind] if args.key?(:kind)
25662
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
25663
+ @labels = args[:labels] if args.key?(:labels)
25445
25664
  @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
25446
25665
  @name = args[:name] if args.key?(:name)
25447
25666
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
@@ -26966,6 +27185,11 @@ module Google
26966
27185
  # @return [String]
26967
27186
  attr_accessor :network_profile
26968
27187
 
27188
+ # Additional network parameters.
27189
+ # Corresponds to the JSON property `params`
27190
+ # @return [Google::Apis::ComputeBeta::NetworkParams]
27191
+ attr_accessor :params
27192
+
26969
27193
  # [Output Only] A list of network peerings for the resource.
26970
27194
  # Corresponds to the JSON property `peerings`
26971
27195
  # @return [Array<Google::Apis::ComputeBeta::NetworkPeering>]
@@ -27014,6 +27238,7 @@ module Google
27014
27238
  @name = args[:name] if args.key?(:name)
27015
27239
  @network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order)
27016
27240
  @network_profile = args[:network_profile] if args.key?(:network_profile)
27241
+ @params = args[:params] if args.key?(:params)
27017
27242
  @peerings = args[:peerings] if args.key?(:peerings)
27018
27243
  @routing_config = args[:routing_config] if args.key?(:routing_config)
27019
27244
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -29312,6 +29537,32 @@ module Google
29312
29537
  end
29313
29538
  end
29314
29539
 
29540
+ # Additional network parameters.
29541
+ class NetworkParams
29542
+ include Google::Apis::Core::Hashable
29543
+
29544
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
29545
+ # same definition as resource manager tags. The field is allowed for INSERT only.
29546
+ # The keys/values to set on the resource should be specified in either ID ` : `
29547
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
29548
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
29549
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
29550
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
29551
+ # "tagValues/444"` is invalid.
29552
+ # Corresponds to the JSON property `resourceManagerTags`
29553
+ # @return [Hash<String,String>]
29554
+ attr_accessor :resource_manager_tags
29555
+
29556
+ def initialize(**args)
29557
+ update!(**args)
29558
+ end
29559
+
29560
+ # Update properties of this object
29561
+ def update!(**args)
29562
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
29563
+ end
29564
+ end
29565
+
29315
29566
  # A network peering attached to a network resource. The message includes the
29316
29567
  # peering name, peer network, peering state, and a flag indicating whether
29317
29568
  # Google Compute Engine should automatically create routes for the peering.
@@ -29385,7 +29636,7 @@ module Google
29385
29636
  # @return [String]
29386
29637
  attr_accessor :network
29387
29638
 
29388
- # Maximum Transmission Unit in bytes.
29639
+ # [Output Only] Maximum Transmission Unit in bytes of the peer network.
29389
29640
  # Corresponds to the JSON property `peerMtu`
29390
29641
  # @return [Fixnum]
29391
29642
  attr_accessor :peer_mtu
@@ -29576,6 +29827,11 @@ module Google
29576
29827
  # @return [String]
29577
29828
  attr_accessor :allow_cloud_router
29578
29829
 
29830
+ # Specifies whether default NIC attachment is allowed.
29831
+ # Corresponds to the JSON property `allowDefaultNicAttachment`
29832
+ # @return [String]
29833
+ attr_accessor :allow_default_nic_attachment
29834
+
29579
29835
  # Specifies whether VMs are allowed to have external IP access on network
29580
29836
  # interfaces connected to this VPC.
29581
29837
  # Corresponds to the JSON property `allowExternalIpAccess`
@@ -29587,6 +29843,11 @@ module Google
29587
29843
  # @return [String]
29588
29844
  attr_accessor :allow_interconnect
29589
29845
 
29846
+ # Specifies whether IP forwarding is allowed.
29847
+ # Corresponds to the JSON property `allowIpForwarding`
29848
+ # @return [String]
29849
+ attr_accessor :allow_ip_forwarding
29850
+
29590
29851
  # Specifies whether cloud load balancing is allowed.
29591
29852
  # Corresponds to the JSON property `allowLoadBalancing`
29592
29853
  # @return [String]
@@ -29597,6 +29858,16 @@ module Google
29597
29858
  # @return [String]
29598
29859
  attr_accessor :allow_multi_nic_in_same_network
29599
29860
 
29861
+ # Specifies whether NCC is allowed.
29862
+ # Corresponds to the JSON property `allowNcc`
29863
+ # @return [String]
29864
+ attr_accessor :allow_ncc
29865
+
29866
+ # Specifies whether VM network migration is allowed.
29867
+ # Corresponds to the JSON property `allowNetworkMigration`
29868
+ # @return [String]
29869
+ attr_accessor :allow_network_migration
29870
+
29600
29871
  # Specifies whether Packet Mirroring 1.0 is supported.
29601
29872
  # Corresponds to the JSON property `allowPacketMirroring`
29602
29873
  # @return [String]
@@ -29653,6 +29924,16 @@ module Google
29653
29924
  # @return [Array<String>]
29654
29925
  attr_accessor :subnet_stack_types
29655
29926
 
29927
+ # Specifies which subnetwork purposes are supported.
29928
+ # Corresponds to the JSON property `subnetworkPurposes`
29929
+ # @return [Array<String>]
29930
+ attr_accessor :subnetwork_purposes
29931
+
29932
+ # Specifies which subnetwork stack types are supported.
29933
+ # Corresponds to the JSON property `subnetworkStackTypes`
29934
+ # @return [Array<String>]
29935
+ attr_accessor :subnetwork_stack_types
29936
+
29656
29937
  # Specifies which type of unicast is supported.
29657
29938
  # Corresponds to the JSON property `unicast`
29658
29939
  # @return [String]
@@ -29670,10 +29951,14 @@ module Google
29670
29951
  @allow_class_d_firewalls = args[:allow_class_d_firewalls] if args.key?(:allow_class_d_firewalls)
29671
29952
  @allow_cloud_nat = args[:allow_cloud_nat] if args.key?(:allow_cloud_nat)
29672
29953
  @allow_cloud_router = args[:allow_cloud_router] if args.key?(:allow_cloud_router)
29954
+ @allow_default_nic_attachment = args[:allow_default_nic_attachment] if args.key?(:allow_default_nic_attachment)
29673
29955
  @allow_external_ip_access = args[:allow_external_ip_access] if args.key?(:allow_external_ip_access)
29674
29956
  @allow_interconnect = args[:allow_interconnect] if args.key?(:allow_interconnect)
29957
+ @allow_ip_forwarding = args[:allow_ip_forwarding] if args.key?(:allow_ip_forwarding)
29675
29958
  @allow_load_balancing = args[:allow_load_balancing] if args.key?(:allow_load_balancing)
29676
29959
  @allow_multi_nic_in_same_network = args[:allow_multi_nic_in_same_network] if args.key?(:allow_multi_nic_in_same_network)
29960
+ @allow_ncc = args[:allow_ncc] if args.key?(:allow_ncc)
29961
+ @allow_network_migration = args[:allow_network_migration] if args.key?(:allow_network_migration)
29677
29962
  @allow_packet_mirroring = args[:allow_packet_mirroring] if args.key?(:allow_packet_mirroring)
29678
29963
  @allow_private_google_access = args[:allow_private_google_access] if args.key?(:allow_private_google_access)
29679
29964
  @allow_psc = args[:allow_psc] if args.key?(:allow_psc)
@@ -29685,6 +29970,8 @@ module Google
29685
29970
  @interface_types = args[:interface_types] if args.key?(:interface_types)
29686
29971
  @subnet_purposes = args[:subnet_purposes] if args.key?(:subnet_purposes)
29687
29972
  @subnet_stack_types = args[:subnet_stack_types] if args.key?(:subnet_stack_types)
29973
+ @subnetwork_purposes = args[:subnetwork_purposes] if args.key?(:subnetwork_purposes)
29974
+ @subnetwork_stack_types = args[:subnetwork_stack_types] if args.key?(:subnetwork_stack_types)
29688
29975
  @unicast = args[:unicast] if args.key?(:unicast)
29689
29976
  end
29690
29977
  end
@@ -37454,6 +37741,12 @@ module Google
37454
37741
  # @return [String]
37455
37742
  attr_accessor :kind
37456
37743
 
37744
+ # [Output Only] Full or partial URL to parent commitments. This field displays
37745
+ # for reservations that are tied to multiple commitments.
37746
+ # Corresponds to the JSON property `linkedCommitments`
37747
+ # @return [Array<String>]
37748
+ attr_accessor :linked_commitments
37749
+
37457
37750
  # The name of the resource, provided by the client when initially creating the
37458
37751
  # resource. The resource name must be 1-63 characters long, and comply with
37459
37752
  # RFC1035. Specifically, the name must be 1-63 characters long and match the
@@ -37546,6 +37839,7 @@ module Google
37546
37839
  @description = args[:description] if args.key?(:description)
37547
37840
  @id = args[:id] if args.key?(:id)
37548
37841
  @kind = args[:kind] if args.key?(:kind)
37842
+ @linked_commitments = args[:linked_commitments] if args.key?(:linked_commitments)
37549
37843
  @name = args[:name] if args.key?(:name)
37550
37844
  @reservation_mode = args[:reservation_mode] if args.key?(:reservation_mode)
37551
37845
  @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
@@ -39129,6 +39423,11 @@ module Google
39129
39423
  # @return [Hash<String,String>]
39130
39424
  attr_accessor :labels
39131
39425
 
39426
+ # Region where the snapshot is scoped to.
39427
+ # Corresponds to the JSON property `region`
39428
+ # @return [String]
39429
+ attr_accessor :region
39430
+
39132
39431
  # Cloud Storage bucket storage location of the auto snapshot (regional or multi-
39133
39432
  # regional).
39134
39433
  # Corresponds to the JSON property `storageLocations`
@@ -39144,6 +39443,7 @@ module Google
39144
39443
  @chain_name = args[:chain_name] if args.key?(:chain_name)
39145
39444
  @guest_flush = args[:guest_flush] if args.key?(:guest_flush)
39146
39445
  @labels = args[:labels] if args.key?(:labels)
39446
+ @region = args[:region] if args.key?(:region)
39147
39447
  @storage_locations = args[:storage_locations] if args.key?(:storage_locations)
39148
39448
  end
39149
39449
  end
@@ -39516,8 +39816,9 @@ module Google
39516
39816
  attr_accessor :next_hop_inter_region_cost
39517
39817
 
39518
39818
  # [Output Only] The URL to an InterconnectAttachment which is the next hop for
39519
- # the route. This field will only be populated for the dynamic routes generated
39520
- # by Cloud Router with a linked interconnectAttachment.
39819
+ # the route. This field will only be populated for dynamic routes generated by
39820
+ # Cloud Router with a linked interconnectAttachment or the static route
39821
+ # generated by each L2 Interconnect Attachment.
39521
39822
  # Corresponds to the JSON property `nextHopInterconnectAttachment`
39522
39823
  # @return [String]
39523
39824
  attr_accessor :next_hop_interconnect_attachment
@@ -39560,6 +39861,11 @@ module Google
39560
39861
  # @return [String]
39561
39862
  attr_accessor :next_hop_vpn_tunnel
39562
39863
 
39864
+ # Additional route parameters.
39865
+ # Corresponds to the JSON property `params`
39866
+ # @return [Google::Apis::ComputeBeta::RouteParams]
39867
+ attr_accessor :params
39868
+
39563
39869
  # The priority of this route. Priority is used to break ties in cases where
39564
39870
  # there is more than one matching route of equal prefix length. In cases where
39565
39871
  # multiple routes have equal prefix length, the one with the lowest-numbered
@@ -39625,6 +39931,7 @@ module Google
39625
39931
  @next_hop_origin = args[:next_hop_origin] if args.key?(:next_hop_origin)
39626
39932
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
39627
39933
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
39934
+ @params = args[:params] if args.key?(:params)
39628
39935
  @priority = args[:priority] if args.key?(:priority)
39629
39936
  @route_status = args[:route_status] if args.key?(:route_status)
39630
39937
  @route_type = args[:route_type] if args.key?(:route_type)
@@ -39846,6 +40153,32 @@ module Google
39846
40153
  end
39847
40154
  end
39848
40155
 
40156
+ # Additional route parameters.
40157
+ class RouteParams
40158
+ include Google::Apis::Core::Hashable
40159
+
40160
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
40161
+ # same definition as resource manager tags. The field is allowed for INSERT only.
40162
+ # The keys/values to set on the resource should be specified in either ID ` : `
40163
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
40164
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
40165
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
40166
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
40167
+ # "tagValues/444"` is invalid.
40168
+ # Corresponds to the JSON property `resourceManagerTags`
40169
+ # @return [Hash<String,String>]
40170
+ attr_accessor :resource_manager_tags
40171
+
40172
+ def initialize(**args)
40173
+ update!(**args)
40174
+ end
40175
+
40176
+ # Update properties of this object
40177
+ def update!(**args)
40178
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
40179
+ end
40180
+ end
40181
+
39849
40182
  #
39850
40183
  class RoutePolicy
39851
40184
  include Google::Apis::Core::Hashable
@@ -45398,7 +45731,7 @@ module Google
45398
45731
 
45399
45732
  # Represents a Persistent Disk Snapshot resource. You can use snapshots to back
45400
45733
  # up data on a regular interval. For more information, read Creating persistent
45401
- # disk snapshots.
45734
+ # disk snapshots. LINT.IfChange
45402
45735
  class Snapshot
45403
45736
  include Google::Apis::Core::Hashable
45404
45737
 
@@ -48968,6 +49301,11 @@ module Google
48968
49301
  # @return [String]
48969
49302
  attr_accessor :network
48970
49303
 
49304
+ # Additional subnetwork parameters.
49305
+ # Corresponds to the JSON property `params`
49306
+ # @return [Google::Apis::ComputeBeta::SubnetworkParams]
49307
+ attr_accessor :params
49308
+
48971
49309
  # Whether the VMs in this subnet can access Google services without assigned
48972
49310
  # external IP addresses. This field can be both set at resource creation time
48973
49311
  # and updated using setPrivateIpGoogleAccess.
@@ -48982,20 +49320,7 @@ module Google
48982
49320
  # @return [String]
48983
49321
  attr_accessor :private_ipv6_google_access
48984
49322
 
48985
- # The purpose of the resource. This field can be either PRIVATE,
48986
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION,
48987
- # PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for
48988
- # user-created subnets or subnets that are automatically created in auto mode
48989
- # networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or
48990
- # REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for
48991
- # Envoy-based load balancers. A subnet with purpose set to
48992
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
48993
- # Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet
48994
- # migration from one peered VPC to another. A subnet with purpose set to
48995
- # PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If
48996
- # unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field
48997
- # isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
48998
- # REGIONAL_MANAGED_PROXY.
49323
+ #
48999
49324
  # Corresponds to the JSON property `purpose`
49000
49325
  # @return [String]
49001
49326
  attr_accessor :purpose
@@ -49076,6 +49401,7 @@ module Google
49076
49401
  @log_config = args[:log_config] if args.key?(:log_config)
49077
49402
  @name = args[:name] if args.key?(:name)
49078
49403
  @network = args[:network] if args.key?(:network)
49404
+ @params = args[:params] if args.key?(:params)
49079
49405
  @private_ip_google_access = args[:private_ip_google_access] if args.key?(:private_ip_google_access)
49080
49406
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
49081
49407
  @purpose = args[:purpose] if args.key?(:purpose)
@@ -49397,6 +49723,32 @@ module Google
49397
49723
  end
49398
49724
  end
49399
49725
 
49726
+ # Additional subnetwork parameters.
49727
+ class SubnetworkParams
49728
+ include Google::Apis::Core::Hashable
49729
+
49730
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
49731
+ # same definition as resource manager tags. The field is allowed for INSERT only.
49732
+ # The keys/values to set on the resource should be specified in either ID ` : `
49733
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
49734
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
49735
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
49736
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
49737
+ # "tagValues/444"` is invalid.
49738
+ # Corresponds to the JSON property `resourceManagerTags`
49739
+ # @return [Hash<String,String>]
49740
+ attr_accessor :resource_manager_tags
49741
+
49742
+ def initialize(**args)
49743
+ update!(**args)
49744
+ end
49745
+
49746
+ # Update properties of this object
49747
+ def update!(**args)
49748
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
49749
+ end
49750
+ end
49751
+
49400
49752
  # Represents a secondary IP range of a subnetwork.
49401
49753
  class SubnetworkSecondaryRange
49402
49754
  include Google::Apis::Core::Hashable
@@ -53422,6 +53774,12 @@ module Google
53422
53774
  # @return [String]
53423
53775
  attr_accessor :latest_window_start_time
53424
53776
 
53777
+ # Indicates whether the UpcomingMaintenance will be triggered on VM shutdown.
53778
+ # Corresponds to the JSON property `maintenanceOnShutdown`
53779
+ # @return [Boolean]
53780
+ attr_accessor :maintenance_on_shutdown
53781
+ alias_method :maintenance_on_shutdown?, :maintenance_on_shutdown
53782
+
53425
53783
  #
53426
53784
  # Corresponds to the JSON property `maintenanceStatus`
53427
53785
  # @return [String]
@@ -53452,6 +53810,7 @@ module Google
53452
53810
  def update!(**args)
53453
53811
  @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
53454
53812
  @latest_window_start_time = args[:latest_window_start_time] if args.key?(:latest_window_start_time)
53813
+ @maintenance_on_shutdown = args[:maintenance_on_shutdown] if args.key?(:maintenance_on_shutdown)
53455
53814
  @maintenance_status = args[:maintenance_status] if args.key?(:maintenance_status)
53456
53815
  @type = args[:type] if args.key?(:type)
53457
53816
  @window_end_time = args[:window_end_time] if args.key?(:window_end_time)
@@ -54257,20 +54616,7 @@ module Google
54257
54616
  # @return [String]
54258
54617
  attr_accessor :network
54259
54618
 
54260
- # The purpose of the resource. This field can be either PRIVATE,
54261
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION,
54262
- # PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for
54263
- # user-created subnets or subnets that are automatically created in auto mode
54264
- # networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or
54265
- # REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for
54266
- # Envoy-based load balancers. A subnet with purpose set to
54267
- # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
54268
- # Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet
54269
- # migration from one peered VPC to another. A subnet with purpose set to
54270
- # PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If
54271
- # unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field
54272
- # isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
54273
- # REGIONAL_MANAGED_PROXY.
54619
+ #
54274
54620
  # Corresponds to the JSON property `purpose`
54275
54621
  # @return [String]
54276
54622
  attr_accessor :purpose
@@ -56186,11 +56532,6 @@ module Google
56186
56532
  # @return [String]
56187
56533
  attr_accessor :self_link
56188
56534
 
56189
- #
56190
- # Corresponds to the JSON property `selfLinkWithId`
56191
- # @return [String]
56192
- attr_accessor :self_link_with_id
56193
-
56194
56535
  # Topology details for the wire group.
56195
56536
  # Corresponds to the JSON property `topology`
56196
56537
  # @return [Google::Apis::ComputeBeta::WireGroupTopology]
@@ -56226,7 +56567,6 @@ module Google
56226
56567
  @kind = args[:kind] if args.key?(:kind)
56227
56568
  @name = args[:name] if args.key?(:name)
56228
56569
  @self_link = args[:self_link] if args.key?(:self_link)
56229
- @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
56230
56570
  @topology = args[:topology] if args.key?(:topology)
56231
56571
  @wire_group_properties = args[:wire_group_properties] if args.key?(:wire_group_properties)
56232
56572
  @wire_properties = args[:wire_properties] if args.key?(:wire_properties)