google-apis-compute_alpha 0.17.0 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -521,7 +521,9 @@ module Google
521
521
  attr_accessor :public_dns_name
522
522
 
523
523
  # The DNS domain name for the public PTR record. You can set this field only if
524
- # the `setPublicPtr` field is enabled.
524
+ # the `setPublicPtr` field is enabled in accessConfig. If this field is
525
+ # unspecified in ipv6AccessConfig, a default PTR record will be createc for
526
+ # first IP in associated external IPv6 range.
525
527
  # Corresponds to the JSON property `publicPtrDomainName`
526
528
  # @return [String]
527
529
  attr_accessor :public_ptr_domain_name
@@ -534,7 +536,9 @@ module Google
534
536
  alias_method :set_public_dns?, :set_public_dns
535
537
 
536
538
  # Specifies whether a public DNS 'PTR' record should be created to map the
537
- # external IP address of the instance to a DNS domain name.
539
+ # external IP address of the instance to a DNS domain name. This field is not
540
+ # used in ipv6AccessConfig. A default PTR record will be created if the VM has
541
+ # external IPv6 range associated.
538
542
  # Corresponds to the JSON property `setPublicPtr`
539
543
  # @return [Boolean]
540
544
  attr_accessor :set_public_ptr
@@ -668,14 +672,14 @@ module Google
668
672
  # regional internal IP address in a subnet of a VPC network) - VPC_PEERING for
669
673
  # global internal IP addresses used for private services access allocated ranges.
670
674
  # - NAT_AUTO for the regional external IP addresses used by Cloud NAT when
671
- # allocating addresses using . - IPSEC_INTERCONNECT for addresses created from a
672
- # private IP range that are reserved for a VLAN attachment in an *IPsec-
673
- # encrypted Cloud Interconnect* configuration. These addresses are regional
674
- # resources. Not currently available publicly. - `SHARED_LOADBALANCER_VIP` for
675
- # an internal IP address that is assigned to multiple internal forwarding rules.
676
- # - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to
677
- # configure Private Service Connect. Only global internal addresses can use this
678
- # purpose.
675
+ # allocating addresses using automatic NAT IP address allocation. -
676
+ # IPSEC_INTERCONNECT for addresses created from a private IP range that are
677
+ # reserved for a VLAN attachment in an *IPsec-encrypted Cloud Interconnect*
678
+ # configuration. These addresses are regional resources. Not currently available
679
+ # publicly. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is
680
+ # assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT`
681
+ # for a private network address that is used to configure Private Service
682
+ # Connect. Only global internal addresses can use this purpose.
679
683
  # Corresponds to the JSON property `purpose`
680
684
  # @return [String]
681
685
  attr_accessor :purpose
@@ -1094,6 +1098,12 @@ module Google
1094
1098
  attr_accessor :enable_nested_virtualization
1095
1099
  alias_method :enable_nested_virtualization?, :enable_nested_virtualization
1096
1100
 
1101
+ # Whether to enable UEFI networking for instance creation.
1102
+ # Corresponds to the JSON property `enableUefiNetworking`
1103
+ # @return [Boolean]
1104
+ attr_accessor :enable_uefi_networking
1105
+ alias_method :enable_uefi_networking?, :enable_uefi_networking
1106
+
1097
1107
  # The number of vNUMA nodes.
1098
1108
  # Corresponds to the JSON property `numaNodeCount`
1099
1109
  # @return [Fixnum]
@@ -1121,6 +1131,7 @@ module Google
1121
1131
  # Update properties of this object
1122
1132
  def update!(**args)
1123
1133
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1134
+ @enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking)
1124
1135
  @numa_node_count = args[:numa_node_count] if args.key?(:numa_node_count)
1125
1136
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1126
1137
  @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
@@ -1250,6 +1261,11 @@ module Google
1250
1261
  class AllocationSpecificSkuReservation
1251
1262
  include Google::Apis::Core::Hashable
1252
1263
 
1264
+ # [Output Only] Indicates how many instances are actually usable currently.
1265
+ # Corresponds to the JSON property `assuredCount`
1266
+ # @return [Fixnum]
1267
+ attr_accessor :assured_count
1268
+
1253
1269
  # Specifies the number of resources that are allocated.
1254
1270
  # Corresponds to the JSON property `count`
1255
1271
  # @return [Fixnum]
@@ -1271,6 +1287,7 @@ module Google
1271
1287
 
1272
1288
  # Update properties of this object
1273
1289
  def update!(**args)
1290
+ @assured_count = args[:assured_count] if args.key?(:assured_count)
1274
1291
  @count = args[:count] if args.key?(:count)
1275
1292
  @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
1276
1293
  @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
@@ -1414,7 +1431,8 @@ module Google
1414
1431
  # initializeParams.sourceSnapshot or disks.source is required except for local
1415
1432
  # SSD. If desired, you can also attach existing non-root persistent disks using
1416
1433
  # this property. This field is only applicable for persistent disks. Note that
1417
- # for InstanceTemplate, specify the disk name, not the URL for the disk.
1434
+ # for InstanceTemplate, specify the disk name for zonal disk, and the URL for
1435
+ # regional disk.
1418
1436
  # Corresponds to the JSON property `source`
1419
1437
  # @return [String]
1420
1438
  attr_accessor :source
@@ -1468,6 +1486,11 @@ module Google
1468
1486
  class AttachedDiskInitializeParams
1469
1487
  include Google::Apis::Core::Hashable
1470
1488
 
1489
+ # The architecture of the attached disk. Valid values are arm64 or x86_64.
1490
+ # Corresponds to the JSON property `architecture`
1491
+ # @return [String]
1492
+ attr_accessor :architecture
1493
+
1471
1494
  # An optional description. Provide this property when creating the disk.
1472
1495
  # Corresponds to the JSON property `description`
1473
1496
  # @return [String]
@@ -1612,6 +1635,7 @@ module Google
1612
1635
 
1613
1636
  # Update properties of this object
1614
1637
  def update!(**args)
1638
+ @architecture = args[:architecture] if args.key?(:architecture)
1615
1639
  @description = args[:description] if args.key?(:description)
1616
1640
  @disk_name = args[:disk_name] if args.key?(:disk_name)
1617
1641
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
@@ -2944,7 +2968,7 @@ module Google
2944
2968
  # specified), or else sets the response max-age directive to the lesser of the
2945
2969
  # client_ttl and default_ttl, and also ensures a "public" cache-control
2946
2970
  # directive is present. If a client TTL is not specified, a default value (1
2947
- # hour) will be used. The maximum allowed value is 86400s (1 day).
2971
+ # hour) will be used. The maximum allowed value is 31,622,400s (1 year).
2948
2972
  # Corresponds to the JSON property `clientTtl`
2949
2973
  # @return [Fixnum]
2950
2974
  attr_accessor :client_ttl
@@ -3354,14 +3378,14 @@ module Google
3354
3378
 
3355
3379
  # For load balancers that have configurable failover: [Internal TCP/UDP Load
3356
3380
  # Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
3357
- # overview) and [external TCP/UDP Load Balancing](/network/networklb-failover-
3358
- # overview). On failover or failback, this field indicates whether connection
3359
- # draining will be honored. Google Cloud has a fixed connection draining timeout
3360
- # of 10 minutes. A setting of true terminates existing TCP connections to the
3361
- # active pool during failover and failback, immediately draining traffic. A
3362
- # setting of false allows existing TCP connections to persist, even on VMs no
3363
- # longer in the active pool, for up to the duration of the connection draining
3364
- # timeout (10 minutes).
3381
+ # overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
3382
+ # balancing/docs/network/networklb-failover-overview). On failover or failback,
3383
+ # this field indicates whether connection draining will be honored. Google Cloud
3384
+ # has a fixed connection draining timeout of 10 minutes. A setting of true
3385
+ # terminates existing TCP connections to the active pool during failover and
3386
+ # failback, immediately draining traffic. A setting of false allows existing TCP
3387
+ # connections to persist, even on VMs no longer in the active pool, for up to
3388
+ # the duration of the connection draining timeout (10 minutes).
3365
3389
  # Corresponds to the JSON property `failoverPolicy`
3366
3390
  # @return [Google::Apis::ComputeAlpha::BackendServiceFailoverPolicy]
3367
3391
  attr_accessor :failover_policy
@@ -3432,8 +3456,8 @@ module Google
3432
3456
  # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
3433
3457
  # set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field
3434
3458
  # is not set to MAGLEV or RING_HASH, session affinity settings will not take
3435
- # effect. Only the default ROUND_ROBIN policy is supported when the backend
3436
- # service is referenced by a URL map that is bound to target gRPC proxy that has
3459
+ # effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service
3460
+ # is referenced by a URL map that is bound to target gRPC proxy that has
3437
3461
  # validateForProxyless field set to true.
3438
3462
  # Corresponds to the JSON property `localityLbPolicy`
3439
3463
  # @return [String]
@@ -3546,11 +3570,11 @@ module Google
3546
3570
  # @return [String]
3547
3571
  attr_accessor :service_lb_policy
3548
3572
 
3549
- # Type of session affinity to use. The default is NONE. For a detailed
3550
- # description of session affinity options, see: [Session affinity](https://cloud.
3551
- # google.com/load-balancing/docs/backend-service#session_affinity). Not
3552
- # supported when the backend service is referenced by a URL map that is bound to
3553
- # target gRPC proxy that has validateForProxyless field set to true.
3573
+ # Type of session affinity to use. The default is NONE. Only NONE and
3574
+ # HEADER_FIELD are supported when the backend service is referenced by a URL map
3575
+ # that is bound to target gRPC proxy that has validateForProxyless field set to
3576
+ # true. For more details, see: [Session Affinity](https://cloud.google.com/load-
3577
+ # balancing/docs/backend-service#session_affinity).
3554
3578
  # Corresponds to the JSON property `sessionAffinity`
3555
3579
  # @return [String]
3556
3580
  attr_accessor :session_affinity
@@ -3782,7 +3806,7 @@ module Google
3782
3806
  # specified), or else sets the response max-age directive to the lesser of the
3783
3807
  # client_ttl and default_ttl, and also ensures a "public" cache-control
3784
3808
  # directive is present. If a client TTL is not specified, a default value (1
3785
- # hour) will be used. The maximum allowed value is 86400s (1 day).
3809
+ # hour) will be used. The maximum allowed value is 31,622,400s (1 year).
3786
3810
  # Corresponds to the JSON property `clientTtl`
3787
3811
  # @return [Fixnum]
3788
3812
  attr_accessor :client_ttl
@@ -3962,32 +3986,42 @@ module Google
3962
3986
  # healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST,
3963
3987
  # existing connections always persist on unhealthy backends regardless of
3964
3988
  # protocol and session affinity. It is generally not recommended to use this
3965
- # mode overriding the default.
3989
+ # mode overriding the default. For more details, see [Connection Persistence for
3990
+ # Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/
3991
+ # networklb-backend-service#connection-persistence) and [Connection Persistence
3992
+ # for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/
3993
+ # docs/internal#connection-persistence).
3966
3994
  # Corresponds to the JSON property `connectionPersistenceOnUnhealthyBackends`
3967
3995
  # @return [String]
3968
3996
  attr_accessor :connection_persistence_on_unhealthy_backends
3969
3997
 
3970
- # Enable Strong Session Affinity. This is only available in External TCP/UDP
3971
- # load balancer.
3998
+ # Enable Strong Session Affinity for Network Load Balancing. This option is not
3999
+ # available publicly.
3972
4000
  # Corresponds to the JSON property `enableStrongAffinity`
3973
4001
  # @return [Boolean]
3974
4002
  attr_accessor :enable_strong_affinity
3975
4003
  alias_method :enable_strong_affinity?, :enable_strong_affinity
3976
4004
 
3977
4005
  # Specifies how long to keep a Connection Tracking entry while there is no
3978
- # matching traffic (in seconds). For L4 ILB the minimum(default) is 10 minutes
3979
- # and maximum is 16 hours. For NLB the minimum(default) is 60 seconds and the
3980
- # maximum is 16 hours. This field will be supported only if the Connection
3981
- # Tracking key is less than 5-tuple.
4006
+ # matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - The
4007
+ # minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set
4008
+ # only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is
4009
+ # CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is
4010
+ # PER_SESSION). For Network Load Balancer the default is 60 seconds. This option
4011
+ # is not available publicly.
3982
4012
  # Corresponds to the JSON property `idleTimeoutSec`
3983
4013
  # @return [Fixnum]
3984
4014
  attr_accessor :idle_timeout_sec
3985
4015
 
3986
- # Specifies the key used for connection tracking. There are two options:
4016
+ # Specifies the key used for connection tracking. There are two options: -
3987
4017
  # PER_CONNECTION: This is the default mode. The Connection Tracking is performed
3988
- # as per the Connection Key (default Hash Method) for the specific protocol.
4018
+ # as per the Connection Key (default Hash Method) for the specific protocol. -
3989
4019
  # PER_SESSION: The Connection Tracking is performed as per the configured
3990
- # Session Affinity. It matches the configured Session Affinity.
4020
+ # Session Affinity. It matches the configured Session Affinity. For more details,
4021
+ # see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-
4022
+ # balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking
4023
+ # Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-
4024
+ # balancing/docs/internal#tracking-mode).
3991
4025
  # Corresponds to the JSON property `trackingMode`
3992
4026
  # @return [String]
3993
4027
  attr_accessor :tracking_mode
@@ -4007,14 +4041,14 @@ module Google
4007
4041
 
4008
4042
  # For load balancers that have configurable failover: [Internal TCP/UDP Load
4009
4043
  # Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
4010
- # overview) and [external TCP/UDP Load Balancing](/network/networklb-failover-
4011
- # overview). On failover or failback, this field indicates whether connection
4012
- # draining will be honored. Google Cloud has a fixed connection draining timeout
4013
- # of 10 minutes. A setting of true terminates existing TCP connections to the
4014
- # active pool during failover and failback, immediately draining traffic. A
4015
- # setting of false allows existing TCP connections to persist, even on VMs no
4016
- # longer in the active pool, for up to the duration of the connection draining
4017
- # timeout (10 minutes).
4044
+ # overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
4045
+ # balancing/docs/network/networklb-failover-overview). On failover or failback,
4046
+ # this field indicates whether connection draining will be honored. Google Cloud
4047
+ # has a fixed connection draining timeout of 10 minutes. A setting of true
4048
+ # terminates existing TCP connections to the active pool during failover and
4049
+ # failback, immediately draining traffic. A setting of false allows existing TCP
4050
+ # connections to persist, even on VMs no longer in the active pool, for up to
4051
+ # the duration of the connection draining timeout (10 minutes).
4018
4052
  class BackendServiceFailoverPolicy
4019
4053
  include Google::Apis::Core::Hashable
4020
4054
 
@@ -4029,8 +4063,9 @@ module Google
4029
4063
  # distributed among all primary VMs when all primary and all backup backend VMs
4030
4064
  # are unhealthy. For load balancers that have configurable failover: [Internal
4031
4065
  # TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/
4032
- # failover-overview) and [external TCP/UDP Load Balancing](/network/networklb-
4033
- # failover-overview). The default is false.
4066
+ # failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.
4067
+ # com/load-balancing/docs/network/networklb-failover-overview). The default is
4068
+ # false.
4034
4069
  # Corresponds to the JSON property `dropTrafficIfUnhealthy`
4035
4070
  # @return [Boolean]
4036
4071
  attr_accessor :drop_traffic_if_unhealthy
@@ -4042,7 +4077,8 @@ module Google
4042
4077
  # the total number of healthy primary VMs is less than this ratio. For load
4043
4078
  # balancers that have configurable failover: [Internal TCP/UDP Load Balancing](
4044
4079
  # https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [
4045
- # external TCP/UDP Load Balancing](/network/networklb-failover-overview).
4080
+ # external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/
4081
+ # network/networklb-failover-overview).
4046
4082
  # Corresponds to the JSON property `failoverRatio`
4047
4083
  # @return [Float]
4048
4084
  attr_accessor :failover_ratio
@@ -4707,7 +4743,7 @@ module Google
4707
4743
  end
4708
4744
  end
4709
4745
 
4710
- # Associates `members` with a `role`.
4746
+ # Associates `members`, or principals, with a `role`.
4711
4747
  class Binding
4712
4748
  include Google::Apis::Core::Hashable
4713
4749
 
@@ -4735,7 +4771,7 @@ module Google
4735
4771
  # @return [Google::Apis::ComputeAlpha::Expr]
4736
4772
  attr_accessor :condition
4737
4773
 
4738
- # Specifies the identities requesting access for a Cloud Platform resource. `
4774
+ # Specifies the principals requesting access for a Cloud Platform resource. `
4739
4775
  # members` can have the following values: * `allUsers`: A special identifier
4740
4776
  # that represents anyone who is on the internet; with or without a Google
4741
4777
  # account. * `allAuthenticatedUsers`: A special identifier that represents
@@ -4765,8 +4801,8 @@ module Google
4765
4801
  # @return [Array<String>]
4766
4802
  attr_accessor :members
4767
4803
 
4768
- # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
4769
- # , or `roles/owner`.
4804
+ # Role that is assigned to the list of `members`, or principals. For example, `
4805
+ # roles/viewer`, `roles/editor`, or `roles/owner`.
4770
4806
  # Corresponds to the JSON property `role`
4771
4807
  # @return [String]
4772
4808
  attr_accessor :role
@@ -5210,6 +5246,11 @@ module Google
5210
5246
  # @return [Google::Apis::ComputeAlpha::LicenseResourceCommitment]
5211
5247
  attr_accessor :license_resource
5212
5248
 
5249
+ # List of source commitments to be merged into a new commitment.
5250
+ # Corresponds to the JSON property `mergeSourceCommitments`
5251
+ # @return [Array<String>]
5252
+ attr_accessor :merge_source_commitments
5253
+
5213
5254
  # Name of the resource. Provided by the client when the resource is created. The
5214
5255
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
5215
5256
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -5253,6 +5294,11 @@ module Google
5253
5294
  # @return [String]
5254
5295
  attr_accessor :self_link_with_id
5255
5296
 
5297
+ # Source commitment to be splitted into a new commitment.
5298
+ # Corresponds to the JSON property `splitSourceCommitment`
5299
+ # @return [String]
5300
+ attr_accessor :split_source_commitment
5301
+
5256
5302
  # [Output Only] Commitment start time in RFC3339 text format.
5257
5303
  # Corresponds to the JSON property `startTimestamp`
5258
5304
  # @return [String]
@@ -5292,6 +5338,7 @@ module Google
5292
5338
  @id = args[:id] if args.key?(:id)
5293
5339
  @kind = args[:kind] if args.key?(:kind)
5294
5340
  @license_resource = args[:license_resource] if args.key?(:license_resource)
5341
+ @merge_source_commitments = args[:merge_source_commitments] if args.key?(:merge_source_commitments)
5295
5342
  @name = args[:name] if args.key?(:name)
5296
5343
  @plan = args[:plan] if args.key?(:plan)
5297
5344
  @region = args[:region] if args.key?(:region)
@@ -5299,6 +5346,7 @@ module Google
5299
5346
  @resources = args[:resources] if args.key?(:resources)
5300
5347
  @self_link = args[:self_link] if args.key?(:self_link)
5301
5348
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
5349
+ @split_source_commitment = args[:split_source_commitment] if args.key?(:split_source_commitment)
5302
5350
  @start_timestamp = args[:start_timestamp] if args.key?(:start_timestamp)
5303
5351
  @status = args[:status] if args.key?(:status)
5304
5352
  @status_message = args[:status_message] if args.key?(:status_message)
@@ -5794,14 +5842,15 @@ module Google
5794
5842
  end
5795
5843
  end
5796
5844
 
5797
- # The specification for allowing client side cross-origin requests. Please see
5798
- # W3C Recommendation for Cross Origin Resource Sharing
5845
+ # The specification for allowing client-side cross-origin requests. For more
5846
+ # information about the W3C recommendation for cross-origin resource sharing (
5847
+ # CORS), see Fetch API Living Standard.
5799
5848
  class CorsPolicy
5800
5849
  include Google::Apis::Core::Hashable
5801
5850
 
5802
5851
  # In response to a preflight request, setting this to true indicates that the
5803
- # actual request can include user credentials. This translates to the Access-
5804
- # Control-Allow-Credentials header. Default is false.
5852
+ # actual request can include user credentials. This field translates to the
5853
+ # Access-Control-Allow-Credentials header. Default is false.
5805
5854
  # Corresponds to the JSON property `allowCredentials`
5806
5855
  # @return [Boolean]
5807
5856
  attr_accessor :allow_credentials
@@ -5817,23 +5866,23 @@ module Google
5817
5866
  # @return [Array<String>]
5818
5867
  attr_accessor :allow_methods
5819
5868
 
5820
- # Specifies the regualar expression patterns that match allowed origins. For
5821
- # regular expression grammar please see github.com/google/re2/wiki/Syntax An
5822
- # origin is allowed if it matches either an item in allowOrigins or an item in
5869
+ # Specifies a regular expression that matches allowed origins. For more
5870
+ # information about the regular expression syntax, see Syntax. An origin is
5871
+ # allowed if it matches either an item in allowOrigins or an item in
5823
5872
  # allowOriginRegexes.
5824
5873
  # Corresponds to the JSON property `allowOriginRegexes`
5825
5874
  # @return [Array<String>]
5826
5875
  attr_accessor :allow_origin_regexes
5827
5876
 
5828
- # Specifies the list of origins that will be allowed to do CORS requests. An
5829
- # origin is allowed if it matches either an item in allowOrigins or an item in
5877
+ # Specifies the list of origins that is allowed to do CORS requests. An origin
5878
+ # is allowed if it matches either an item in allowOrigins or an item in
5830
5879
  # allowOriginRegexes.
5831
5880
  # Corresponds to the JSON property `allowOrigins`
5832
5881
  # @return [Array<String>]
5833
5882
  attr_accessor :allow_origins
5834
5883
 
5835
- # If true, specifies the CORS policy is disabled. The default value of false,
5836
- # which indicates that the CORS policy is in effect.
5884
+ # If true, the setting specifies the CORS policy is disabled. The default value
5885
+ # of false, which indicates that the CORS policy is in effect.
5837
5886
  # Corresponds to the JSON property `disabled`
5838
5887
  # @return [Boolean]
5839
5888
  attr_accessor :disabled
@@ -5845,7 +5894,7 @@ module Google
5845
5894
  attr_accessor :expose_headers
5846
5895
 
5847
5896
  # Specifies how long results of a preflight request can be cached in seconds.
5848
- # This translates to the Access-Control-Max-Age header.
5897
+ # This field translates to the Access-Control-Max-Age header.
5849
5898
  # Corresponds to the JSON property `maxAge`
5850
5899
  # @return [Fixnum]
5851
5900
  attr_accessor :max_age
@@ -5871,30 +5920,39 @@ module Google
5871
5920
  class CustomerEncryptionKey
5872
5921
  include Google::Apis::Core::Hashable
5873
5922
 
5874
- # The name of the encryption key that is stored in Google Cloud KMS.
5923
+ # The name of the encryption key that is stored in Google Cloud KMS. For example:
5924
+ # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/
5925
+ # cryptoKeys/key
5875
5926
  # Corresponds to the JSON property `kmsKeyName`
5876
5927
  # @return [String]
5877
5928
  attr_accessor :kms_key_name
5878
5929
 
5879
5930
  # The service account being used for the encryption request for the given KMS
5880
- # key. If absent, the Compute Engine default service account is used.
5931
+ # key. If absent, the Compute Engine default service account is used. For
5932
+ # example: "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/
5881
5933
  # Corresponds to the JSON property `kmsKeyServiceAccount`
5882
5934
  # @return [String]
5883
5935
  attr_accessor :kms_key_service_account
5884
5936
 
5885
5937
  # Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
5886
- # base64 to either encrypt or decrypt this resource.
5938
+ # base64 to either encrypt or decrypt this resource. You can provide either the
5939
+ # rawKey or the rsaEncryptedKey. For example: "rawKey": "
5940
+ # SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0="
5887
5941
  # Corresponds to the JSON property `rawKey`
5888
5942
  # @return [String]
5889
5943
  attr_accessor :raw_key
5890
5944
 
5891
5945
  # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied
5892
- # encryption key to either encrypt or decrypt this resource. The key must meet
5893
- # the following requirements before you can provide it to Compute Engine: 1. The
5894
- # key is wrapped using a RSA public key certificate provided by Google. 2. After
5895
- # being wrapped, the key must be encoded in RFC 4648 base64 encoding. Gets the
5896
- # RSA public key certificate provided by Google at: https://cloud-certs.storage.
5897
- # googleapis.com/google-cloud-csek-ingress.pem
5946
+ # encryption key to either encrypt or decrypt this resource. You can provide
5947
+ # either the rawKey or the rsaEncryptedKey. For example: "rsaEncryptedKey": "
5948
+ # ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH
5949
+ # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD
5950
+ # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" The
5951
+ # key must meet the following requirements before you can provide it to Compute
5952
+ # Engine: 1. The key is wrapped using a RSA public key certificate provided by
5953
+ # Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64
5954
+ # encoding. Gets the RSA public key certificate provided by Google at: https://
5955
+ # cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem
5898
5956
  # Corresponds to the JSON property `rsaEncryptedKey`
5899
5957
  # @return [String]
5900
5958
  attr_accessor :rsa_encrypted_key
@@ -5929,7 +5987,8 @@ module Google
5929
5987
  attr_accessor :disk_encryption_key
5930
5988
 
5931
5989
  # Specifies a valid partial or full URL to an existing Persistent Disk resource.
5932
- # This field is only applicable for persistent disks.
5990
+ # This field is only applicable for persistent disks. For example: "source": "/
5991
+ # compute/v1/projects/project_id/zones/zone/disks/ disk_name
5933
5992
  # Corresponds to the JSON property `source`
5934
5993
  # @return [String]
5935
5994
  attr_accessor :source
@@ -6019,6 +6078,11 @@ module Google
6019
6078
  class Disk
6020
6079
  include Google::Apis::Core::Hashable
6021
6080
 
6081
+ # The architecture of the disk. Valid values are ARM64 or X86_64.
6082
+ # Corresponds to the JSON property `architecture`
6083
+ # @return [String]
6084
+ attr_accessor :architecture
6085
+
6022
6086
  # [Output Only] Creation timestamp in RFC3339 text format.
6023
6087
  # Corresponds to the JSON property `creationTimestamp`
6024
6088
  # @return [String]
@@ -6268,25 +6332,6 @@ module Google
6268
6332
  # @return [String]
6269
6333
  attr_accessor :source_image_id
6270
6334
 
6271
- # [Deprecated] The source in-place snapshot used to create this disk. You can
6272
- # provide this as a partial or full URL to the resource. For example, the
6273
- # following are valid values: - https://www.googleapis.com/compute/v1/projects/
6274
- # project /global/inPlaceSnapshots/inPlaceSnapshots - projects/project/global/
6275
- # inPlaceSnapshots/inPlaceSnapshots - global/inPlaceSnapshots/inPlaceSnapshots
6276
- # Corresponds to the JSON property `sourceInPlaceSnapshot`
6277
- # @return [String]
6278
- attr_accessor :source_in_place_snapshot
6279
-
6280
- # Deprecated The unique ID of the in-place snapshot used to create this disk.
6281
- # This value identifies the exact in-place snapshot that was used to create this
6282
- # persistent disk. For example, if you created the persistent disk from an in-
6283
- # place snapshot that was later deleted and recreated under the same name, the
6284
- # source in-place snapshot ID would identify the exact version of the in-place
6285
- # snapshot that was used.
6286
- # Corresponds to the JSON property `sourceInPlaceSnapshotId`
6287
- # @return [String]
6288
- attr_accessor :source_in_place_snapshot_id
6289
-
6290
6335
  # The source instant snapshot used to create this disk. You can provide this as
6291
6336
  # a partial or full URL to the resource. For example, the following are valid
6292
6337
  # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
@@ -6387,6 +6432,7 @@ module Google
6387
6432
 
6388
6433
  # Update properties of this object
6389
6434
  def update!(**args)
6435
+ @architecture = args[:architecture] if args.key?(:architecture)
6390
6436
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
6391
6437
  @description = args[:description] if args.key?(:description)
6392
6438
  @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
@@ -6420,8 +6466,6 @@ module Google
6420
6466
  @source_image = args[:source_image] if args.key?(:source_image)
6421
6467
  @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
6422
6468
  @source_image_id = args[:source_image_id] if args.key?(:source_image_id)
6423
- @source_in_place_snapshot = args[:source_in_place_snapshot] if args.key?(:source_in_place_snapshot)
6424
- @source_in_place_snapshot_id = args[:source_in_place_snapshot_id] if args.key?(:source_in_place_snapshot_id)
6425
6469
  @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
6426
6470
  @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
6427
6471
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
@@ -8016,7 +8060,7 @@ module Google
8016
8060
  # Name of the resource; provided by the client when the resource is created. The
8017
8061
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
8018
8062
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
8019
- # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
8063
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
8020
8064
  # following characters (except for the last character) must be a dash, lowercase
8021
8065
  # letter, or digit. The last character must be a lowercase letter or digit.
8022
8066
  # Corresponds to the JSON property `name`
@@ -8789,6 +8833,12 @@ module Google
8789
8833
  # @return [Array<String>]
8790
8834
  attr_accessor :dest_address_groups
8791
8835
 
8836
+ # Fully Qualified Domain Name (FQDN) which should be matched against traffic
8837
+ # destination. Maximum number of destination fqdn allowed is 1000.
8838
+ # Corresponds to the JSON property `destFqdns`
8839
+ # @return [Array<String>]
8840
+ attr_accessor :dest_fqdns
8841
+
8792
8842
  # CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is
8793
8843
  # 5000.
8794
8844
  # Corresponds to the JSON property `destIpRanges`
@@ -8806,6 +8856,12 @@ module Google
8806
8856
  # @return [Array<String>]
8807
8857
  attr_accessor :src_address_groups
8808
8858
 
8859
+ # Fully Qualified Domain Name (FQDN) which should be matched against traffic
8860
+ # source. Maximum number of source fqdn allowed is 1000.
8861
+ # Corresponds to the JSON property `srcFqdns`
8862
+ # @return [Array<String>]
8863
+ attr_accessor :src_fqdns
8864
+
8809
8865
  # CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
8810
8866
  # Corresponds to the JSON property `srcIpRanges`
8811
8867
  # @return [Array<String>]
@@ -8826,9 +8882,11 @@ module Google
8826
8882
  # Update properties of this object
8827
8883
  def update!(**args)
8828
8884
  @dest_address_groups = args[:dest_address_groups] if args.key?(:dest_address_groups)
8885
+ @dest_fqdns = args[:dest_fqdns] if args.key?(:dest_fqdns)
8829
8886
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
8830
8887
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8831
8888
  @src_address_groups = args[:src_address_groups] if args.key?(:src_address_groups)
8889
+ @src_fqdns = args[:src_fqdns] if args.key?(:src_fqdns)
8832
8890
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
8833
8891
  @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
8834
8892
  end
@@ -9176,8 +9234,7 @@ module Google
9176
9234
  attr_accessor :self_link_with_id
9177
9235
 
9178
9236
  # Service Directory resources to register this forwarding rule with. Currently,
9179
- # only supports a single Service Directory resource. It is only supported for
9180
- # internal load balancing.
9237
+ # only supports a single Service Directory resource.
9181
9238
  # Corresponds to the JSON property `serviceDirectoryRegistrations`
9182
9239
  # @return [Array<Google::Apis::ComputeAlpha::ForwardingRuleServiceDirectoryRegistration>]
9183
9240
  attr_accessor :service_directory_registrations
@@ -10334,31 +10391,31 @@ module Google
10334
10391
 
10335
10392
  # An Identity and Access Management (IAM) policy, which specifies access
10336
10393
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
10337
- # A `binding` binds one or more `members` to a single `role`. Members can be
10338
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
10339
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
10340
- # role or a user-created custom role. For some types of Google Cloud resources,
10341
- # a `binding` can also specify a `condition`, which is a logical expression that
10342
- # allows access to a resource only if the expression evaluates to `true`. A
10343
- # condition can add constraints based on attributes of the request, the resource,
10344
- # or both. To learn which resources support conditions in their IAM policies,
10345
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
10346
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
10347
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
10348
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
10349
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
10350
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
10351
- # title": "expirable access", "description": "Does not grant access after Sep
10352
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
10353
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
10354
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
10355
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
10356
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
10357
- # roles/resourcemanager.organizationViewer condition: title: expirable access
10358
- # description: Does not grant access after Sep 2020 expression: request.time <
10359
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
10360
- # description of IAM and its features, see the [IAM documentation](https://cloud.
10361
- # google.com/iam/docs/).
10394
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
10395
+ # Principals can be user accounts, service accounts, Google groups, and domains (
10396
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
10397
+ # an IAM predefined role or a user-created custom role. For some types of Google
10398
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
10399
+ # logical expression that allows access to a resource only if the expression
10400
+ # evaluates to `true`. A condition can add constraints based on attributes of
10401
+ # the request, the resource, or both. To learn which resources support
10402
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
10403
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
10404
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
10405
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
10406
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
10407
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
10408
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
10409
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
10410
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
10411
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
10412
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
10413
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
10414
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
10415
+ # access description: Does not grant access after Sep 2020 expression: request.
10416
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
10417
+ # a description of IAM and its features, see the [IAM documentation](https://
10418
+ # cloud.google.com/iam/docs/).
10362
10419
  # Corresponds to the JSON property `policy`
10363
10420
  # @return [Google::Apis::ComputeAlpha::Policy]
10364
10421
  attr_accessor :policy
@@ -10431,31 +10488,31 @@ module Google
10431
10488
 
10432
10489
  # An Identity and Access Management (IAM) policy, which specifies access
10433
10490
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
10434
- # A `binding` binds one or more `members` to a single `role`. Members can be
10435
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
10436
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
10437
- # role or a user-created custom role. For some types of Google Cloud resources,
10438
- # a `binding` can also specify a `condition`, which is a logical expression that
10439
- # allows access to a resource only if the expression evaluates to `true`. A
10440
- # condition can add constraints based on attributes of the request, the resource,
10441
- # or both. To learn which resources support conditions in their IAM policies,
10442
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
10443
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
10444
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
10445
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
10446
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
10447
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
10448
- # title": "expirable access", "description": "Does not grant access after Sep
10449
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
10450
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
10451
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
10452
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
10453
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
10454
- # roles/resourcemanager.organizationViewer condition: title: expirable access
10455
- # description: Does not grant access after Sep 2020 expression: request.time <
10456
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
10457
- # description of IAM and its features, see the [IAM documentation](https://cloud.
10458
- # google.com/iam/docs/).
10491
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
10492
+ # Principals can be user accounts, service accounts, Google groups, and domains (
10493
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
10494
+ # an IAM predefined role or a user-created custom role. For some types of Google
10495
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
10496
+ # logical expression that allows access to a resource only if the expression
10497
+ # evaluates to `true`. A condition can add constraints based on attributes of
10498
+ # the request, the resource, or both. To learn which resources support
10499
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
10500
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
10501
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
10502
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
10503
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
10504
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
10505
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
10506
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
10507
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
10508
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
10509
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
10510
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
10511
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
10512
+ # access description: Does not grant access after Sep 2020 expression: request.
10513
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
10514
+ # a description of IAM and its features, see the [IAM documentation](https://
10515
+ # cloud.google.com/iam/docs/).
10459
10516
  # Corresponds to the JSON property `policy`
10460
10517
  # @return [Google::Apis::ComputeAlpha::Policy]
10461
10518
  attr_accessor :policy
@@ -10611,8 +10668,11 @@ module Google
10611
10668
  class GuestOsFeature
10612
10669
  include Google::Apis::Core::Hashable
10613
10670
 
10614
- # The ID of a supported feature. Read Enabling guest operating system features
10615
- # to see a list of available options.
10671
+ # The ID of a supported feature. To add multiple values, use commas to separate
10672
+ # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
10673
+ # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - SECURE_BOOT - GVNIC -
10674
+ # SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE For more information, see Enabling
10675
+ # guest operating system features.
10616
10676
  # Corresponds to the JSON property `type`
10617
10677
  # @return [String]
10618
10678
  attr_accessor :type
@@ -10969,8 +11029,8 @@ module Google
10969
11029
  attr_accessor :timeout_sec
10970
11030
 
10971
11031
  # Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2.
10972
- # If not specified, the default is TCP. Exactly one of the protocol-specific
10973
- # health check field must be specified, which must match type field.
11032
+ # Exactly one of the protocol-specific health check field must be specified,
11033
+ # which must match type field.
10974
11034
  # Corresponds to the JSON property `type`
10975
11035
  # @return [String]
10976
11036
  attr_accessor :type
@@ -12022,7 +12082,8 @@ module Google
12022
12082
  # port numbers in the format host:port. * matches any string of ([a-z0-9-.]*).
12023
12083
  # In that case, * must be the first character and must be followed in the
12024
12084
  # pattern by either - or .. * based matching is not supported when the URL map
12025
- # is bound to target gRPC proxy that has validateForProxyless field set to true.
12085
+ # is bound to a target gRPC proxy that has the validateForProxyless field set to
12086
+ # true.
12026
12087
  # Corresponds to the JSON property `hosts`
12027
12088
  # @return [Array<String>]
12028
12089
  attr_accessor :hosts
@@ -12049,8 +12110,8 @@ module Google
12049
12110
  class HttpFaultAbort
12050
12111
  include Google::Apis::Core::Hashable
12051
12112
 
12052
- # The HTTP status code used to abort the request. The value must be between 200
12053
- # and 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
12113
+ # The HTTP status code used to abort the request. The value must be from 200 to
12114
+ # 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
12054
12115
  # status code according to this mapping table. HTTP status 200 is mapped to gRPC
12055
12116
  # status UNKNOWN. Injecting an OK status is currently not supported by Traffic
12056
12117
  # Director.
@@ -12058,8 +12119,8 @@ module Google
12058
12119
  # @return [Fixnum]
12059
12120
  attr_accessor :http_status
12060
12121
 
12061
- # The percentage of traffic (connections/operations/requests) which will be
12062
- # aborted as part of fault injection. The value must be between 0.0 and 100.0
12122
+ # The percentage of traffic for connections, operations, or requests that is
12123
+ # aborted as part of fault injection. The value must be from 0.0 to 100.0
12063
12124
  # inclusive.
12064
12125
  # Corresponds to the JSON property `percentage`
12065
12126
  # @return [Float]
@@ -12076,8 +12137,8 @@ module Google
12076
12137
  end
12077
12138
  end
12078
12139
 
12079
- # Specifies the delay introduced by Loadbalancer before forwarding the request
12080
- # to the backend service as part of fault injection.
12140
+ # Specifies the delay introduced by the load balancer before forwarding the
12141
+ # request to the backend service as part of fault injection.
12081
12142
  class HttpFaultDelay
12082
12143
  include Google::Apis::Core::Hashable
12083
12144
 
@@ -12089,9 +12150,9 @@ module Google
12089
12150
  # @return [Google::Apis::ComputeAlpha::Duration]
12090
12151
  attr_accessor :fixed_delay
12091
12152
 
12092
- # The percentage of traffic (connections/operations/requests) on which delay
12093
- # will be introduced as part of fault injection. The value must be between 0.0
12094
- # and 100.0 inclusive.
12153
+ # The percentage of traffic for connections, operations, or requests for which a
12154
+ # delay is introduced as part of fault injection. The value must be from 0.0 to
12155
+ # 100.0 inclusive.
12095
12156
  # Corresponds to the JSON property `percentage`
12096
12157
  # @return [Float]
12097
12158
  attr_accessor :percentage
@@ -12110,9 +12171,9 @@ module Google
12110
12171
  # The specification for fault injection introduced into traffic to test the
12111
12172
  # resiliency of clients to backend service failure. As part of fault injection,
12112
12173
  # when clients send requests to a backend service, delays can be introduced by
12113
- # Loadbalancer on a percentage of requests before sending those request to the
12114
- # backend service. Similarly requests from clients can be aborted by the
12115
- # Loadbalancer for a percentage of requests.
12174
+ # the load balancer on a percentage of requests before sending those request to
12175
+ # the backend service. Similarly requests from clients can be aborted by the
12176
+ # load balancer for a percentage of requests.
12116
12177
  class HttpFaultInjection
12117
12178
  include Google::Apis::Core::Hashable
12118
12179
 
@@ -12121,8 +12182,8 @@ module Google
12121
12182
  # @return [Google::Apis::ComputeAlpha::HttpFaultAbort]
12122
12183
  attr_accessor :abort
12123
12184
 
12124
- # Specifies the delay introduced by Loadbalancer before forwarding the request
12125
- # to the backend service as part of fault injection.
12185
+ # Specifies the delay introduced by the load balancer before forwarding the
12186
+ # request to the backend service as part of fault injection.
12126
12187
  # Corresponds to the JSON property `delay`
12127
12188
  # @return [Google::Apis::ComputeAlpha::HttpFaultDelay]
12128
12189
  attr_accessor :delay
@@ -12180,25 +12241,25 @@ module Google
12180
12241
  class HttpHeaderAction
12181
12242
  include Google::Apis::Core::Hashable
12182
12243
 
12183
- # Headers to add to a matching request prior to forwarding the request to the
12244
+ # Headers to add to a matching request before forwarding the request to the
12184
12245
  # backendService.
12185
12246
  # Corresponds to the JSON property `requestHeadersToAdd`
12186
12247
  # @return [Array<Google::Apis::ComputeAlpha::HttpHeaderOption>]
12187
12248
  attr_accessor :request_headers_to_add
12188
12249
 
12189
12250
  # A list of header names for headers that need to be removed from the request
12190
- # prior to forwarding the request to the backendService.
12251
+ # before forwarding the request to the backendService.
12191
12252
  # Corresponds to the JSON property `requestHeadersToRemove`
12192
12253
  # @return [Array<String>]
12193
12254
  attr_accessor :request_headers_to_remove
12194
12255
 
12195
- # Headers to add the response prior to sending the response back to the client.
12256
+ # Headers to add the response before sending the response back to the client.
12196
12257
  # Corresponds to the JSON property `responseHeadersToAdd`
12197
12258
  # @return [Array<Google::Apis::ComputeAlpha::HttpHeaderOption>]
12198
12259
  attr_accessor :response_headers_to_add
12199
12260
 
12200
12261
  # A list of header names for headers that need to be removed from the response
12201
- # prior to sending the response back to the client.
12262
+ # before sending the response back to the client.
12202
12263
  # Corresponds to the JSON property `responseHeadersToRemove`
12203
12264
  # @return [Array<String>]
12204
12265
  attr_accessor :response_headers_to_remove
@@ -12228,21 +12289,21 @@ module Google
12228
12289
 
12229
12290
  # The name of the HTTP header to match. For matching against the HTTP request's
12230
12291
  # authority, use a headerMatch with the header name ":authority". For matching a
12231
- # request's method, use the headerName ":method". When the URL map is bound to
12232
- # target gRPC proxy that has validateForProxyless field set to true, only non-
12233
- # binary user-specified custom metadata and the `content-type` header are
12292
+ # request's method, use the headerName ":method". When the URL map is bound to a
12293
+ # target gRPC proxy that has the validateForProxyless field set to true, only
12294
+ # non-binary user-specified custom metadata and the `content-type` header are
12234
12295
  # supported. The following transport-level headers cannot be used in header
12235
12296
  # matching rules: `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, `
12236
12297
  # accept-encoding`, `content-encoding`, `grpc-accept-encoding`, `grpc-encoding`,
12237
12298
  # `grpc-previous-rpc-attempts`, `grpc-tags-bin`, `grpc-timeout` and `grpc-trace-
12238
- # bin.
12299
+ # bin`.
12239
12300
  # Corresponds to the JSON property `headerName`
12240
12301
  # @return [String]
12241
12302
  attr_accessor :header_name
12242
12303
 
12243
- # If set to false, the headerMatch is considered a match if the match criteria
12244
- # above are met. If set to true, the headerMatch is considered a match if the
12245
- # match criteria above are NOT met. The default setting is false.
12304
+ # If set to false, the headerMatch is considered a match if the preceding match
12305
+ # criteria are met. If set to true, the headerMatch is considered a match if the
12306
+ # preceding match criteria are NOT met. The default setting is false.
12246
12307
  # Corresponds to the JSON property `invertMatch`
12247
12308
  # @return [Boolean]
12248
12309
  attr_accessor :invert_match
@@ -12270,13 +12331,13 @@ module Google
12270
12331
  attr_accessor :range_match
12271
12332
 
12272
12333
  # The value of the header must match the regular expression specified in
12273
- # regexMatch. For regular expression grammar, please see: github.com/google/re2/
12274
- # wiki/Syntax For matching against a port specified in the HTTP request, use a
12275
- # headerMatch with headerName set to PORT and a regular expression that
12276
- # satisfies the RFC2616 Host header's port specifier. Only one of exactMatch,
12277
- # prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.
12278
- # Note that regexMatch only applies to Loadbalancers that have their
12279
- # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
12334
+ # regexMatch. For more information about regular expression syntax, see Syntax.
12335
+ # For matching against a port specified in the HTTP request, use a headerMatch
12336
+ # with headerName set to PORT and a regular expression that satisfies the
12337
+ # RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch,
12338
+ # suffixMatch, regexMatch, presentMatch or rangeMatch must be set. regexMatch
12339
+ # only applies to load balancers that have loadBalancingScheme set to
12340
+ # INTERNAL_SELF_MANAGED.
12280
12341
  # Corresponds to the JSON property `regexMatch`
12281
12342
  # @return [String]
12282
12343
  attr_accessor :regex_match
@@ -12577,8 +12638,8 @@ module Google
12577
12638
  include Google::Apis::Core::Hashable
12578
12639
 
12579
12640
  # The queryParameterMatch matches if the value of the parameter exactly matches
12580
- # the contents of exactMatch. Only one of presentMatch, exactMatch or regexMatch
12581
- # must be set.
12641
+ # the contents of exactMatch. Only one of presentMatch, exactMatch, or
12642
+ # regexMatch must be set.
12582
12643
  # Corresponds to the JSON property `exactMatch`
12583
12644
  # @return [String]
12584
12645
  attr_accessor :exact_match
@@ -12591,17 +12652,17 @@ module Google
12591
12652
 
12592
12653
  # Specifies that the queryParameterMatch matches if the request contains the
12593
12654
  # query parameter, irrespective of whether the parameter has a value or not.
12594
- # Only one of presentMatch, exactMatch or regexMatch must be set.
12655
+ # Only one of presentMatch, exactMatch, or regexMatch must be set.
12595
12656
  # Corresponds to the JSON property `presentMatch`
12596
12657
  # @return [Boolean]
12597
12658
  attr_accessor :present_match
12598
12659
  alias_method :present_match?, :present_match
12599
12660
 
12600
12661
  # The queryParameterMatch matches if the value of the parameter matches the
12601
- # regular expression specified by regexMatch. For the regular expression grammar,
12602
- # please see github.com/google/re2/wiki/Syntax Only one of presentMatch,
12603
- # exactMatch or regexMatch must be set. Note that regexMatch only applies when
12604
- # the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.
12662
+ # regular expression specified by regexMatch. For more information about regular
12663
+ # expression syntax, see Syntax. Only one of presentMatch, exactMatch, or
12664
+ # regexMatch must be set. regexMatch only applies when the loadBalancingScheme
12665
+ # is set to INTERNAL_SELF_MANAGED.
12605
12666
  # Corresponds to the JSON property `regexMatch`
12606
12667
  # @return [String]
12607
12668
  attr_accessor :regex_match
@@ -12623,15 +12684,15 @@ module Google
12623
12684
  class HttpRedirectAction
12624
12685
  include Google::Apis::Core::Hashable
12625
12686
 
12626
- # The host that will be used in the redirect response instead of the one that
12627
- # was supplied in the request. The value must be between 1 and 255 characters.
12687
+ # The host that is used in the redirect response instead of the one that was
12688
+ # supplied in the request. The value must be from 1 to 255 characters.
12628
12689
  # Corresponds to the JSON property `hostRedirect`
12629
12690
  # @return [String]
12630
12691
  attr_accessor :host_redirect
12631
12692
 
12632
- # If set to true, the URL scheme in the redirected request is set to https. If
12633
- # set to false, the URL scheme of the redirected request will remain the same as
12634
- # that of the request. This must only be set for UrlMaps used in
12693
+ # If set to true, the URL scheme in the redirected request is set to HTTPS. If
12694
+ # set to false, the URL scheme of the redirected request remains the same as
12695
+ # that of the request. This must only be set for URL maps used in
12635
12696
  # TargetHttpProxys. Setting this true for TargetHttpsProxy is not permitted. The
12636
12697
  # default is set to false.
12637
12698
  # Corresponds to the JSON property `httpsRedirect`
@@ -12639,11 +12700,11 @@ module Google
12639
12700
  attr_accessor :https_redirect
12640
12701
  alias_method :https_redirect?, :https_redirect
12641
12702
 
12642
- # The path that will be used in the redirect response instead of the one that
12643
- # was supplied in the request. pathRedirect cannot be supplied together with
12703
+ # The path that is used in the redirect response instead of the one that was
12704
+ # supplied in the request. pathRedirect cannot be supplied together with
12644
12705
  # prefixRedirect. Supply one alone or neither. If neither is supplied, the path
12645
- # of the original request will be used for the redirect. The value must be
12646
- # between 1 and 1024 characters.
12706
+ # of the original request is used for the redirect. The value must be from 1 to
12707
+ # 1024 characters.
12647
12708
  # Corresponds to the JSON property `pathRedirect`
12648
12709
  # @return [String]
12649
12710
  attr_accessor :path_redirect
@@ -12651,8 +12712,8 @@ module Google
12651
12712
  # The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
12652
12713
  # retaining the remaining portion of the URL before redirecting the request.
12653
12714
  # prefixRedirect cannot be supplied together with pathRedirect. Supply one alone
12654
- # or neither. If neither is supplied, the path of the original request will be
12655
- # used for the redirect. The value must be between 1 and 1024 characters.
12715
+ # or neither. If neither is supplied, the path of the original request is used
12716
+ # for the redirect. The value must be from 1 to 1024 characters.
12656
12717
  # Corresponds to the JSON property `prefixRedirect`
12657
12718
  # @return [String]
12658
12719
  attr_accessor :prefix_redirect
@@ -12661,14 +12722,14 @@ module Google
12661
12722
  # MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. -
12662
12723
  # FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. -
12663
12724
  # TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
12664
- # will be retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case,
12665
- # the request method will be retained.
12725
+ # is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the
12726
+ # request method is retained.
12666
12727
  # Corresponds to the JSON property `redirectResponseCode`
12667
12728
  # @return [String]
12668
12729
  attr_accessor :redirect_response_code
12669
12730
 
12670
12731
  # If set to true, any accompanying query portion of the original URL is removed
12671
- # prior to redirecting the request. If set to false, the query portion of the
12732
+ # before redirecting the request. If set to false, the query portion of the
12672
12733
  # original URL is retained. The default is set to false.
12673
12734
  # Corresponds to the JSON property `stripQuery`
12674
12735
  # @return [Boolean]
@@ -12709,25 +12770,27 @@ module Google
12709
12770
  attr_accessor :per_try_timeout
12710
12771
 
12711
12772
  # Specifies one or more conditions when this retry policy applies. Valid values
12712
- # are: - 5xx: Retry will be attempted if the instance or endpoint responds with
12713
- # any 5xx response code, or if the instance or endpoint does not respond at all,
12714
- # example: disconnects, reset, read timeout, connection failure, and refused
12773
+ # are: - 5xx: retry is attempted if the instance or endpoint responds with any
12774
+ # 5xx response code, or if the instance or endpoint does not respond at all. For
12775
+ # example, disconnects, reset, read timeout, connection failure, and refused
12715
12776
  # streams. - gateway-error: Similar to 5xx, but only applies to response codes
12716
- # 502, 503 or 504. - - connect-failure: A retry will be attempted on failures
12717
- # connecting to the instance or endpoint, for example due to connection timeouts.
12718
- # - retriable-4xx: A retry will be attempted if the instance or endpoint
12719
- # responds with a retriable 4xx response code. Currently the only retriable
12720
- # error supported is 409. - refused-stream: A retry will be attempted if the
12721
- # instance or endpoint resets the stream with a REFUSED_STREAM error code. This
12722
- # reset type indicates that it is safe to retry. - cancelled: A retry will be
12723
- # attempted if the gRPC status code in the response header is set to cancelled. -
12724
- # deadline-exceeded: A retry will be attempted if the gRPC status code in the
12725
- # response header is set to deadline-exceeded. - internal: A retry will be
12726
- # attempted if the gRPC status code in the response header is set to internal. -
12727
- # resource-exhausted: A retry will be attempted if the gRPC status code in the
12728
- # response header is set to resource-exhausted. - unavailable: A retry will be
12729
- # attempted if the gRPC status code in the response header is set to unavailable.
12730
- #
12777
+ # 502, 503 or 504. - connect-failure: a retry is attempted on failures
12778
+ # connecting to the instance or endpoint. For example, connection timeouts. -
12779
+ # retriable-4xx: a retry is attempted if the instance or endpoint responds with
12780
+ # a 4xx response code. The only error that you can retry is error code 409. -
12781
+ # refused-stream: a retry is attempted if the instance or endpoint resets the
12782
+ # stream with a REFUSED_STREAM error code. This reset type indicates that it is
12783
+ # safe to retry. - cancelled: a retry is attempted if the gRPC status code in
12784
+ # the response header is set to cancelled. - deadline-exceeded: a retry is
12785
+ # attempted if the gRPC status code in the response header is set to deadline-
12786
+ # exceeded. - internal: a retry is attempted if the gRPC status code in the
12787
+ # response header is set to internal. - resource-exhausted: a retry is attempted
12788
+ # if the gRPC status code in the response header is set to resource-exhausted. -
12789
+ # unavailable: a retry is attempted if the gRPC status code in the response
12790
+ # header is set to unavailable. Only the following codes are supported when the
12791
+ # URL map is bound to target gRPC proxy that has validateForProxyless field set
12792
+ # to true. - cancelled - deadline-exceeded - internal - resource-exhausted -
12793
+ # unavailable
12731
12794
  # Corresponds to the JSON property `retryConditions`
12732
12795
  # @return [Array<String>]
12733
12796
  attr_accessor :retry_conditions
@@ -12748,8 +12811,9 @@ module Google
12748
12811
  class HttpRouteAction
12749
12812
  include Google::Apis::Core::Hashable
12750
12813
 
12751
- # The specification for allowing client side cross-origin requests. Please see
12752
- # W3C Recommendation for Cross Origin Resource Sharing
12814
+ # The specification for allowing client-side cross-origin requests. For more
12815
+ # information about the W3C recommendation for cross-origin resource sharing (
12816
+ # CORS), see Fetch API Living Standard.
12753
12817
  # Corresponds to the JSON property `corsPolicy`
12754
12818
  # @return [Google::Apis::ComputeAlpha::CorsPolicy]
12755
12819
  attr_accessor :cors_policy
@@ -12757,9 +12821,9 @@ module Google
12757
12821
  # The specification for fault injection introduced into traffic to test the
12758
12822
  # resiliency of clients to backend service failure. As part of fault injection,
12759
12823
  # when clients send requests to a backend service, delays can be introduced by
12760
- # Loadbalancer on a percentage of requests before sending those request to the
12761
- # backend service. Similarly requests from clients can be aborted by the
12762
- # Loadbalancer for a percentage of requests.
12824
+ # the load balancer on a percentage of requests before sending those request to
12825
+ # the backend service. Similarly requests from clients can be aborted by the
12826
+ # load balancer for a percentage of requests.
12763
12827
  # Corresponds to the JSON property `faultInjectionPolicy`
12764
12828
  # @return [Google::Apis::ComputeAlpha::HttpFaultInjection]
12765
12829
  attr_accessor :fault_injection_policy
@@ -12773,9 +12837,9 @@ module Google
12773
12837
  attr_accessor :max_stream_duration
12774
12838
 
12775
12839
  # A policy that specifies how requests intended for the route's backends are
12776
- # shadowed to a separate mirrored backend service. Loadbalancer does not wait
12777
- # for responses from the shadow service. Prior to sending traffic to the shadow
12778
- # service, the host / authority header is suffixed with -shadow.
12840
+ # shadowed to a separate mirrored backend service. The load balancer doesn't
12841
+ # wait for responses from the shadow service. Before sending traffic to the
12842
+ # shadow service, the host or authority header is suffixed with -shadow.
12779
12843
  # Corresponds to the JSON property `requestMirrorPolicy`
12780
12844
  # @return [Google::Apis::ComputeAlpha::RequestMirrorPolicy]
12781
12845
  attr_accessor :request_mirror_policy
@@ -12803,7 +12867,7 @@ module Google
12803
12867
  # occurs. The weights determine the fraction of traffic that flows to their
12804
12868
  # corresponding backend service. If all traffic needs to go to a single backend
12805
12869
  # service, there must be one weightedBackendService with weight set to a non-
12806
- # zero number. Once a backendService is identified and before forwarding the
12870
+ # zero number. After a backend service is identified and before forwarding the
12807
12871
  # request to the backend service, advanced routing actions such as URL rewrites
12808
12872
  # and header transformations are applied depending on additional settings
12809
12873
  # specified in this HttpRouteAction.
@@ -12828,8 +12892,8 @@ module Google
12828
12892
  end
12829
12893
  end
12830
12894
 
12831
- # An HttpRouteRule specifies how to match an HTTP request and the corresponding
12832
- # routing action that load balancing proxies will perform.
12895
+ # The HttpRouteRule setting specifies how to match an HTTP request and the
12896
+ # corresponding routing action that load balancing proxies perform.
12833
12897
  class HttpRouteRule
12834
12898
  include Google::Apis::Core::Hashable
12835
12899
 
@@ -12846,9 +12910,9 @@ module Google
12846
12910
  attr_accessor :header_action
12847
12911
 
12848
12912
  # Outbound route specific configuration for networkservices.HttpFilter resources
12849
- # enabled by Traffic Director. httpFilterConfigs only applies for Loadbalancers
12913
+ # enabled by Traffic Director. httpFilterConfigs only applies for load balancers
12850
12914
  # with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for
12851
- # more details. Not supported when the URL map is bound to target gRPC proxy
12915
+ # more details. Not supported when the URL map is bound to a target gRPC proxy
12852
12916
  # that has validateForProxyless field set to true.
12853
12917
  # Corresponds to the JSON property `httpFilterConfigs`
12854
12918
  # @return [Array<Google::Apis::ComputeAlpha::HttpFilterConfig>]
@@ -12856,10 +12920,10 @@ module Google
12856
12920
 
12857
12921
  # Outbound route specific metadata supplied to networkservices.HttpFilter
12858
12922
  # resources enabled by Traffic Director. httpFilterMetadata only applies for
12859
- # Loadbalancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See
12923
+ # load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See
12860
12924
  # ForwardingRule for more details. The only configTypeUrl supported is type.
12861
12925
  # googleapis.com/google.protobuf.Struct Not supported when the URL map is bound
12862
- # to target gRPC proxy that has validateForProxyless field set to true.
12926
+ # to a target gRPC proxy that has validateForProxyless field set to true.
12863
12927
  # Corresponds to the JSON property `httpFilterMetadata`
12864
12928
  # @return [Array<Google::Apis::ComputeAlpha::HttpFilterConfig>]
12865
12929
  attr_accessor :http_filter_metadata
@@ -12874,11 +12938,11 @@ module Google
12874
12938
  attr_accessor :match_rules
12875
12939
 
12876
12940
  # For routeRules within a given pathMatcher, priority determines the order in
12877
- # which load balancer will interpret routeRules. RouteRules are evaluated in
12878
- # order of priority, from the lowest to highest number. The priority of a rule
12941
+ # which a load balancer interprets routeRules. RouteRules are evaluated in order
12942
+ # of priority, from the lowest to highest number. The priority of a rule
12879
12943
  # decreases as its number increases (1, 2, 3, N+1). The first rule that matches
12880
12944
  # the request is applied. You cannot configure two or more routeRules with the
12881
- # same priority. Priority for each rule must be set to a number between 0 and
12945
+ # same priority. Priority for each rule must be set to a number from 0 to
12882
12946
  # 2147483647 inclusive. Priority numbers can have gaps, which enable you to add
12883
12947
  # or remove rules in the future without affecting the rest of the rules. For
12884
12948
  # example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to
@@ -12889,24 +12953,24 @@ module Google
12889
12953
  attr_accessor :priority
12890
12954
 
12891
12955
  # In response to a matching matchRule, the load balancer performs advanced
12892
- # routing actions like URL rewrites, header transformations, etc. prior to
12956
+ # routing actions, such as URL rewrites and header transformations, before
12893
12957
  # forwarding the request to the selected backend. If routeAction specifies any
12894
12958
  # weightedBackendServices, service must not be set. Conversely if service is set,
12895
12959
  # routeAction cannot contain any weightedBackendServices. Only one of
12896
12960
  # urlRedirect, service or routeAction.weightedBackendService must be set.
12897
12961
  # UrlMaps for external HTTP(S) load balancers support only the urlRewrite action
12898
- # within a routeRule's routeAction.
12962
+ # within a route rule's routeAction.
12899
12963
  # Corresponds to the JSON property `routeAction`
12900
12964
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
12901
12965
  attr_accessor :route_action
12902
12966
 
12903
12967
  # The full or partial URL of the backend service resource to which traffic is
12904
- # directed if this rule is matched. If routeAction is additionally specified,
12905
- # advanced routing actions like URL Rewrites, etc. take effect prior to sending
12906
- # the request to the backend. However, if service is specified, routeAction
12907
- # cannot contain any weightedBackendService s. Conversely, if routeAction
12908
- # specifies any weightedBackendServices, service must not be specified. Only one
12909
- # of urlRedirect, service or routeAction.weightedBackendService must be set.
12968
+ # directed if this rule is matched. If routeAction is also specified, advanced
12969
+ # routing actions, such as URL rewrites, take effect before sending the request
12970
+ # to the backend. However, if service is specified, routeAction cannot contain
12971
+ # any weightedBackendServices. Conversely, if routeAction specifies any
12972
+ # weightedBackendServices, service must not be specified. Only one of
12973
+ # urlRedirect, service or routeAction.weightedBackendService must be set.
12910
12974
  # Corresponds to the JSON property `service`
12911
12975
  # @return [String]
12912
12976
  attr_accessor :service
@@ -12941,9 +13005,9 @@ module Google
12941
13005
 
12942
13006
  # For satisfying the matchRule condition, the path of the request must exactly
12943
13007
  # match the value specified in fullPathMatch after removing any query parameters
12944
- # and anchor that may be part of the original URL. fullPathMatch must be between
12945
- # 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
12946
- # must be specified.
13008
+ # and anchor that may be part of the original URL. fullPathMatch must be from 1
13009
+ # to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
13010
+ # be specified.
12947
13011
  # Corresponds to the JSON property `fullPathMatch`
12948
13012
  # @return [String]
12949
13013
  attr_accessor :full_path_match
@@ -12956,53 +13020,52 @@ module Google
12956
13020
 
12957
13021
  # Specifies that prefixMatch and fullPathMatch matches are case sensitive. The
12958
13022
  # default value is false. ignoreCase must not be used with regexMatch. Not
12959
- # supported when the URL map is bound to target gRPC proxy.
13023
+ # supported when the URL map is bound to a target gRPC proxy.
12960
13024
  # Corresponds to the JSON property `ignoreCase`
12961
13025
  # @return [Boolean]
12962
13026
  attr_accessor :ignore_case
12963
13027
  alias_method :ignore_case?, :ignore_case
12964
13028
 
12965
- # Opaque filter criteria used by Loadbalancer to restrict routing configuration
12966
- # to a limited set of xDS compliant clients. In their xDS requests to
12967
- # Loadbalancer, xDS clients present node metadata. When there is a match, the
12968
- # relevant routing configuration is made available to those proxies. For each
12969
- # metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
12970
- # at least one of the filterLabels must match the corresponding label provided
12971
- # in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
12972
- # its filterLabels must match with corresponding labels provided in the metadata.
12973
- # If multiple metadataFilters are specified, all of them need to be satisfied
12974
- # in order to be considered a match. metadataFilters specified here will be
13029
+ # Opaque filter criteria used by the load balancer to restrict routing
13030
+ # configuration to a limited set of xDS compliant clients. In their xDS requests
13031
+ # to the load balancer, xDS clients present node metadata. When there is a match,
13032
+ # the relevant routing configuration is made available to those proxies. For
13033
+ # each metadataFilter in this list, if its filterMatchCriteria is set to
13034
+ # MATCH_ANY, at least one of the filterLabels must match the corresponding label
13035
+ # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
13036
+ # all of its filterLabels must match with corresponding labels provided in the
13037
+ # metadata. If multiple metadata filters are specified, all of them need to be
13038
+ # satisfied in order to be considered a match. metadataFilters specified here is
12975
13039
  # applied after those specified in ForwardingRule that refers to the UrlMap this
12976
- # HttpRouteRuleMatch belongs to. metadataFilters only applies to Loadbalancers
12977
- # that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not
12978
- # supported when the URL map is bound to target gRPC proxy that has
12979
- # validateForProxyless field set to true.
13040
+ # HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers
13041
+ # that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when
13042
+ # the URL map is bound to a target gRPC proxy that has validateForProxyless
13043
+ # field set to true.
12980
13044
  # Corresponds to the JSON property `metadataFilters`
12981
13045
  # @return [Array<Google::Apis::ComputeAlpha::MetadataFilter>]
12982
13046
  attr_accessor :metadata_filters
12983
13047
 
12984
13048
  # For satisfying the matchRule condition, the request's path must begin with the
12985
- # specified prefixMatch. prefixMatch must begin with a /. The value must be
12986
- # between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
12987
- # regexMatch must be specified.
13049
+ # specified prefixMatch. prefixMatch must begin with a /. The value must be from
13050
+ # 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
13051
+ # must be specified.
12988
13052
  # Corresponds to the JSON property `prefixMatch`
12989
13053
  # @return [String]
12990
13054
  attr_accessor :prefix_match
12991
13055
 
12992
13056
  # Specifies a list of query parameter match criteria, all of which must match
12993
13057
  # corresponding query parameters in the request. Not supported when the URL map
12994
- # is bound to target gRPC proxy.
13058
+ # is bound to a target gRPC proxy.
12995
13059
  # Corresponds to the JSON property `queryParameterMatches`
12996
13060
  # @return [Array<Google::Apis::ComputeAlpha::HttpQueryParameterMatch>]
12997
13061
  attr_accessor :query_parameter_matches
12998
13062
 
12999
13063
  # For satisfying the matchRule condition, the path of the request must satisfy
13000
13064
  # the regular expression specified in regexMatch after removing any query
13001
- # parameters and anchor supplied with the original URL. For regular expression
13002
- # grammar please see github.com/google/re2/wiki/Syntax Only one of prefixMatch,
13003
- # fullPathMatch or regexMatch must be specified. Note that regexMatch only
13004
- # applies to Loadbalancers that have their loadBalancingScheme set to
13005
- # INTERNAL_SELF_MANAGED.
13065
+ # parameters and anchor supplied with the original URL. For more information
13066
+ # about regular expression syntax, see Syntax. Only one of prefixMatch,
13067
+ # fullPathMatch or regexMatch must be specified. regexMatch only applies to load
13068
+ # balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED.
13006
13069
  # Corresponds to the JSON property `regexMatch`
13007
13070
  # @return [String]
13008
13071
  attr_accessor :regex_match
@@ -13261,6 +13324,11 @@ module Google
13261
13324
  class Image
13262
13325
  include Google::Apis::Core::Hashable
13263
13326
 
13327
+ # The architecture of the image. Valid values are ARM64 or X86_64.
13328
+ # Corresponds to the JSON property `architecture`
13329
+ # @return [String]
13330
+ attr_accessor :architecture
13331
+
13264
13332
  # Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).
13265
13333
  # Corresponds to the JSON property `archiveSizeBytes`
13266
13334
  # @return [Fixnum]
@@ -13296,8 +13364,8 @@ module Google
13296
13364
  attr_accessor :family
13297
13365
 
13298
13366
  # A list of features to enable on the guest operating system. Applicable only
13299
- # for bootable images. Read Enabling guest operating system features to see a
13300
- # list of available options.
13367
+ # for bootable images. To see a list of available options, see the
13368
+ # guestOSfeatures[].type parameter.
13301
13369
  # Corresponds to the JSON property `guestOsFeatures`
13302
13370
  # @return [Array<Google::Apis::ComputeAlpha::GuestOsFeature>]
13303
13371
  attr_accessor :guest_os_features
@@ -13516,6 +13584,7 @@ module Google
13516
13584
 
13517
13585
  # Update properties of this object
13518
13586
  def update!(**args)
13587
+ @architecture = args[:architecture] if args.key?(:architecture)
13519
13588
  @archive_size_bytes = args[:archive_size_bytes] if args.key?(:archive_size_bytes)
13520
13589
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
13521
13590
  @deprecated = args[:deprecated] if args.key?(:deprecated)
@@ -13730,264 +13799,6 @@ module Google
13730
13799
  end
13731
13800
  end
13732
13801
 
13733
- # Represents a InPlaceSnapshot resource. You can use in-place snapshots to
13734
- # create disk rollback points quickly..
13735
- class InPlaceSnapshot
13736
- include Google::Apis::Core::Hashable
13737
-
13738
- # [Output Only] Creation timestamp in RFC3339 text format.
13739
- # Corresponds to the JSON property `creationTimestamp`
13740
- # @return [String]
13741
- attr_accessor :creation_timestamp
13742
-
13743
- # An optional description of this resource. Provide this property when you
13744
- # create the resource.
13745
- # Corresponds to the JSON property `description`
13746
- # @return [String]
13747
- attr_accessor :description
13748
-
13749
- # [Output Only] Size of the source disk, specified in GB.
13750
- # Corresponds to the JSON property `diskSizeGb`
13751
- # @return [Fixnum]
13752
- attr_accessor :disk_size_gb
13753
-
13754
- # Specifies to create an application consistent in-place snapshot by informing
13755
- # the OS to prepare for the snapshot process. Currently only supported on
13756
- # Windows instances using the Volume Shadow Copy Service (VSS).
13757
- # Corresponds to the JSON property `guestFlush`
13758
- # @return [Boolean]
13759
- attr_accessor :guest_flush
13760
- alias_method :guest_flush?, :guest_flush
13761
-
13762
- # [Output Only] The unique identifier for the resource. This identifier is
13763
- # defined by the server.
13764
- # Corresponds to the JSON property `id`
13765
- # @return [Fixnum]
13766
- attr_accessor :id
13767
-
13768
- # [Output Only] Type of the resource. Always compute#inPlaceSnapshot for
13769
- # InPlaceSnapshot resources.
13770
- # Corresponds to the JSON property `kind`
13771
- # @return [String]
13772
- attr_accessor :kind
13773
-
13774
- # A fingerprint for the labels being applied to this InPlaceSnapshot, which is
13775
- # essentially a hash of the labels set used for optimistic locking. The
13776
- # fingerprint is initially generated by Compute Engine and changes after every
13777
- # request to modify or update labels. You must always provide an up-to-date
13778
- # fingerprint hash in order to update or change labels, otherwise the request
13779
- # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
13780
- # a get() request to retrieve a InPlaceSnapshot.
13781
- # Corresponds to the JSON property `labelFingerprint`
13782
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
13783
- # @return [String]
13784
- attr_accessor :label_fingerprint
13785
-
13786
- # Labels to apply to this InPlaceSnapshot. These can be later modified by the
13787
- # setLabels method. Label values may be empty.
13788
- # Corresponds to the JSON property `labels`
13789
- # @return [Hash<String,String>]
13790
- attr_accessor :labels
13791
-
13792
- # Name of the resource; provided by the client when the resource is created. The
13793
- # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
13794
- # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
13795
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
13796
- # and all following characters must be a dash, lowercase letter, or digit,
13797
- # except the last character, which cannot be a dash.
13798
- # Corresponds to the JSON property `name`
13799
- # @return [String]
13800
- attr_accessor :name
13801
-
13802
- # [Output Only] URL of the region where the in-place snapshot resides. You must
13803
- # specify this field as part of the HTTP request URL. It is not settable as a
13804
- # field in the request body.
13805
- # Corresponds to the JSON property `region`
13806
- # @return [String]
13807
- attr_accessor :region
13808
-
13809
- # [Output Only] Server-defined URL for the resource.
13810
- # Corresponds to the JSON property `selfLink`
13811
- # @return [String]
13812
- attr_accessor :self_link
13813
-
13814
- # [Output Only] Server-defined URL for this resource's resource id.
13815
- # Corresponds to the JSON property `selfLinkWithId`
13816
- # @return [String]
13817
- attr_accessor :self_link_with_id
13818
-
13819
- # URL of the source disk used to create this in-place snapshot. Note that the
13820
- # source disk must be in the same zone/region as the in-place snapshot to be
13821
- # created. This can be a full or valid partial URL. For example, the following
13822
- # are valid values: - https://www.googleapis.com/compute/v1/projects/project/
13823
- # zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/
13824
- # disks/disk
13825
- # Corresponds to the JSON property `sourceDisk`
13826
- # @return [String]
13827
- attr_accessor :source_disk
13828
-
13829
- # [Output Only] The ID value of the disk used to create this InPlaceSnapshot.
13830
- # This value may be used to determine whether the InPlaceSnapshot was taken from
13831
- # the current or a previous instance of a given disk name.
13832
- # Corresponds to the JSON property `sourceDiskId`
13833
- # @return [String]
13834
- attr_accessor :source_disk_id
13835
-
13836
- # [Output Only] The status of the inPlaceSnapshot. This can be CREATING,
13837
- # DELETING, FAILED, or READY.
13838
- # Corresponds to the JSON property `status`
13839
- # @return [String]
13840
- attr_accessor :status
13841
-
13842
- # [Output Only] URL of the zone where the in-place snapshot resides. You must
13843
- # specify this field as part of the HTTP request URL. It is not settable as a
13844
- # field in the request body.
13845
- # Corresponds to the JSON property `zone`
13846
- # @return [String]
13847
- attr_accessor :zone
13848
-
13849
- def initialize(**args)
13850
- update!(**args)
13851
- end
13852
-
13853
- # Update properties of this object
13854
- def update!(**args)
13855
- @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
13856
- @description = args[:description] if args.key?(:description)
13857
- @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
13858
- @guest_flush = args[:guest_flush] if args.key?(:guest_flush)
13859
- @id = args[:id] if args.key?(:id)
13860
- @kind = args[:kind] if args.key?(:kind)
13861
- @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
13862
- @labels = args[:labels] if args.key?(:labels)
13863
- @name = args[:name] if args.key?(:name)
13864
- @region = args[:region] if args.key?(:region)
13865
- @self_link = args[:self_link] if args.key?(:self_link)
13866
- @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
13867
- @source_disk = args[:source_disk] if args.key?(:source_disk)
13868
- @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
13869
- @status = args[:status] if args.key?(:status)
13870
- @zone = args[:zone] if args.key?(:zone)
13871
- end
13872
- end
13873
-
13874
- # Contains a list of InPlaceSnapshot resources.
13875
- class InPlaceSnapshotList
13876
- include Google::Apis::Core::Hashable
13877
-
13878
- # [Output Only] Unique identifier for the resource; defined by the server.
13879
- # Corresponds to the JSON property `id`
13880
- # @return [String]
13881
- attr_accessor :id
13882
-
13883
- # A list of InPlaceSnapshot resources.
13884
- # Corresponds to the JSON property `items`
13885
- # @return [Array<Google::Apis::ComputeAlpha::InPlaceSnapshot>]
13886
- attr_accessor :items
13887
-
13888
- # Type of resource.
13889
- # Corresponds to the JSON property `kind`
13890
- # @return [String]
13891
- attr_accessor :kind
13892
-
13893
- # [Output Only] This token allows you to get the next page of results for list
13894
- # requests. If the number of results is larger than maxResults, use the
13895
- # nextPageToken as a value for the query parameter pageToken in the next list
13896
- # request. Subsequent list requests will have their own nextPageToken to
13897
- # continue paging through the results.
13898
- # Corresponds to the JSON property `nextPageToken`
13899
- # @return [String]
13900
- attr_accessor :next_page_token
13901
-
13902
- # [Output Only] Server-defined URL for this resource.
13903
- # Corresponds to the JSON property `selfLink`
13904
- # @return [String]
13905
- attr_accessor :self_link
13906
-
13907
- # [Output Only] Informational warning message.
13908
- # Corresponds to the JSON property `warning`
13909
- # @return [Google::Apis::ComputeAlpha::InPlaceSnapshotList::Warning]
13910
- attr_accessor :warning
13911
-
13912
- def initialize(**args)
13913
- update!(**args)
13914
- end
13915
-
13916
- # Update properties of this object
13917
- def update!(**args)
13918
- @id = args[:id] if args.key?(:id)
13919
- @items = args[:items] if args.key?(:items)
13920
- @kind = args[:kind] if args.key?(:kind)
13921
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
13922
- @self_link = args[:self_link] if args.key?(:self_link)
13923
- @warning = args[:warning] if args.key?(:warning)
13924
- end
13925
-
13926
- # [Output Only] Informational warning message.
13927
- class Warning
13928
- include Google::Apis::Core::Hashable
13929
-
13930
- # [Output Only] A warning code, if applicable. For example, Compute Engine
13931
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
13932
- # Corresponds to the JSON property `code`
13933
- # @return [String]
13934
- attr_accessor :code
13935
-
13936
- # [Output Only] Metadata about this warning in key: value format. For example: "
13937
- # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
13938
- # Corresponds to the JSON property `data`
13939
- # @return [Array<Google::Apis::ComputeAlpha::InPlaceSnapshotList::Warning::Datum>]
13940
- attr_accessor :data
13941
-
13942
- # [Output Only] A human-readable description of the warning code.
13943
- # Corresponds to the JSON property `message`
13944
- # @return [String]
13945
- attr_accessor :message
13946
-
13947
- def initialize(**args)
13948
- update!(**args)
13949
- end
13950
-
13951
- # Update properties of this object
13952
- def update!(**args)
13953
- @code = args[:code] if args.key?(:code)
13954
- @data = args[:data] if args.key?(:data)
13955
- @message = args[:message] if args.key?(:message)
13956
- end
13957
-
13958
- #
13959
- class Datum
13960
- include Google::Apis::Core::Hashable
13961
-
13962
- # [Output Only] A key that provides more detail on the warning being returned.
13963
- # For example, for warnings where there are no results in a list request for a
13964
- # particular zone, this key might be scope and the key value might be the zone
13965
- # name. Other examples might be a key indicating a deprecated resource and a
13966
- # suggested replacement, or a warning about invalid network settings (for
13967
- # example, if an instance attempts to perform IP forwarding but is not enabled
13968
- # for IP forwarding).
13969
- # Corresponds to the JSON property `key`
13970
- # @return [String]
13971
- attr_accessor :key
13972
-
13973
- # [Output Only] A warning data value corresponding to the key.
13974
- # Corresponds to the JSON property `value`
13975
- # @return [String]
13976
- attr_accessor :value
13977
-
13978
- def initialize(**args)
13979
- update!(**args)
13980
- end
13981
-
13982
- # Update properties of this object
13983
- def update!(**args)
13984
- @key = args[:key] if args.key?(:key)
13985
- @value = args[:value] if args.key?(:value)
13986
- end
13987
- end
13988
- end
13989
- end
13990
-
13991
13802
  # Initial State for shielded instance, these are public keys which are safe to
13992
13803
  # store in public
13993
13804
  class InitialStateConfig
@@ -14139,6 +13950,11 @@ module Google
14139
13950
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
14140
13951
  attr_accessor :instance_encryption_key
14141
13952
 
13953
+ # KeyRevocationActionType of the instance.
13954
+ # Corresponds to the JSON property `keyRevocationActionType`
13955
+ # @return [String]
13956
+ attr_accessor :key_revocation_action_type
13957
+
14142
13958
  # [Output Only] Type of the resource. Always compute#instance for instances.
14143
13959
  # Corresponds to the JSON property `kind`
14144
13960
  # @return [String]
@@ -14353,7 +14169,9 @@ module Google
14353
14169
  # @return [Google::Apis::ComputeAlpha::Tags]
14354
14170
  attr_accessor :tags
14355
14171
 
14356
- # Upcoming Maintenance notification information.
14172
+ # Upcoming Maintenance notification information. TODO(b/196881882) Deprecate
14173
+ # this proto once it's fully migrated to be under proto ResourceStatus.
14174
+ # UpcomingMaintenance.
14357
14175
  # Corresponds to the JSON property `upcomingMaintenance`
14358
14176
  # @return [Google::Apis::ComputeAlpha::UpcomingMaintenance]
14359
14177
  attr_accessor :upcoming_maintenance
@@ -14386,6 +14204,7 @@ module Google
14386
14204
  @hostname = args[:hostname] if args.key?(:hostname)
14387
14205
  @id = args[:id] if args.key?(:id)
14388
14206
  @instance_encryption_key = args[:instance_encryption_key] if args.key?(:instance_encryption_key)
14207
+ @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
14389
14208
  @kind = args[:kind] if args.key?(:kind)
14390
14209
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
14391
14210
  @labels = args[:labels] if args.key?(:labels)
@@ -14549,6 +14368,68 @@ module Google
14549
14368
  end
14550
14369
  end
14551
14370
 
14371
+ #
14372
+ class InstanceConsumptionData
14373
+ include Google::Apis::Core::Hashable
14374
+
14375
+ # Resources consumed by the instance.
14376
+ # Corresponds to the JSON property `consumptionInfo`
14377
+ # @return [Google::Apis::ComputeAlpha::InstanceConsumptionInfo]
14378
+ attr_accessor :consumption_info
14379
+
14380
+ # Server-defined URL for the instance.
14381
+ # Corresponds to the JSON property `instance`
14382
+ # @return [String]
14383
+ attr_accessor :instance
14384
+
14385
+ def initialize(**args)
14386
+ update!(**args)
14387
+ end
14388
+
14389
+ # Update properties of this object
14390
+ def update!(**args)
14391
+ @consumption_info = args[:consumption_info] if args.key?(:consumption_info)
14392
+ @instance = args[:instance] if args.key?(:instance)
14393
+ end
14394
+ end
14395
+
14396
+ #
14397
+ class InstanceConsumptionInfo
14398
+ include Google::Apis::Core::Hashable
14399
+
14400
+ # The number of virtual CPUs that are available to the instance.
14401
+ # Corresponds to the JSON property `guestCpus`
14402
+ # @return [Fixnum]
14403
+ attr_accessor :guest_cpus
14404
+
14405
+ # The amount of local SSD storage available to the instance, defined in GiB.
14406
+ # Corresponds to the JSON property `localSsdGb`
14407
+ # @return [Fixnum]
14408
+ attr_accessor :local_ssd_gb
14409
+
14410
+ # The amount of physical memory available to the instance, defined in MiB.
14411
+ # Corresponds to the JSON property `memoryMb`
14412
+ # @return [Fixnum]
14413
+ attr_accessor :memory_mb
14414
+
14415
+ # The minimal guaranteed number of virtual CPUs that are reserved.
14416
+ # Corresponds to the JSON property `minNodeCpus`
14417
+ # @return [Fixnum]
14418
+ attr_accessor :min_node_cpus
14419
+
14420
+ def initialize(**args)
14421
+ update!(**args)
14422
+ end
14423
+
14424
+ # Update properties of this object
14425
+ def update!(**args)
14426
+ @guest_cpus = args[:guest_cpus] if args.key?(:guest_cpus)
14427
+ @local_ssd_gb = args[:local_ssd_gb] if args.key?(:local_ssd_gb)
14428
+ @memory_mb = args[:memory_mb] if args.key?(:memory_mb)
14429
+ @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
14430
+ end
14431
+ end
14432
+
14552
14433
  # Represents an Instance Group resource. Instance Groups can be used to
14553
14434
  # configure a target for load balancing. Instance groups can either be managed
14554
14435
  # or unmanaged. To create managed instance groups, use the instanceGroupManager
@@ -14922,6 +14803,12 @@ module Google
14922
14803
  class InstanceGroupManager
14923
14804
  include Google::Apis::Core::Hashable
14924
14805
 
14806
+ # Specifies the instances configs overrides that should be applied for all
14807
+ # instances in the MIG.
14808
+ # Corresponds to the JSON property `allInstancesConfig`
14809
+ # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerAllInstancesConfig]
14810
+ attr_accessor :all_instances_config
14811
+
14925
14812
  # The autohealing policy for this managed instance group. You can specify only
14926
14813
  # one value.
14927
14814
  # Corresponds to the JSON property `autoHealingPolicies`
@@ -15116,6 +15003,7 @@ module Google
15116
15003
 
15117
15004
  # Update properties of this object
15118
15005
  def update!(**args)
15006
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
15119
15007
  @auto_healing_policies = args[:auto_healing_policies] if args.key?(:auto_healing_policies)
15120
15008
  @base_instance_name = args[:base_instance_name] if args.key?(:base_instance_name)
15121
15009
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@@ -15387,10 +15275,34 @@ module Google
15387
15275
  end
15388
15276
  end
15389
15277
 
15278
+ #
15279
+ class InstanceGroupManagerAllInstancesConfig
15280
+ include Google::Apis::Core::Hashable
15281
+
15282
+ # Represents the change that you want to make to the instance properties.
15283
+ # Corresponds to the JSON property `properties`
15284
+ # @return [Google::Apis::ComputeAlpha::InstancePropertiesPatch]
15285
+ attr_accessor :properties
15286
+
15287
+ def initialize(**args)
15288
+ update!(**args)
15289
+ end
15290
+
15291
+ # Update properties of this object
15292
+ def update!(**args)
15293
+ @properties = args[:properties] if args.key?(:properties)
15294
+ end
15295
+ end
15296
+
15390
15297
  #
15391
15298
  class InstanceGroupManagerAutoHealingPolicy
15392
15299
  include Google::Apis::Core::Hashable
15393
15300
 
15301
+ # Restricts what triggers autohealing.
15302
+ # Corresponds to the JSON property `autoHealingTriggers`
15303
+ # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers]
15304
+ attr_accessor :auto_healing_triggers
15305
+
15394
15306
  # The URL for the health check that signals autohealing.
15395
15307
  # Corresponds to the JSON property `healthCheck`
15396
15308
  # @return [String]
@@ -15411,15 +15323,47 @@ module Google
15411
15323
  # @return [Google::Apis::ComputeAlpha::FixedOrPercent]
15412
15324
  attr_accessor :max_unavailable
15413
15325
 
15326
+ #
15327
+ # Corresponds to the JSON property `updateInstances`
15328
+ # @return [String]
15329
+ attr_accessor :update_instances
15330
+
15414
15331
  def initialize(**args)
15415
15332
  update!(**args)
15416
15333
  end
15417
15334
 
15418
15335
  # Update properties of this object
15419
15336
  def update!(**args)
15337
+ @auto_healing_triggers = args[:auto_healing_triggers] if args.key?(:auto_healing_triggers)
15420
15338
  @health_check = args[:health_check] if args.key?(:health_check)
15421
15339
  @initial_delay_sec = args[:initial_delay_sec] if args.key?(:initial_delay_sec)
15422
15340
  @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
15341
+ @update_instances = args[:update_instances] if args.key?(:update_instances)
15342
+ end
15343
+ end
15344
+
15345
+ #
15346
+ class InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers
15347
+ include Google::Apis::Core::Hashable
15348
+
15349
+ # If you have configured an application-based health check for the group, this
15350
+ # field controls whether to trigger VM autohealing based on a failed health
15351
+ # check. Valid values are: - ON (default): The group recreates running VMs that
15352
+ # fail the application-based health check. - OFF: When set to OFF, you can still
15353
+ # observe instance health state, but the group does not recreate VMs that fail
15354
+ # the application-based health check. This is useful for troubleshooting and
15355
+ # setting up your health check configuration.
15356
+ # Corresponds to the JSON property `onHealthCheck`
15357
+ # @return [String]
15358
+ attr_accessor :on_health_check
15359
+
15360
+ def initialize(**args)
15361
+ update!(**args)
15362
+ end
15363
+
15364
+ # Update properties of this object
15365
+ def update!(**args)
15366
+ @on_health_check = args[:on_health_check] if args.key?(:on_health_check)
15423
15367
  end
15424
15368
  end
15425
15369
 
@@ -15612,6 +15556,12 @@ module Google
15612
15556
  class InstanceGroupManagerStatus
15613
15557
  include Google::Apis::Core::Hashable
15614
15558
 
15559
+ # [Output Only] A status of consistency of Instances' config applied to
15560
+ # instances with Instances' config defined in managed instance group.
15561
+ # Corresponds to the JSON property `allInstancesConfig`
15562
+ # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerStatusAllInstancesConfig]
15563
+ attr_accessor :all_instances_config
15564
+
15615
15565
  # [Output Only] The URL of the Autoscaler that targets this instance group
15616
15566
  # manager.
15617
15567
  # Corresponds to the JSON property `autoscaler`
@@ -15646,6 +15596,7 @@ module Google
15646
15596
 
15647
15597
  # Update properties of this object
15648
15598
  def update!(**args)
15599
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
15649
15600
  @autoscaler = args[:autoscaler] if args.key?(:autoscaler)
15650
15601
  @is_stable = args[:is_stable] if args.key?(:is_stable)
15651
15602
  @stateful = args[:stateful] if args.key?(:stateful)
@@ -15653,6 +15604,34 @@ module Google
15653
15604
  end
15654
15605
  end
15655
15606
 
15607
+ #
15608
+ class InstanceGroupManagerStatusAllInstancesConfig
15609
+ include Google::Apis::Core::Hashable
15610
+
15611
+ # [Output Only] Current instances' config revision. This value is in RFC3339
15612
+ # text format.
15613
+ # Corresponds to the JSON property `currentRevision`
15614
+ # @return [String]
15615
+ attr_accessor :current_revision
15616
+
15617
+ # [Output Only] A bit indicating whether instances' config has been applied to
15618
+ # all managed instances in managed instance group.
15619
+ # Corresponds to the JSON property `effective`
15620
+ # @return [Boolean]
15621
+ attr_accessor :effective
15622
+ alias_method :effective?, :effective
15623
+
15624
+ def initialize(**args)
15625
+ update!(**args)
15626
+ end
15627
+
15628
+ # Update properties of this object
15629
+ def update!(**args)
15630
+ @current_revision = args[:current_revision] if args.key?(:current_revision)
15631
+ @effective = args[:effective] if args.key?(:effective)
15632
+ end
15633
+ end
15634
+
15656
15635
  #
15657
15636
  class InstanceGroupManagerStatusStateful
15658
15637
  include Google::Apis::Core::Hashable
@@ -17251,6 +17230,11 @@ module Google
17251
17230
  # @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
17252
17231
  attr_accessor :guest_accelerators
17253
17232
 
17233
+ # KeyRevocationActionType of the instance.
17234
+ # Corresponds to the JSON property `keyRevocationActionType`
17235
+ # @return [String]
17236
+ attr_accessor :key_revocation_action_type
17237
+
17254
17238
  # Labels to apply to instances that are created from these properties.
17255
17239
  # Corresponds to the JSON property `labels`
17256
17240
  # @return [Hash<String,String>]
@@ -17280,7 +17264,7 @@ module Google
17280
17264
  # @return [Array<Google::Apis::ComputeAlpha::NetworkInterface>]
17281
17265
  attr_accessor :network_interfaces
17282
17266
 
17283
- #
17267
+ # Note that for MachineImage, this is not supported yet.
17284
17268
  # Corresponds to the JSON property `networkPerformanceConfig`
17285
17269
  # @return [Google::Apis::ComputeAlpha::NetworkPerformanceConfig]
17286
17270
  attr_accessor :network_performance_config
@@ -17291,7 +17275,8 @@ module Google
17291
17275
  attr_accessor :post_key_revocation_action_type
17292
17276
 
17293
17277
  # The private IPv6 google access type for VMs. If not specified, use
17294
- # INHERIT_FROM_SUBNETWORK as default.
17278
+ # INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not
17279
+ # supported yet.
17295
17280
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
17296
17281
  # @return [String]
17297
17282
  attr_accessor :private_ipv6_google_access
@@ -17302,7 +17287,7 @@ module Google
17302
17287
  attr_accessor :reservation_affinity
17303
17288
 
17304
17289
  # Resource policies (names, not ULRs) applied to instances created from these
17305
- # properties.
17290
+ # properties. Note that for MachineImage, this is not supported yet.
17306
17291
  # Corresponds to the JSON property `resourcePolicies`
17307
17292
  # @return [Array<String>]
17308
17293
  attr_accessor :resource_policies
@@ -17313,7 +17298,7 @@ module Google
17313
17298
  attr_accessor :scheduling
17314
17299
 
17315
17300
  # [Input Only] Secure tags to apply to this instance. Maximum number of secure
17316
- # tags allowed is 50.
17301
+ # tags allowed is 50. Note that for MachineImage, this is not supported yet.
17317
17302
  # Corresponds to the JSON property `secureTags`
17318
17303
  # @return [Array<String>]
17319
17304
  attr_accessor :secure_tags
@@ -17354,6 +17339,7 @@ module Google
17354
17339
  @disks = args[:disks] if args.key?(:disks)
17355
17340
  @display_device = args[:display_device] if args.key?(:display_device)
17356
17341
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
17342
+ @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
17357
17343
  @labels = args[:labels] if args.key?(:labels)
17358
17344
  @machine_type = args[:machine_type] if args.key?(:machine_type)
17359
17345
  @metadata = args[:metadata] if args.key?(:metadata)
@@ -17373,6 +17359,32 @@ module Google
17373
17359
  end
17374
17360
  end
17375
17361
 
17362
+ # Represents the change that you want to make to the instance properties.
17363
+ class InstancePropertiesPatch
17364
+ include Google::Apis::Core::Hashable
17365
+
17366
+ # The label key-value pairs that you want to patch onto the instance.
17367
+ # Corresponds to the JSON property `labels`
17368
+ # @return [Hash<String,String>]
17369
+ attr_accessor :labels
17370
+
17371
+ # The metadata key-value pairs that you want to patch onto the instance. For
17372
+ # more information, see Project and instance metadata.
17373
+ # Corresponds to the JSON property `metadata`
17374
+ # @return [Hash<String,String>]
17375
+ attr_accessor :metadata
17376
+
17377
+ def initialize(**args)
17378
+ update!(**args)
17379
+ end
17380
+
17381
+ # Update properties of this object
17382
+ def update!(**args)
17383
+ @labels = args[:labels] if args.key?(:labels)
17384
+ @metadata = args[:metadata] if args.key?(:metadata)
17385
+ end
17386
+ end
17387
+
17376
17388
  #
17377
17389
  class InstanceReference
17378
17390
  include Google::Apis::Core::Hashable
@@ -18065,6 +18077,12 @@ module Google
18065
18077
  class InstantSnapshot
18066
18078
  include Google::Apis::Core::Hashable
18067
18079
 
18080
+ # [Output Only] The architecture of the instant snapshot. Valid values are ARM64
18081
+ # or X86_64.
18082
+ # Corresponds to the JSON property `architecture`
18083
+ # @return [String]
18084
+ attr_accessor :architecture
18085
+
18068
18086
  # [Output Only] Creation timestamp in RFC3339 text format.
18069
18087
  # Corresponds to the JSON property `creationTimestamp`
18070
18088
  # @return [String]
@@ -18190,6 +18208,7 @@ module Google
18190
18208
 
18191
18209
  # Update properties of this object
18192
18210
  def update!(**args)
18211
+ @architecture = args[:architecture] if args.key?(:architecture)
18193
18212
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
18194
18213
  @description = args[:description] if args.key?(:description)
18195
18214
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
@@ -18210,6 +18229,130 @@ module Google
18210
18229
  end
18211
18230
  end
18212
18231
 
18232
+ #
18233
+ class InstantSnapshotAggregatedList
18234
+ include Google::Apis::Core::Hashable
18235
+
18236
+ # [Output Only] Unique identifier for the resource; defined by the server.
18237
+ # Corresponds to the JSON property `id`
18238
+ # @return [String]
18239
+ attr_accessor :id
18240
+
18241
+ # A list of InstantSnapshotsScopedList resources.
18242
+ # Corresponds to the JSON property `items`
18243
+ # @return [Hash<String,Google::Apis::ComputeAlpha::InstantSnapshotsScopedList>]
18244
+ attr_accessor :items
18245
+
18246
+ # [Output Only] Type of resource. Always compute#instantSnapshotAggregatedList
18247
+ # for aggregated lists of instantSnapshots.
18248
+ # Corresponds to the JSON property `kind`
18249
+ # @return [String]
18250
+ attr_accessor :kind
18251
+
18252
+ # [Output Only] This token allows you to get the next page of results for list
18253
+ # requests. If the number of results is larger than maxResults, use the
18254
+ # nextPageToken as a value for the query parameter pageToken in the next list
18255
+ # request. Subsequent list requests will have their own nextPageToken to
18256
+ # continue paging through the results.
18257
+ # Corresponds to the JSON property `nextPageToken`
18258
+ # @return [String]
18259
+ attr_accessor :next_page_token
18260
+
18261
+ # [Output Only] Server-defined URL for this resource.
18262
+ # Corresponds to the JSON property `selfLink`
18263
+ # @return [String]
18264
+ attr_accessor :self_link
18265
+
18266
+ # [Output Only] Unreachable resources.
18267
+ # Corresponds to the JSON property `unreachables`
18268
+ # @return [Array<String>]
18269
+ attr_accessor :unreachables
18270
+
18271
+ # [Output Only] Informational warning message.
18272
+ # Corresponds to the JSON property `warning`
18273
+ # @return [Google::Apis::ComputeAlpha::InstantSnapshotAggregatedList::Warning]
18274
+ attr_accessor :warning
18275
+
18276
+ def initialize(**args)
18277
+ update!(**args)
18278
+ end
18279
+
18280
+ # Update properties of this object
18281
+ def update!(**args)
18282
+ @id = args[:id] if args.key?(:id)
18283
+ @items = args[:items] if args.key?(:items)
18284
+ @kind = args[:kind] if args.key?(:kind)
18285
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18286
+ @self_link = args[:self_link] if args.key?(:self_link)
18287
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
18288
+ @warning = args[:warning] if args.key?(:warning)
18289
+ end
18290
+
18291
+ # [Output Only] Informational warning message.
18292
+ class Warning
18293
+ include Google::Apis::Core::Hashable
18294
+
18295
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18296
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18297
+ # Corresponds to the JSON property `code`
18298
+ # @return [String]
18299
+ attr_accessor :code
18300
+
18301
+ # [Output Only] Metadata about this warning in key: value format. For example: "
18302
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18303
+ # Corresponds to the JSON property `data`
18304
+ # @return [Array<Google::Apis::ComputeAlpha::InstantSnapshotAggregatedList::Warning::Datum>]
18305
+ attr_accessor :data
18306
+
18307
+ # [Output Only] A human-readable description of the warning code.
18308
+ # Corresponds to the JSON property `message`
18309
+ # @return [String]
18310
+ attr_accessor :message
18311
+
18312
+ def initialize(**args)
18313
+ update!(**args)
18314
+ end
18315
+
18316
+ # Update properties of this object
18317
+ def update!(**args)
18318
+ @code = args[:code] if args.key?(:code)
18319
+ @data = args[:data] if args.key?(:data)
18320
+ @message = args[:message] if args.key?(:message)
18321
+ end
18322
+
18323
+ #
18324
+ class Datum
18325
+ include Google::Apis::Core::Hashable
18326
+
18327
+ # [Output Only] A key that provides more detail on the warning being returned.
18328
+ # For example, for warnings where there are no results in a list request for a
18329
+ # particular zone, this key might be scope and the key value might be the zone
18330
+ # name. Other examples might be a key indicating a deprecated resource and a
18331
+ # suggested replacement, or a warning about invalid network settings (for
18332
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18333
+ # for IP forwarding).
18334
+ # Corresponds to the JSON property `key`
18335
+ # @return [String]
18336
+ attr_accessor :key
18337
+
18338
+ # [Output Only] A warning data value corresponding to the key.
18339
+ # Corresponds to the JSON property `value`
18340
+ # @return [String]
18341
+ attr_accessor :value
18342
+
18343
+ def initialize(**args)
18344
+ update!(**args)
18345
+ end
18346
+
18347
+ # Update properties of this object
18348
+ def update!(**args)
18349
+ @key = args[:key] if args.key?(:key)
18350
+ @value = args[:value] if args.key?(:value)
18351
+ end
18352
+ end
18353
+ end
18354
+ end
18355
+
18213
18356
  #
18214
18357
  class InstantSnapshotExportParams
18215
18358
  include Google::Apis::Core::Hashable
@@ -18395,6 +18538,97 @@ module Google
18395
18538
  end
18396
18539
  end
18397
18540
 
18541
+ #
18542
+ class InstantSnapshotsScopedList
18543
+ include Google::Apis::Core::Hashable
18544
+
18545
+ # [Output Only] A list of instantSnapshots contained in this scope.
18546
+ # Corresponds to the JSON property `instantSnapshots`
18547
+ # @return [Array<Google::Apis::ComputeAlpha::InstantSnapshot>]
18548
+ attr_accessor :instant_snapshots
18549
+
18550
+ # [Output Only] Informational warning which replaces the list of
18551
+ # instantSnapshots when the list is empty.
18552
+ # Corresponds to the JSON property `warning`
18553
+ # @return [Google::Apis::ComputeAlpha::InstantSnapshotsScopedList::Warning]
18554
+ attr_accessor :warning
18555
+
18556
+ def initialize(**args)
18557
+ update!(**args)
18558
+ end
18559
+
18560
+ # Update properties of this object
18561
+ def update!(**args)
18562
+ @instant_snapshots = args[:instant_snapshots] if args.key?(:instant_snapshots)
18563
+ @warning = args[:warning] if args.key?(:warning)
18564
+ end
18565
+
18566
+ # [Output Only] Informational warning which replaces the list of
18567
+ # instantSnapshots when the list is empty.
18568
+ class Warning
18569
+ include Google::Apis::Core::Hashable
18570
+
18571
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18572
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18573
+ # Corresponds to the JSON property `code`
18574
+ # @return [String]
18575
+ attr_accessor :code
18576
+
18577
+ # [Output Only] Metadata about this warning in key: value format. For example: "
18578
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18579
+ # Corresponds to the JSON property `data`
18580
+ # @return [Array<Google::Apis::ComputeAlpha::InstantSnapshotsScopedList::Warning::Datum>]
18581
+ attr_accessor :data
18582
+
18583
+ # [Output Only] A human-readable description of the warning code.
18584
+ # Corresponds to the JSON property `message`
18585
+ # @return [String]
18586
+ attr_accessor :message
18587
+
18588
+ def initialize(**args)
18589
+ update!(**args)
18590
+ end
18591
+
18592
+ # Update properties of this object
18593
+ def update!(**args)
18594
+ @code = args[:code] if args.key?(:code)
18595
+ @data = args[:data] if args.key?(:data)
18596
+ @message = args[:message] if args.key?(:message)
18597
+ end
18598
+
18599
+ #
18600
+ class Datum
18601
+ include Google::Apis::Core::Hashable
18602
+
18603
+ # [Output Only] A key that provides more detail on the warning being returned.
18604
+ # For example, for warnings where there are no results in a list request for a
18605
+ # particular zone, this key might be scope and the key value might be the zone
18606
+ # name. Other examples might be a key indicating a deprecated resource and a
18607
+ # suggested replacement, or a warning about invalid network settings (for
18608
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18609
+ # for IP forwarding).
18610
+ # Corresponds to the JSON property `key`
18611
+ # @return [String]
18612
+ attr_accessor :key
18613
+
18614
+ # [Output Only] A warning data value corresponding to the key.
18615
+ # Corresponds to the JSON property `value`
18616
+ # @return [String]
18617
+ attr_accessor :value
18618
+
18619
+ def initialize(**args)
18620
+ update!(**args)
18621
+ end
18622
+
18623
+ # Update properties of this object
18624
+ def update!(**args)
18625
+ @key = args[:key] if args.key?(:key)
18626
+ @value = args[:value] if args.key?(:value)
18627
+ end
18628
+ end
18629
+ end
18630
+ end
18631
+
18398
18632
  # HttpRouteRuleMatch criteria for field values that must stay within the
18399
18633
  # specified integer range.
18400
18634
  class Int64RangeMatch
@@ -18756,7 +18990,10 @@ module Google
18756
18990
  # @return [String]
18757
18991
  attr_accessor :customer_router_ipv6_interface_id
18758
18992
 
18759
- # [Output Only] Dataplane version for this InterconnectAttachment.
18993
+ # [Output only for types PARTNER and DEDICATED. Not present for PARTNER_PROVIDER.
18994
+ # ] Dataplane version for this InterconnectAttachment. This field is only
18995
+ # present for Dataplane version 2 and higher. Absence of this field in the API
18996
+ # output indicates that the Dataplane is version 1.
18760
18997
  # Corresponds to the JSON property `dataplaneVersion`
18761
18998
  # @return [Fixnum]
18762
18999
  attr_accessor :dataplane_version
@@ -21321,6 +21558,11 @@ module Google
21321
21558
  # @return [Fixnum]
21322
21559
  attr_accessor :id
21323
21560
 
21561
+ # [Output Only] Properties of source instance
21562
+ # Corresponds to the JSON property `instanceProperties`
21563
+ # @return [Google::Apis::ComputeAlpha::InstanceProperties]
21564
+ attr_accessor :instance_properties
21565
+
21324
21566
  # [Output Only] The resource type, which is always compute#machineImage for
21325
21567
  # machine image.
21326
21568
  # Corresponds to the JSON property `kind`
@@ -21356,6 +21598,12 @@ module Google
21356
21598
  attr_accessor :satisfies_pzs
21357
21599
  alias_method :satisfies_pzs?, :satisfies_pzs
21358
21600
 
21601
+ # An array of Machine Image specific properties for disks attached to the source
21602
+ # instance
21603
+ # Corresponds to the JSON property `savedDisks`
21604
+ # @return [Array<Google::Apis::ComputeAlpha::SavedDisk>]
21605
+ attr_accessor :saved_disks
21606
+
21359
21607
  # [Output Only] The URL for this machine image. The server defines this URL.
21360
21608
  # Corresponds to the JSON property `selfLink`
21361
21609
  # @return [String]
@@ -21381,7 +21629,8 @@ module Google
21381
21629
  # @return [String]
21382
21630
  attr_accessor :source_instance
21383
21631
 
21384
- # [Output Only] Properties of source instance.
21632
+ # DEPRECATED: Please use compute#instanceProperties instead. New properties will
21633
+ # not be added to this field.
21385
21634
  # Corresponds to the JSON property `sourceInstanceProperties`
21386
21635
  # @return [Google::Apis::ComputeAlpha::SourceInstanceProperties]
21387
21636
  attr_accessor :source_instance_properties
@@ -21413,10 +21662,12 @@ module Google
21413
21662
  @description = args[:description] if args.key?(:description)
21414
21663
  @guest_flush = args[:guest_flush] if args.key?(:guest_flush)
21415
21664
  @id = args[:id] if args.key?(:id)
21665
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
21416
21666
  @kind = args[:kind] if args.key?(:kind)
21417
21667
  @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
21418
21668
  @name = args[:name] if args.key?(:name)
21419
21669
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
21670
+ @saved_disks = args[:saved_disks] if args.key?(:saved_disks)
21420
21671
  @self_link = args[:self_link] if args.key?(:self_link)
21421
21672
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
21422
21673
  @source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
@@ -22020,6 +22271,11 @@ module Google
22020
22271
  class ManagedInstance
22021
22272
  include Google::Apis::Core::Hashable
22022
22273
 
22274
+ # [Output Only] Instances config revision applied to this instance.
22275
+ # Corresponds to the JSON property `allInstancesConfig`
22276
+ # @return [Google::Apis::ComputeAlpha::ManagedInstanceAllInstancesConfig]
22277
+ attr_accessor :all_instances_config
22278
+
22023
22279
  # [Output Only] The current action that the managed instance group has scheduled
22024
22280
  # for the instance. Possible values: - NONE The instance is running, and the
22025
22281
  # managed instance group does not have any scheduled actions for this instance. -
@@ -22110,6 +22366,7 @@ module Google
22110
22366
 
22111
22367
  # Update properties of this object
22112
22368
  def update!(**args)
22369
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
22113
22370
  @current_action = args[:current_action] if args.key?(:current_action)
22114
22371
  @id = args[:id] if args.key?(:id)
22115
22372
  @instance = args[:instance] if args.key?(:instance)
@@ -22125,6 +22382,25 @@ module Google
22125
22382
  end
22126
22383
  end
22127
22384
 
22385
+ #
22386
+ class ManagedInstanceAllInstancesConfig
22387
+ include Google::Apis::Core::Hashable
22388
+
22389
+ # [Output Only] Instances config revision. This value is in RFC3339 text format.
22390
+ # Corresponds to the JSON property `revision`
22391
+ # @return [String]
22392
+ attr_accessor :revision
22393
+
22394
+ def initialize(**args)
22395
+ update!(**args)
22396
+ end
22397
+
22398
+ # Update properties of this object
22399
+ def update!(**args)
22400
+ @revision = args[:revision] if args.key?(:revision)
22401
+ end
22402
+ end
22403
+
22128
22404
  #
22129
22405
  class ManagedInstanceInstanceHealth
22130
22406
  include Google::Apis::Core::Hashable
@@ -22354,18 +22630,18 @@ module Google
22354
22630
  end
22355
22631
  end
22356
22632
 
22357
- # Opaque filter criteria used by loadbalancers to restrict routing configuration
22358
- # to a limited set of loadbalancing proxies. Proxies and sidecars involved in
22359
- # loadbalancing would typically present metadata to the loadbalancers which need
22360
- # to match criteria specified here. If a match takes place, the relevant
22361
- # configuration is made available to those proxies. For each metadataFilter in
22362
- # this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the
22363
- # filterLabels must match the corresponding label provided in the metadata. If
22364
- # its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must
22365
- # match with corresponding labels provided in the metadata. An example for using
22366
- # metadataFilters would be: if loadbalancing involves Envoys, they will only
22367
- # receive routing configuration when values in metadataFilters match values
22368
- # supplied in of their XDS requests to loadbalancers.
22633
+ # Opaque filter criteria used by load balancers to restrict routing
22634
+ # configuration to a limited set of load balancing proxies. Proxies and sidecars
22635
+ # involved in load balancing would typically present metadata to the load
22636
+ # balancers that need to match criteria specified here. If a match takes place,
22637
+ # the relevant configuration is made available to those proxies. For each
22638
+ # metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
22639
+ # at least one of the filterLabels must match the corresponding label provided
22640
+ # in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
22641
+ # its filterLabels must match with corresponding labels provided in the metadata.
22642
+ # An example for using metadataFilters would be: if load balancing involves
22643
+ # Envoys, they receive routing configuration when values in metadataFilters
22644
+ # match values supplied in of their XDS requests to loadbalancers.
22369
22645
  class MetadataFilter
22370
22646
  include Google::Apis::Core::Hashable
22371
22647
 
@@ -22376,11 +22652,11 @@ module Google
22376
22652
  # @return [Array<Google::Apis::ComputeAlpha::MetadataFilterLabelMatch>]
22377
22653
  attr_accessor :filter_labels
22378
22654
 
22379
- # Specifies how individual filterLabel matches within the list of filterLabels
22380
- # contribute towards the overall metadataFilter match. Supported values are: -
22381
- # MATCH_ANY: At least one of the filterLabels must have a matching label in the
22382
- # provided metadata. - MATCH_ALL: All filterLabels must have matching labels in
22383
- # the provided metadata.
22655
+ # Specifies how individual filter label matches within the list of filterLabels
22656
+ # and contributes toward the overall metadataFilter match. Supported values are:
22657
+ # - MATCH_ANY: at least one of the filterLabels must have a matching label in
22658
+ # the provided metadata. - MATCH_ALL: all filterLabels must have matching labels
22659
+ # in the provided metadata.
22384
22660
  # Corresponds to the JSON property `filterMatchCriteria`
22385
22661
  # @return [String]
22386
22662
  attr_accessor :filter_match_criteria
@@ -22397,7 +22673,7 @@ module Google
22397
22673
  end
22398
22674
 
22399
22675
  # MetadataFilter label name value pairs that are expected to match corresponding
22400
- # labels presented as metadata to the loadbalancer.
22676
+ # labels presented as metadata to the load balancer.
22401
22677
  class MetadataFilterLabelMatch
22402
22678
  include Google::Apis::Core::Hashable
22403
22679
 
@@ -22508,6 +22784,13 @@ module Google
22508
22784
  # @return [String]
22509
22785
  attr_accessor :description
22510
22786
 
22787
+ # Enable ULA internal ipv6 on this network. Enabling this feature will assign a /
22788
+ # 48 from google defined ULA prefix fd20::/20. .
22789
+ # Corresponds to the JSON property `enableUlaInternalIpv6`
22790
+ # @return [Boolean]
22791
+ attr_accessor :enable_ula_internal_ipv6
22792
+ alias_method :enable_ula_internal_ipv6?, :enable_ula_internal_ipv6
22793
+
22511
22794
  # [Output Only] URL of the firewall policy the network is associated with.
22512
22795
  # Corresponds to the JSON property `firewallPolicy`
22513
22796
  # @return [String]
@@ -22525,6 +22808,16 @@ module Google
22525
22808
  # @return [Fixnum]
22526
22809
  attr_accessor :id
22527
22810
 
22811
+ # When enabling ula internal ipv6, caller optionally can specify the /48 range
22812
+ # they want from the google defined ULA prefix fd20::/20. The input must be a
22813
+ # valid /48 ULA IPv6 address and must be within the fd20::/20. Operation will
22814
+ # fail if the speficied /48 is already in used by another resource. If the field
22815
+ # is not speficied, then a /48 range will be randomly allocated from fd20::/20
22816
+ # and returned via this field. .
22817
+ # Corresponds to the JSON property `internalIpv6Range`
22818
+ # @return [String]
22819
+ attr_accessor :internal_ipv6_range
22820
+
22528
22821
  # [Output Only] Type of the resource. Always compute#network for networks.
22529
22822
  # Corresponds to the JSON property `kind`
22530
22823
  # @return [String]
@@ -22546,6 +22839,11 @@ module Google
22546
22839
  # @return [String]
22547
22840
  attr_accessor :name
22548
22841
 
22842
+ #
22843
+ # Corresponds to the JSON property `networkFirewallPolicyEnforcementOrder`
22844
+ # @return [String]
22845
+ attr_accessor :network_firewall_policy_enforcement_order
22846
+
22549
22847
  # [Output Only] A list of network peerings for the resource.
22550
22848
  # Corresponds to the JSON property `peerings`
22551
22849
  # @return [Array<Google::Apis::ComputeAlpha::NetworkPeering>]
@@ -22584,12 +22882,15 @@ module Google
22584
22882
  @auto_create_subnetworks = args[:auto_create_subnetworks] if args.key?(:auto_create_subnetworks)
22585
22883
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
22586
22884
  @description = args[:description] if args.key?(:description)
22885
+ @enable_ula_internal_ipv6 = args[:enable_ula_internal_ipv6] if args.key?(:enable_ula_internal_ipv6)
22587
22886
  @firewall_policy = args[:firewall_policy] if args.key?(:firewall_policy)
22588
22887
  @gateway_i_pv4 = args[:gateway_i_pv4] if args.key?(:gateway_i_pv4)
22589
22888
  @id = args[:id] if args.key?(:id)
22889
+ @internal_ipv6_range = args[:internal_ipv6_range] if args.key?(:internal_ipv6_range)
22590
22890
  @kind = args[:kind] if args.key?(:kind)
22591
22891
  @mtu = args[:mtu] if args.key?(:mtu)
22592
22892
  @name = args[:name] if args.key?(:name)
22893
+ @network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order)
22593
22894
  @peerings = args[:peerings] if args.key?(:peerings)
22594
22895
  @routing_config = args[:routing_config] if args.key?(:routing_config)
22595
22896
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -23970,14 +24271,15 @@ module Google
23970
24271
  # @return [String]
23971
24272
  attr_accessor :name
23972
24273
 
23973
- # URL of the network resource for this instance. When creating an instance, if
23974
- # neither the network nor the subnetwork is specified, the default network
23975
- # global/networks/default is used; if the network is not specified but the
23976
- # subnetwork is specified, the network is inferred. If you specify this property,
23977
- # you can specify the network as a full or partial URL. For example, the
23978
- # following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/
23979
- # project/global/networks/ network - projects/project/global/networks/network -
23980
- # global/networks/default
24274
+ # URL of the VPC network resource for this instance. When creating an instance,
24275
+ # if neither the network nor the subnetwork is specified, the default network
24276
+ # global/networks/default is used. If the selected project doesn't have the
24277
+ # default network, you must specify a network or subnet. If the network is not
24278
+ # specified but the subnetwork is specified, the network is inferred. If you
24279
+ # specify this property, you can specify the network as a full or partial URL.
24280
+ # For example, the following are all valid URLs: - https://www.googleapis.com/
24281
+ # compute/v1/projects/project/global/networks/ network - projects/project/global/
24282
+ # networks/network - global/networks/default
23981
24283
  # Corresponds to the JSON property `network`
23982
24284
  # @return [String]
23983
24285
  attr_accessor :network
@@ -24247,7 +24549,8 @@ module Google
24247
24549
  attr_accessor :exchange_subnet_routes
24248
24550
  alias_method :exchange_subnet_routes?, :exchange_subnet_routes
24249
24551
 
24250
- # Whether to export the custom routes to peer network.
24552
+ # Whether to export the custom routes to peer network. The default value is
24553
+ # false.
24251
24554
  # Corresponds to the JSON property `exportCustomRoutes`
24252
24555
  # @return [Boolean]
24253
24556
  attr_accessor :export_custom_routes
@@ -24261,7 +24564,8 @@ module Google
24261
24564
  attr_accessor :export_subnet_routes_with_public_ip
24262
24565
  alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
24263
24566
 
24264
- # Whether to import the custom routes from peer network.
24567
+ # Whether to import the custom routes from peer network. The default value is
24568
+ # false.
24265
24569
  # Corresponds to the JSON property `importCustomRoutes`
24266
24570
  # @return [Boolean]
24267
24571
  attr_accessor :import_custom_routes
@@ -25041,6 +25345,11 @@ module Google
25041
25345
  # @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
25042
25346
  attr_accessor :accelerators
25043
25347
 
25348
+ # Node resources that are reserved by all instances.
25349
+ # Corresponds to the JSON property `consumedResources`
25350
+ # @return [Google::Apis::ComputeAlpha::InstanceConsumptionInfo]
25351
+ attr_accessor :consumed_resources
25352
+
25044
25353
  # CPU overcommit.
25045
25354
  # Corresponds to the JSON property `cpuOvercommitType`
25046
25355
  # @return [String]
@@ -25051,6 +25360,11 @@ module Google
25051
25360
  # @return [Array<Google::Apis::ComputeAlpha::LocalDisk>]
25052
25361
  attr_accessor :disks
25053
25362
 
25363
+ # Instance data that shows consumed resources on the node.
25364
+ # Corresponds to the JSON property `instanceConsumptionDatas`
25365
+ # @return [Array<Google::Apis::ComputeAlpha::InstanceConsumptionData>]
25366
+ attr_accessor :instance_consumption_datas
25367
+
25054
25368
  # Instances scheduled on this node.
25055
25369
  # Corresponds to the JSON property `instances`
25056
25370
  # @return [Array<String>]
@@ -25087,6 +25401,11 @@ module Google
25087
25401
  # @return [String]
25088
25402
  attr_accessor :status
25089
25403
 
25404
+ # Total amount of available resources on the node.
25405
+ # Corresponds to the JSON property `totalResources`
25406
+ # @return [Google::Apis::ComputeAlpha::InstanceConsumptionInfo]
25407
+ attr_accessor :total_resources
25408
+
25090
25409
  def initialize(**args)
25091
25410
  update!(**args)
25092
25411
  end
@@ -25094,8 +25413,10 @@ module Google
25094
25413
  # Update properties of this object
25095
25414
  def update!(**args)
25096
25415
  @accelerators = args[:accelerators] if args.key?(:accelerators)
25416
+ @consumed_resources = args[:consumed_resources] if args.key?(:consumed_resources)
25097
25417
  @cpu_overcommit_type = args[:cpu_overcommit_type] if args.key?(:cpu_overcommit_type)
25098
25418
  @disks = args[:disks] if args.key?(:disks)
25419
+ @instance_consumption_datas = args[:instance_consumption_datas] if args.key?(:instance_consumption_datas)
25099
25420
  @instances = args[:instances] if args.key?(:instances)
25100
25421
  @name = args[:name] if args.key?(:name)
25101
25422
  @node_type = args[:node_type] if args.key?(:node_type)
@@ -25103,6 +25424,7 @@ module Google
25103
25424
  @server_binding = args[:server_binding] if args.key?(:server_binding)
25104
25425
  @server_id = args[:server_id] if args.key?(:server_id)
25105
25426
  @status = args[:status] if args.key?(:status)
25427
+ @total_resources = args[:total_resources] if args.key?(:total_resources)
25106
25428
  end
25107
25429
  end
25108
25430
 
@@ -26836,6 +27158,11 @@ module Google
26836
27158
  # @return [String]
26837
27159
  attr_accessor :kind
26838
27160
 
27161
+ # [Output Only] Service-specific metadata attached to this operation.
27162
+ # Corresponds to the JSON property `metadata`
27163
+ # @return [Hash<String,Object>]
27164
+ attr_accessor :metadata
27165
+
26839
27166
  # [Output Only] Name of the operation.
26840
27167
  # Corresponds to the JSON property `name`
26841
27168
  # @return [String]
@@ -26942,6 +27269,7 @@ module Google
26942
27269
  @id = args[:id] if args.key?(:id)
26943
27270
  @insert_time = args[:insert_time] if args.key?(:insert_time)
26944
27271
  @kind = args[:kind] if args.key?(:kind)
27272
+ @metadata = args[:metadata] if args.key?(:metadata)
26945
27273
  @name = args[:name] if args.key?(:name)
26946
27274
  @operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id)
26947
27275
  @operation_type = args[:operation_type] if args.key?(:operation_type)
@@ -28248,37 +28576,37 @@ module Google
28248
28576
 
28249
28577
  # A matcher for the path portion of the URL. The BackendService from the longest-
28250
28578
  # matched rule will serve the URL. If no rule was matched, the default service
28251
- # will be used.
28579
+ # is used.
28252
28580
  class PathMatcher
28253
28581
  include Google::Apis::Core::Hashable
28254
28582
 
28255
28583
  # defaultRouteAction takes effect when none of the pathRules or routeRules match.
28256
- # The load balancer performs advanced routing actions like URL rewrites, header
28257
- # transformations, etc. prior to forwarding the request to the selected backend.
28584
+ # The load balancer performs advanced routing actions, such as URL rewrites and
28585
+ # header transformations, before forwarding the request to the selected backend.
28258
28586
  # If defaultRouteAction specifies any weightedBackendServices, defaultService
28259
28587
  # must not be set. Conversely if defaultService is set, defaultRouteAction
28260
28588
  # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
28261
28589
  # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
28262
- # support only the urlRewrite action within a pathMatcher's defaultRouteAction.
28590
+ # support only the urlRewrite action within a path matcher's defaultRouteAction.
28263
28591
  # Corresponds to the JSON property `defaultRouteAction`
28264
28592
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
28265
28593
  attr_accessor :default_route_action
28266
28594
 
28267
- # The full or partial URL to the BackendService resource. This will be used if
28595
+ # The full or partial URL to the BackendService resource. This URL is used if
28268
28596
  # none of the pathRules or routeRules defined by this PathMatcher are matched.
28269
28597
  # For example, the following are all valid URLs to a BackendService resource: -
28270
28598
  # https://www.googleapis.com/compute/v1/projects/project /global/backendServices/
28271
28599
  # backendService - compute/v1/projects/project/global/backendServices/
28272
28600
  # backendService - global/backendServices/backendService If defaultRouteAction
28273
- # is additionally specified, advanced routing actions like URL Rewrites, etc.
28274
- # take effect prior to sending the request to the backend. However, if
28275
- # defaultService is specified, defaultRouteAction cannot contain any
28276
- # weightedBackendServices. Conversely, if defaultRouteAction specifies any
28277
- # weightedBackendServices, defaultService must not be specified. Only one of
28278
- # defaultService, defaultUrlRedirect or defaultRouteAction.
28279
- # weightedBackendService must be set. Authorization requires one or more of the
28280
- # following Google IAM permissions on the specified resource default_service: -
28281
- # compute.backendBuckets.use - compute.backendServices.use
28601
+ # is also specified, advanced routing actions, such as URL rewrites, take effect
28602
+ # before sending the request to the backend. However, if defaultService is
28603
+ # specified, defaultRouteAction cannot contain any weightedBackendServices.
28604
+ # Conversely, if defaultRouteAction specifies any weightedBackendServices,
28605
+ # defaultService must not be specified. Only one of defaultService,
28606
+ # defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set.
28607
+ # Authorization requires one or more of the following Google IAM permissions on
28608
+ # the specified resource default_service: - compute.backendBuckets.use - compute.
28609
+ # backendServices.use
28282
28610
  # Corresponds to the JSON property `defaultService`
28283
28611
  # @return [String]
28284
28612
  attr_accessor :default_service
@@ -28354,23 +28682,23 @@ module Google
28354
28682
  attr_accessor :paths
28355
28683
 
28356
28684
  # In response to a matching path, the load balancer performs advanced routing
28357
- # actions like URL rewrites, header transformations, etc. prior to forwarding
28685
+ # actions, such as URL rewrites and header transformations, before forwarding
28358
28686
  # the request to the selected backend. If routeAction specifies any
28359
28687
  # weightedBackendServices, service must not be set. Conversely if service is set,
28360
28688
  # routeAction cannot contain any weightedBackendServices. Only one of
28361
- # routeAction or urlRedirect must be set. UrlMaps for external HTTP(S) load
28362
- # balancers support only the urlRewrite action within a pathRule's routeAction.
28689
+ # routeAction or urlRedirect must be set. URL maps for external HTTP(S) load
28690
+ # balancers support only the urlRewrite action within a path rule's routeAction.
28363
28691
  # Corresponds to the JSON property `routeAction`
28364
28692
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
28365
28693
  attr_accessor :route_action
28366
28694
 
28367
28695
  # The full or partial URL of the backend service resource to which traffic is
28368
- # directed if this rule is matched. If routeAction is additionally specified,
28369
- # advanced routing actions like URL Rewrites, etc. take effect prior to sending
28370
- # the request to the backend. However, if service is specified, routeAction
28371
- # cannot contain any weightedBackendService s. Conversely, if routeAction
28372
- # specifies any weightedBackendServices, service must not be specified. Only one
28373
- # of urlRedirect, service or routeAction.weightedBackendService must be set.
28696
+ # directed if this rule is matched. If routeAction is also specified, advanced
28697
+ # routing actions, such as URL rewrites, take effect before sending the request
28698
+ # to the backend. However, if service is specified, routeAction cannot contain
28699
+ # any weightedBackendServices. Conversely, if routeAction specifies any
28700
+ # weightedBackendServices, service must not be specified. Only one of
28701
+ # urlRedirect, service or routeAction.weightedBackendService must be set.
28374
28702
  # Corresponds to the JSON property `service`
28375
28703
  # @return [String]
28376
28704
  attr_accessor :service
@@ -28558,31 +28886,31 @@ module Google
28558
28886
 
28559
28887
  # An Identity and Access Management (IAM) policy, which specifies access
28560
28888
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
28561
- # A `binding` binds one or more `members` to a single `role`. Members can be
28562
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
28563
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
28564
- # role or a user-created custom role. For some types of Google Cloud resources,
28565
- # a `binding` can also specify a `condition`, which is a logical expression that
28566
- # allows access to a resource only if the expression evaluates to `true`. A
28567
- # condition can add constraints based on attributes of the request, the resource,
28568
- # or both. To learn which resources support conditions in their IAM policies,
28569
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
28570
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
28571
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
28572
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
28573
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
28574
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
28575
- # title": "expirable access", "description": "Does not grant access after Sep
28576
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
28577
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
28578
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
28579
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
28580
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
28581
- # roles/resourcemanager.organizationViewer condition: title: expirable access
28582
- # description: Does not grant access after Sep 2020 expression: request.time <
28583
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
28584
- # description of IAM and its features, see the [IAM documentation](https://cloud.
28585
- # google.com/iam/docs/).
28889
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
28890
+ # Principals can be user accounts, service accounts, Google groups, and domains (
28891
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
28892
+ # an IAM predefined role or a user-created custom role. For some types of Google
28893
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
28894
+ # logical expression that allows access to a resource only if the expression
28895
+ # evaluates to `true`. A condition can add constraints based on attributes of
28896
+ # the request, the resource, or both. To learn which resources support
28897
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
28898
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
28899
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
28900
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
28901
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
28902
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
28903
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
28904
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
28905
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
28906
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
28907
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
28908
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
28909
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
28910
+ # access description: Does not grant access after Sep 2020 expression: request.
28911
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
28912
+ # a description of IAM and its features, see the [IAM documentation](https://
28913
+ # cloud.google.com/iam/docs/).
28586
28914
  class Policy
28587
28915
  include Google::Apis::Core::Hashable
28588
28916
 
@@ -28591,9 +28919,14 @@ module Google
28591
28919
  # @return [Array<Google::Apis::ComputeAlpha::AuditConfig>]
28592
28920
  attr_accessor :audit_configs
28593
28921
 
28594
- # Associates a list of `members` to a `role`. Optionally, may specify a `
28595
- # condition` that determines how and when the `bindings` are applied. Each of
28596
- # the `bindings` must contain at least one member.
28922
+ # Associates a list of `members`, or principals, with a `role`. Optionally, may
28923
+ # specify a `condition` that determines how and when the `bindings` are applied.
28924
+ # Each of the `bindings` must contain at least one principal. The `bindings` in
28925
+ # a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
28926
+ # can be Google groups. Each occurrence of a principal counts towards these
28927
+ # limits. For example, if the `bindings` grant 50 different roles to `user:alice@
28928
+ # example.com`, and not to any other principal, then you can add another 1,450
28929
+ # principals to the `bindings` in the `Policy`.
28597
28930
  # Corresponds to the JSON property `bindings`
28598
28931
  # @return [Array<Google::Apis::ComputeAlpha::Binding>]
28599
28932
  attr_accessor :bindings
@@ -28614,12 +28947,6 @@ module Google
28614
28947
  # @return [String]
28615
28948
  attr_accessor :etag
28616
28949
 
28617
- # This is deprecated and has no effect. Do not use.
28618
- # Corresponds to the JSON property `iamOwned`
28619
- # @return [Boolean]
28620
- attr_accessor :iam_owned
28621
- alias_method :iam_owned?, :iam_owned
28622
-
28623
28950
  # This is deprecated and has no effect. Do not use.
28624
28951
  # Corresponds to the JSON property `rules`
28625
28952
  # @return [Array<Google::Apis::ComputeAlpha::Rule>]
@@ -28653,7 +28980,6 @@ module Google
28653
28980
  @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
28654
28981
  @bindings = args[:bindings] if args.key?(:bindings)
28655
28982
  @etag = args[:etag] if args.key?(:etag)
28656
- @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
28657
28983
  @rules = args[:rules] if args.key?(:rules)
28658
28984
  @version = args[:version] if args.key?(:version)
28659
28985
  end
@@ -29214,7 +29540,13 @@ module Google
29214
29540
  # @return [String]
29215
29541
  attr_accessor :shared_secret
29216
29542
 
29217
- # The status of the public advertised prefix.
29543
+ # The status of the public advertised prefix. Possible values include: - `
29544
+ # INITIAL`: RPKI validation is complete. - `PTR_CONFIGURED`: User has configured
29545
+ # the PTR. - `VALIDATED`: Reverse DNS lookup is successful. - `
29546
+ # REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. - `
29547
+ # PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being configured. - `
29548
+ # PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. - `
29549
+ # PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed.
29218
29550
  # Corresponds to the JSON property `status`
29219
29551
  # @return [String]
29220
29552
  attr_accessor :status
@@ -29499,7 +29831,12 @@ module Google
29499
29831
  # @return [String]
29500
29832
  attr_accessor :self_link_with_id
29501
29833
 
29502
- # [Output Only] The status of the public delegated prefix.
29834
+ # [Output Only] The status of the public delegated prefix, which can be one of
29835
+ # following values: - `INITIALIZING` The public delegated prefix is being
29836
+ # initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The
29837
+ # public delegated prefix is a live migration prefix and is active. - `ANNOUNCED`
29838
+ # The public delegated prefix is active. - `DELETING` The public delegated
29839
+ # prefix is being deprovsioned.
29503
29840
  # Corresponds to the JSON property `status`
29504
29841
  # @return [String]
29505
29842
  attr_accessor :status
@@ -31670,31 +32007,31 @@ module Google
31670
32007
 
31671
32008
  # An Identity and Access Management (IAM) policy, which specifies access
31672
32009
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
31673
- # A `binding` binds one or more `members` to a single `role`. Members can be
31674
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
31675
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
31676
- # role or a user-created custom role. For some types of Google Cloud resources,
31677
- # a `binding` can also specify a `condition`, which is a logical expression that
31678
- # allows access to a resource only if the expression evaluates to `true`. A
31679
- # condition can add constraints based on attributes of the request, the resource,
31680
- # or both. To learn which resources support conditions in their IAM policies,
31681
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
31682
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
31683
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
31684
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
31685
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
31686
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
31687
- # title": "expirable access", "description": "Does not grant access after Sep
31688
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
31689
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
31690
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
31691
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
31692
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
31693
- # roles/resourcemanager.organizationViewer condition: title: expirable access
31694
- # description: Does not grant access after Sep 2020 expression: request.time <
31695
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
31696
- # description of IAM and its features, see the [IAM documentation](https://cloud.
31697
- # google.com/iam/docs/).
32010
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
32011
+ # Principals can be user accounts, service accounts, Google groups, and domains (
32012
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
32013
+ # an IAM predefined role or a user-created custom role. For some types of Google
32014
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
32015
+ # logical expression that allows access to a resource only if the expression
32016
+ # evaluates to `true`. A condition can add constraints based on attributes of
32017
+ # the request, the resource, or both. To learn which resources support
32018
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
32019
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
32020
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
32021
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
32022
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
32023
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
32024
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
32025
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
32026
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
32027
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
32028
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
32029
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
32030
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
32031
+ # access description: Does not grant access after Sep 2020 expression: request.
32032
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
32033
+ # a description of IAM and its features, see the [IAM documentation](https://
32034
+ # cloud.google.com/iam/docs/).
31698
32035
  # Corresponds to the JSON property `policy`
31699
32036
  # @return [Google::Apis::ComputeAlpha::Policy]
31700
32037
  attr_accessor :policy
@@ -31735,21 +32072,21 @@ module Google
31735
32072
  class RegionUrlMapsValidateRequest
31736
32073
  include Google::Apis::Core::Hashable
31737
32074
 
31738
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
31739
- # * [Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/
31740
- # docs/reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
31741
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
32075
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
32076
+ # Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/
32077
+ # reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
32078
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
31742
32079
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
31743
32080
  # used by internal HTTP(S) load balancers. For a list of supported URL map
31744
- # features by load balancer type, see the Load balancing features: Routing and
31745
- # traffic management table. For a list of supported URL map features for Traffic
31746
- # Director, see the Traffic Director features: Routing and traffic management
31747
- # table. This resource defines mappings from host names and URL paths to either
31748
- # a backend service or a backend bucket. To use the global urlMaps resource, the
31749
- # backend service must have a loadBalancingScheme of either EXTERNAL or
31750
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
31751
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
31752
- # read URL Map Concepts.
32081
+ # features by the load balancer type, see the Load balancing features: Routing
32082
+ # and traffic management table. For a list of supported URL map features for
32083
+ # Traffic Director, see the Traffic Director features: Routing and traffic
32084
+ # management table. This resource defines mappings from hostnames and URL paths
32085
+ # to either a backend service or a backend bucket. To use the global urlMaps
32086
+ # resource, the backend service must have a loadBalancingScheme of either
32087
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
32088
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
32089
+ # information, read URL Map Concepts.
31753
32090
  # Corresponds to the JSON property `resource`
31754
32091
  # @return [Google::Apis::ComputeAlpha::UrlMap]
31755
32092
  attr_accessor :resource
@@ -31765,9 +32102,9 @@ module Google
31765
32102
  end
31766
32103
 
31767
32104
  # A policy that specifies how requests intended for the route's backends are
31768
- # shadowed to a separate mirrored backend service. Loadbalancer does not wait
31769
- # for responses from the shadow service. Prior to sending traffic to the shadow
31770
- # service, the host / authority header is suffixed with -shadow.
32105
+ # shadowed to a separate mirrored backend service. The load balancer doesn't
32106
+ # wait for responses from the shadow service. Before sending traffic to the
32107
+ # shadow service, the host or authority header is suffixed with -shadow.
31771
32108
  class RequestMirrorPolicy
31772
32109
  include Google::Apis::Core::Hashable
31773
32110
 
@@ -33420,6 +33757,11 @@ module Google
33420
33757
  attr_accessor :allow_conflicting_subnetworks
33421
33758
  alias_method :allow_conflicting_subnetworks?, :allow_conflicting_subnetworks
33422
33759
 
33760
+ # [Output Only] AS path.
33761
+ # Corresponds to the JSON property `asPaths`
33762
+ # @return [Array<Google::Apis::ComputeAlpha::RouteAsPath>]
33763
+ attr_accessor :as_paths
33764
+
33423
33765
  # [Output Only] Creation timestamp in RFC3339 text format.
33424
33766
  # Corresponds to the JSON property `creationTimestamp`
33425
33767
  # @return [String]
@@ -33530,6 +33872,15 @@ module Google
33530
33872
  # @return [Fixnum]
33531
33873
  attr_accessor :priority
33532
33874
 
33875
+ # [Output Only] The type of this route, which can be one of the following values:
33876
+ # - 'TRANSIT' for a transit route that this router learned from another Cloud
33877
+ # Router and will readvertise to one of its BGP peers - 'SUBNET' for a route
33878
+ # from a subnet of the VPC - 'BGP' for a route learned from a BGP peer of this
33879
+ # router - 'STATIC' for a static route
33880
+ # Corresponds to the JSON property `routeType`
33881
+ # @return [String]
33882
+ attr_accessor :route_type
33883
+
33533
33884
  # [Output Only] Server-defined fully-qualified URL for this resource.
33534
33885
  # Corresponds to the JSON property `selfLink`
33535
33886
  # @return [String]
@@ -33558,6 +33909,7 @@ module Google
33558
33909
  # Update properties of this object
33559
33910
  def update!(**args)
33560
33911
  @allow_conflicting_subnetworks = args[:allow_conflicting_subnetworks] if args.key?(:allow_conflicting_subnetworks)
33912
+ @as_paths = args[:as_paths] if args.key?(:as_paths)
33561
33913
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
33562
33914
  @description = args[:description] if args.key?(:description)
33563
33915
  @dest_range = args[:dest_range] if args.key?(:dest_range)
@@ -33575,6 +33927,7 @@ module Google
33575
33927
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
33576
33928
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
33577
33929
  @priority = args[:priority] if args.key?(:priority)
33930
+ @route_type = args[:route_type] if args.key?(:route_type)
33578
33931
  @self_link = args[:self_link] if args.key?(:self_link)
33579
33932
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
33580
33933
  @tags = args[:tags] if args.key?(:tags)
@@ -33646,6 +33999,37 @@ module Google
33646
33999
  end
33647
34000
  end
33648
34001
 
34002
+ #
34003
+ class RouteAsPath
34004
+ include Google::Apis::Core::Hashable
34005
+
34006
+ # [Output Only] The AS numbers of the AS Path.
34007
+ # Corresponds to the JSON property `asLists`
34008
+ # @return [Array<Fixnum>]
34009
+ attr_accessor :as_lists
34010
+
34011
+ # [Output Only] The type of the AS Path, which can be one of the following
34012
+ # values: - 'AS_SET': unordered set of autonomous systems that the route in has
34013
+ # traversed - 'AS_SEQUENCE': ordered set of autonomous systems that the route
34014
+ # has traversed - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems
34015
+ # in the local confederation that the route has traversed - 'AS_CONFED_SET':
34016
+ # unordered set of Member Autonomous Systems in the local confederation that the
34017
+ # route has traversed
34018
+ # Corresponds to the JSON property `pathSegmentType`
34019
+ # @return [String]
34020
+ attr_accessor :path_segment_type
34021
+
34022
+ def initialize(**args)
34023
+ update!(**args)
34024
+ end
34025
+
34026
+ # Update properties of this object
34027
+ def update!(**args)
34028
+ @as_lists = args[:as_lists] if args.key?(:as_lists)
34029
+ @path_segment_type = args[:path_segment_type] if args.key?(:path_segment_type)
34030
+ end
34031
+ end
34032
+
33649
34033
  # Contains a list of Route resources.
33650
34034
  class RouteList
33651
34035
  include Google::Apis::Core::Hashable
@@ -34642,6 +35026,12 @@ module Google
34642
35026
  # @return [Fixnum]
34643
35027
  attr_accessor :tcp_transitory_idle_timeout_sec
34644
35028
 
35029
+ # Indicates whether this NAT is used for public or private IP translation. If
35030
+ # unspecified, it defaults to PUBLIC.
35031
+ # Corresponds to the JSON property `type`
35032
+ # @return [String]
35033
+ attr_accessor :type
35034
+
34645
35035
  # Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
34646
35036
  # Corresponds to the JSON property `udpIdleTimeoutSec`
34647
35037
  # @return [Fixnum]
@@ -34669,6 +35059,7 @@ module Google
34669
35059
  @tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec)
34670
35060
  @tcp_time_wait_timeout_sec = args[:tcp_time_wait_timeout_sec] if args.key?(:tcp_time_wait_timeout_sec)
34671
35061
  @tcp_transitory_idle_timeout_sec = args[:tcp_transitory_idle_timeout_sec] if args.key?(:tcp_transitory_idle_timeout_sec)
35062
+ @type = args[:type] if args.key?(:type)
34672
35063
  @udp_idle_timeout_sec = args[:udp_idle_timeout_sec] if args.key?(:udp_idle_timeout_sec)
34673
35064
  end
34674
35065
  end
@@ -34723,7 +35114,8 @@ module Google
34723
35114
  # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
34724
35115
  # 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
34725
35116
  # following example is a valid match expression for private NAT: "nexthop.hub ==
34726
- # '/projects/my-project/global/hub/hub-1'"
35117
+ # 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/
35118
+ # global/hub/hub-1'"
34727
35119
  # Corresponds to the JSON property `match`
34728
35120
  # @return [String]
34729
35121
  attr_accessor :match
@@ -34759,6 +35151,13 @@ module Google
34759
35151
  # @return [Array<String>]
34760
35152
  attr_accessor :source_nat_active_ips
34761
35153
 
35154
+ # A list of URLs of the subnetworks used as source ranges for this NAT Rule.
35155
+ # These subnetworks must have purpose set to PRIVATE_NAT. This field is used for
35156
+ # private NAT.
35157
+ # Corresponds to the JSON property `sourceNatActiveRanges`
35158
+ # @return [Array<String>]
35159
+ attr_accessor :source_nat_active_ranges
35160
+
34762
35161
  # A list of URLs of the IP resources to be drained. These IPs must be valid
34763
35162
  # static external IPs that have been assigned to the NAT. These IPs should be
34764
35163
  # used for updating/patching a NAT rule only. This field is used for public NAT.
@@ -34766,6 +35165,14 @@ module Google
34766
35165
  # @return [Array<String>]
34767
35166
  attr_accessor :source_nat_drain_ips
34768
35167
 
35168
+ # A list of URLs of subnetworks representing source ranges to be drained. This
35169
+ # is only supported on patch/update, and these subnetworks must have previously
35170
+ # been used as active ranges in this NAT Rule. This field is used for private
35171
+ # NAT.
35172
+ # Corresponds to the JSON property `sourceNatDrainRanges`
35173
+ # @return [Array<String>]
35174
+ attr_accessor :source_nat_drain_ranges
35175
+
34769
35176
  def initialize(**args)
34770
35177
  update!(**args)
34771
35178
  end
@@ -34773,7 +35180,9 @@ module Google
34773
35180
  # Update properties of this object
34774
35181
  def update!(**args)
34775
35182
  @source_nat_active_ips = args[:source_nat_active_ips] if args.key?(:source_nat_active_ips)
35183
+ @source_nat_active_ranges = args[:source_nat_active_ranges] if args.key?(:source_nat_active_ranges)
34776
35184
  @source_nat_drain_ips = args[:source_nat_drain_ips] if args.key?(:source_nat_drain_ips)
35185
+ @source_nat_drain_ranges = args[:source_nat_drain_ranges] if args.key?(:source_nat_drain_ranges)
34777
35186
  end
34778
35187
  end
34779
35188
 
@@ -35335,7 +35744,8 @@ module Google
35335
35744
  end
35336
35745
  end
35337
35746
 
35338
- # An instance-attached disk resource.
35747
+ # DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk
35748
+ # resource.
35339
35749
  class SavedAttachedDisk
35340
35750
  include Google::Apis::Core::Hashable
35341
35751
 
@@ -35458,6 +35868,47 @@ module Google
35458
35868
  end
35459
35869
  end
35460
35870
 
35871
+ # An instance-attached disk resource.
35872
+ class SavedDisk
35873
+ include Google::Apis::Core::Hashable
35874
+
35875
+ # [Output Only] Type of the resource. Always compute#savedDisk for attached
35876
+ # disks.
35877
+ # Corresponds to the JSON property `kind`
35878
+ # @return [String]
35879
+ attr_accessor :kind
35880
+
35881
+ # Specifies a URL of the disk attached to the source instance.
35882
+ # Corresponds to the JSON property `sourceDisk`
35883
+ # @return [String]
35884
+ attr_accessor :source_disk
35885
+
35886
+ # [Output Only] Size of the individual disk snapshot used by this machine image.
35887
+ # Corresponds to the JSON property `storageBytes`
35888
+ # @return [Fixnum]
35889
+ attr_accessor :storage_bytes
35890
+
35891
+ # [Output Only] An indicator whether storageBytes is in a stable state or it is
35892
+ # being adjusted as a result of shared storage reallocation. This status can
35893
+ # either be UPDATING, meaning the size of the snapshot is being updated, or
35894
+ # UP_TO_DATE, meaning the size of the snapshot is up-to-date.
35895
+ # Corresponds to the JSON property `storageBytesStatus`
35896
+ # @return [String]
35897
+ attr_accessor :storage_bytes_status
35898
+
35899
+ def initialize(**args)
35900
+ update!(**args)
35901
+ end
35902
+
35903
+ # Update properties of this object
35904
+ def update!(**args)
35905
+ @kind = args[:kind] if args.key?(:kind)
35906
+ @source_disk = args[:source_disk] if args.key?(:source_disk)
35907
+ @storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
35908
+ @storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
35909
+ end
35910
+ end
35911
+
35461
35912
  #
35462
35913
  class ScalingScheduleStatus
35463
35914
  include Google::Apis::Core::Hashable
@@ -35566,6 +36017,14 @@ module Google
35566
36017
  # @return [String]
35567
36018
  attr_accessor :maintenance_interval
35568
36019
 
36020
+ # A Duration represents a fixed-length span of time represented as a count of
36021
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
36022
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
36023
+ # 000 years.
36024
+ # Corresponds to the JSON property `maxRunDuration`
36025
+ # @return [Google::Apis::ComputeAlpha::Duration]
36026
+ attr_accessor :max_run_duration
36027
+
35569
36028
  # The minimum number of virtual CPUs this instance will consume when running on
35570
36029
  # a sole-tenant node.
35571
36030
  # Corresponds to the JSON property `minNodeCpus`
@@ -35600,6 +36059,13 @@ module Google
35600
36059
  # @return [String]
35601
36060
  attr_accessor :provisioning_model
35602
36061
 
36062
+ # Specifies the timestamp, when the instance will be terminated, in RFC3339 text
36063
+ # format. If specified, the instance termination action will be performed at the
36064
+ # termination time.
36065
+ # Corresponds to the JSON property `terminationTime`
36066
+ # @return [String]
36067
+ attr_accessor :termination_time
36068
+
35603
36069
  def initialize(**args)
35604
36070
  update!(**args)
35605
36071
  end
@@ -35616,11 +36082,13 @@ module Google
35616
36082
  @location_hint = args[:location_hint] if args.key?(:location_hint)
35617
36083
  @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
35618
36084
  @maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
36085
+ @max_run_duration = args[:max_run_duration] if args.key?(:max_run_duration)
35619
36086
  @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
35620
36087
  @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
35621
36088
  @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
35622
36089
  @preemptible = args[:preemptible] if args.key?(:preemptible)
35623
36090
  @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
36091
+ @termination_time = args[:termination_time] if args.key?(:termination_time)
35624
36092
  end
35625
36093
  end
35626
36094
 
@@ -36074,6 +36542,11 @@ module Google
36074
36542
  # @return [String]
36075
36543
  attr_accessor :parent
36076
36544
 
36545
+ #
36546
+ # Corresponds to the JSON property `recaptchaOptionsConfig`
36547
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyRecaptchaOptionsConfig]
36548
+ attr_accessor :recaptcha_options_config
36549
+
36077
36550
  # [Output Only] URL of the region where the regional security policy resides.
36078
36551
  # This field is not applicable to global security policies.
36079
36552
  # Corresponds to the JSON property `region`
@@ -36136,6 +36609,7 @@ module Google
36136
36609
  @labels = args[:labels] if args.key?(:labels)
36137
36610
  @name = args[:name] if args.key?(:name)
36138
36611
  @parent = args[:parent] if args.key?(:parent)
36612
+ @recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
36139
36613
  @region = args[:region] if args.key?(:region)
36140
36614
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
36141
36615
  @rules = args[:rules] if args.key?(:rules)
@@ -36416,6 +36890,29 @@ module Google
36416
36890
  end
36417
36891
  end
36418
36892
 
36893
+ #
36894
+ class SecurityPolicyRecaptchaOptionsConfig
36895
+ include Google::Apis::Core::Hashable
36896
+
36897
+ # An optional field to supply a reCAPTCHA site key to be used for all the rules
36898
+ # using the redirect action with the type of GOOGLE_RECAPTCHA under the security
36899
+ # policy. The specified site key needs to be created from the reCAPTCHA API. The
36900
+ # user is responsible for the validity of the specified site key. If not
36901
+ # specified, a Google-managed site key is used.
36902
+ # Corresponds to the JSON property `redirectSiteKey`
36903
+ # @return [String]
36904
+ attr_accessor :redirect_site_key
36905
+
36906
+ def initialize(**args)
36907
+ update!(**args)
36908
+ end
36909
+
36910
+ # Update properties of this object
36911
+ def update!(**args)
36912
+ @redirect_site_key = args[:redirect_site_key] if args.key?(:redirect_site_key)
36913
+ end
36914
+ end
36915
+
36419
36916
  #
36420
36917
  class SecurityPolicyReference
36421
36918
  include Google::Apis::Core::Hashable
@@ -36440,9 +36937,17 @@ module Google
36440
36937
  class SecurityPolicyRule
36441
36938
  include Google::Apis::Core::Hashable
36442
36939
 
36443
- # The Action to perform when the client connection triggers the rule. Can
36444
- # currently be either "allow" or "deny()" where valid values for status are 403,
36445
- # 404, and 502.
36940
+ # The Action to perform when the rule is matched. The following are the valid
36941
+ # actions: - allow: allow access to target. - deny(): deny access to target,
36942
+ # returns the HTTP response code specified (valid values are 403, 404, and 502).
36943
+ # - rate_based_ban: limit client traffic to the configured threshold and ban the
36944
+ # client if the traffic exceeds the threshold. Configure parameters for this
36945
+ # action in RateLimitOptions. Requires rate_limit_options to be set. - redirect:
36946
+ # redirect to a different target. This can either be an internal reCAPTCHA
36947
+ # redirect, or an external URL-based redirect via a 302 response. Parameters for
36948
+ # this action can be configured via redirectOptions. - throttle: limit client
36949
+ # traffic to the configured threshold. Configure parameters for this action in
36950
+ # rateLimitOptions. Requires rate_limit_options to be set for this.
36446
36951
  # Corresponds to the JSON property `action`
36447
36952
  # @return [String]
36448
36953
  attr_accessor :action
@@ -36795,33 +37300,45 @@ module Google
36795
37300
  attr_accessor :conform_action
36796
37301
 
36797
37302
  # Determines the key to enforce the rate_limit_threshold on. Possible values are:
36798
- # "ALL" -- A single rate limit threshold is applied to all the requests
36799
- # matching this rule. This is the default value if this field 'enforce_on_key'
36800
- # is not configured. "ALL_IPS" -- This definition, equivalent to "ALL", has been
36801
- # depprecated. "IP" -- The source IP address of the request is the key. Each IP
36802
- # has this limit enforced separately. "HTTP_HEADER" -- The value of the HTTP
36803
- # header whose name is configured under "enforce_on_key_name". The key value is
37303
+ # - ALL: A single rate limit threshold is applied to all the requests matching
37304
+ # this rule. This is the default value if this field 'enforce_on_key' is not
37305
+ # configured. - IP: The source IP address of the request is the key. Each IP has
37306
+ # this limit enforced separately. - HTTP_HEADER: The value of the HTTP header
37307
+ # whose name is configured under "enforce_on_key_name". The key value is
36804
37308
  # truncated to the first 128 bytes of the header value. If no such header is
36805
- # present in the request, the key type defaults to "ALL". "XFF_IP" -- The first
36806
- # IP address (i.e. the originating client IP address) specified in the list of
36807
- # IPs under X-Forwarded-For HTTP header. If no such header is present or the
36808
- # value is not a valid IP, the key type defaults to "ALL".
37309
+ # present in the request, the key type defaults to ALL. - XFF_IP: The first IP
37310
+ # address (i.e. the originating client IP address) specified in the list of IPs
37311
+ # under X-Forwarded-For HTTP header. If no such header is present or the value
37312
+ # is not a valid IP, the key type defaults to ALL. - HTTP_COOKIE: The value of
37313
+ # the HTTP cookie whose name is configured under "enforce_on_key_name". The key
37314
+ # value is truncated to the first 128 bytes of the cookie value. If no such
37315
+ # cookie is present in the request, the key type defaults to ALL.
36809
37316
  # Corresponds to the JSON property `enforceOnKey`
36810
37317
  # @return [String]
36811
37318
  attr_accessor :enforce_on_key
36812
37319
 
36813
37320
  # Rate limit key name applicable only for the following key types: HTTP_HEADER --
36814
- # Name of the HTTP header whose value is taken as the key value.
37321
+ # Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
37322
+ # Name of the HTTP cookie whose value is taken as the key value.
36815
37323
  # Corresponds to the JSON property `enforceOnKeyName`
36816
37324
  # @return [String]
36817
37325
  attr_accessor :enforce_on_key_name
36818
37326
 
36819
- # When a request is denied, returns the HTTP response code specified. Valid
36820
- # options are "deny()" where valid values for status are 403, 404, 429, and 502.
37327
+ # Action to take for requests that are above the configured rate limit threshold,
37328
+ # to either deny with a specified HTTP response code, or redirect to a
37329
+ # different endpoint. Valid options are "deny()" where valid values for status
37330
+ # are 403, 404, 429, and 502, and "redirect" where the redirect parameters come
37331
+ # from exceed_redirect_options below.
36821
37332
  # Corresponds to the JSON property `exceedAction`
36822
37333
  # @return [String]
36823
37334
  attr_accessor :exceed_action
36824
37335
 
37336
+ # Parameters defining the redirect action that is used as the exceed action.
37337
+ # Cannot be specified if the exceed action is not redirect.
37338
+ # Corresponds to the JSON property `exceedRedirectOptions`
37339
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRedirectOptions]
37340
+ attr_accessor :exceed_redirect_options
37341
+
36825
37342
  # Threshold at which to begin ratelimiting.
36826
37343
  # Corresponds to the JSON property `rateLimitThreshold`
36827
37344
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold]
@@ -36839,6 +37356,7 @@ module Google
36839
37356
  @enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
36840
37357
  @enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
36841
37358
  @exceed_action = args[:exceed_action] if args.key?(:exceed_action)
37359
+ @exceed_redirect_options = args[:exceed_redirect_options] if args.key?(:exceed_redirect_options)
36842
37360
  @rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold)
36843
37361
  end
36844
37362
  end
@@ -37135,6 +37653,13 @@ module Google
37135
37653
  # @return [String]
37136
37654
  attr_accessor :description
37137
37655
 
37656
+ # If specified, the domain name will be used during the integration between the
37657
+ # PSC connected endpoints and the Cloud DNS. For example, this is a valid domain
37658
+ # name: "p.mycompany.com".
37659
+ # Corresponds to the JSON property `domainNames`
37660
+ # @return [Array<String>]
37661
+ attr_accessor :domain_names
37662
+
37138
37663
  # If true, enable the proxy protocol which is for supplying client TCP/IP
37139
37664
  # address data in TCP connections that traverse proxies on their way to
37140
37665
  # destination servers.
@@ -37223,6 +37748,7 @@ module Google
37223
37748
  @consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
37224
37749
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
37225
37750
  @description = args[:description] if args.key?(:description)
37751
+ @domain_names = args[:domain_names] if args.key?(:domain_names)
37226
37752
  @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
37227
37753
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
37228
37754
  @id = args[:id] if args.key?(:id)
@@ -37631,14 +38157,14 @@ module Google
37631
38157
 
37632
38158
  # A map of folder id and folder config to specify consumer projects for this
37633
38159
  # shared-reservation. This is only valid when share_type's value is
37634
- # DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS.
38160
+ # DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number,
38161
+ # and without "folders/" prefix.
37635
38162
  # Corresponds to the JSON property `folderMap`
37636
38163
  # @return [Hash<String,Google::Apis::ComputeAlpha::ShareSettingsFolderConfig>]
37637
38164
  attr_accessor :folder_map
37638
38165
 
37639
- # A map of project id and project config. Using map format to ease add-to/remove-
37640
- # from the Project list in PATCH command. In future we will deprecate (And later
37641
- # remove) the array one.
38166
+ # A map of project id and project config. This is only valid when share_type's
38167
+ # value is SPECIFIC_PROJECTS.
37642
38168
  # Corresponds to the JSON property `projectMap`
37643
38169
  # @return [Hash<String,Google::Apis::ComputeAlpha::ShareSettingsProjectConfig>]
37644
38170
  attr_accessor :project_map
@@ -37672,7 +38198,7 @@ module Google
37672
38198
  include Google::Apis::Core::Hashable
37673
38199
 
37674
38200
  # The folder ID, should be same as the key of this folder config in the parent
37675
- # map.
38201
+ # map. Folder id should be a string of number, and without "folders/" prefix.
37676
38202
  # Corresponds to the JSON property `folderId`
37677
38203
  # @return [String]
37678
38204
  attr_accessor :folder_id
@@ -37983,6 +38509,12 @@ module Google
37983
38509
  class Snapshot
37984
38510
  include Google::Apis::Core::Hashable
37985
38511
 
38512
+ # [Output Only] The architecture of the snapshot. Valid values are ARM64 or
38513
+ # X86_64.
38514
+ # Corresponds to the JSON property `architecture`
38515
+ # @return [String]
38516
+ attr_accessor :architecture
38517
+
37986
38518
  # [Output Only] Set to true if snapshots are automatically created by applying
37987
38519
  # resource policy on the target disk.
37988
38520
  # Corresponds to the JSON property `autoCreated`
@@ -38198,6 +38730,7 @@ module Google
38198
38730
 
38199
38731
  # Update properties of this object
38200
38732
  def update!(**args)
38733
+ @architecture = args[:architecture] if args.key?(:architecture)
38201
38734
  @auto_created = args[:auto_created] if args.key?(:auto_created)
38202
38735
  @chain_name = args[:chain_name] if args.key?(:chain_name)
38203
38736
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@@ -38400,7 +38933,8 @@ module Google
38400
38933
  end
38401
38934
  end
38402
38935
 
38403
- #
38936
+ # DEPRECATED: Please use compute#instanceProperties instead. New properties will
38937
+ # not be added to this field.
38404
38938
  class SourceInstanceProperties
38405
38939
  include Google::Apis::Core::Hashable
38406
38940
 
@@ -38440,6 +38974,11 @@ module Google
38440
38974
  # @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
38441
38975
  attr_accessor :guest_accelerators
38442
38976
 
38977
+ # KeyRevocationActionType of the instance.
38978
+ # Corresponds to the JSON property `keyRevocationActionType`
38979
+ # @return [String]
38980
+ attr_accessor :key_revocation_action_type
38981
+
38443
38982
  # Labels to apply to instances that are created from this machine image.
38444
38983
  # Corresponds to the JSON property `labels`
38445
38984
  # @return [Hash<String,String>]
@@ -38469,7 +39008,7 @@ module Google
38469
39008
  # @return [Array<Google::Apis::ComputeAlpha::NetworkInterface>]
38470
39009
  attr_accessor :network_interfaces
38471
39010
 
38472
- # PostKeyRevocationActionType of the instance. (will be deprecated soon)
39011
+ # PostKeyRevocationActionType of the instance.
38473
39012
  # Corresponds to the JSON property `postKeyRevocationActionType`
38474
39013
  # @return [String]
38475
39014
  attr_accessor :post_key_revocation_action_type
@@ -38503,6 +39042,7 @@ module Google
38503
39042
  @description = args[:description] if args.key?(:description)
38504
39043
  @disks = args[:disks] if args.key?(:disks)
38505
39044
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
39045
+ @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
38506
39046
  @labels = args[:labels] if args.key?(:labels)
38507
39047
  @machine_type = args[:machine_type] if args.key?(:machine_type)
38508
39048
  @metadata = args[:metadata] if args.key?(:metadata)
@@ -39038,6 +39578,136 @@ module Google
39038
39578
  end
39039
39579
  end
39040
39580
 
39581
+ #
39582
+ class SslPoliciesAggregatedList
39583
+ include Google::Apis::Core::Hashable
39584
+
39585
+ #
39586
+ # Corresponds to the JSON property `etag`
39587
+ # @return [String]
39588
+ attr_accessor :etag
39589
+
39590
+ # [Output Only] Unique identifier for the resource; defined by the server.
39591
+ # Corresponds to the JSON property `id`
39592
+ # @return [String]
39593
+ attr_accessor :id
39594
+
39595
+ # A list of SslPoliciesScopedList resources.
39596
+ # Corresponds to the JSON property `items`
39597
+ # @return [Hash<String,Google::Apis::ComputeAlpha::SslPoliciesScopedList>]
39598
+ attr_accessor :items
39599
+
39600
+ # [Output Only] Type of resource. Always compute#sslPolicyAggregatedList for
39601
+ # lists of SSL Policies.
39602
+ # Corresponds to the JSON property `kind`
39603
+ # @return [String]
39604
+ attr_accessor :kind
39605
+
39606
+ # [Output Only] This token allows you to get the next page of results for list
39607
+ # requests. If the number of results is larger than maxResults, use the
39608
+ # nextPageToken as a value for the query parameter pageToken in the next list
39609
+ # request. Subsequent list requests will have their own nextPageToken to
39610
+ # continue paging through the results.
39611
+ # Corresponds to the JSON property `nextPageToken`
39612
+ # @return [String]
39613
+ attr_accessor :next_page_token
39614
+
39615
+ # [Output Only] Server-defined URL for this resource.
39616
+ # Corresponds to the JSON property `selfLink`
39617
+ # @return [String]
39618
+ attr_accessor :self_link
39619
+
39620
+ # [Output Only] Unreachable resources.
39621
+ # Corresponds to the JSON property `unreachables`
39622
+ # @return [Array<String>]
39623
+ attr_accessor :unreachables
39624
+
39625
+ # [Output Only] Informational warning message.
39626
+ # Corresponds to the JSON property `warning`
39627
+ # @return [Google::Apis::ComputeAlpha::SslPoliciesAggregatedList::Warning]
39628
+ attr_accessor :warning
39629
+
39630
+ def initialize(**args)
39631
+ update!(**args)
39632
+ end
39633
+
39634
+ # Update properties of this object
39635
+ def update!(**args)
39636
+ @etag = args[:etag] if args.key?(:etag)
39637
+ @id = args[:id] if args.key?(:id)
39638
+ @items = args[:items] if args.key?(:items)
39639
+ @kind = args[:kind] if args.key?(:kind)
39640
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
39641
+ @self_link = args[:self_link] if args.key?(:self_link)
39642
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
39643
+ @warning = args[:warning] if args.key?(:warning)
39644
+ end
39645
+
39646
+ # [Output Only] Informational warning message.
39647
+ class Warning
39648
+ include Google::Apis::Core::Hashable
39649
+
39650
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
39651
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
39652
+ # Corresponds to the JSON property `code`
39653
+ # @return [String]
39654
+ attr_accessor :code
39655
+
39656
+ # [Output Only] Metadata about this warning in key: value format. For example: "
39657
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
39658
+ # Corresponds to the JSON property `data`
39659
+ # @return [Array<Google::Apis::ComputeAlpha::SslPoliciesAggregatedList::Warning::Datum>]
39660
+ attr_accessor :data
39661
+
39662
+ # [Output Only] A human-readable description of the warning code.
39663
+ # Corresponds to the JSON property `message`
39664
+ # @return [String]
39665
+ attr_accessor :message
39666
+
39667
+ def initialize(**args)
39668
+ update!(**args)
39669
+ end
39670
+
39671
+ # Update properties of this object
39672
+ def update!(**args)
39673
+ @code = args[:code] if args.key?(:code)
39674
+ @data = args[:data] if args.key?(:data)
39675
+ @message = args[:message] if args.key?(:message)
39676
+ end
39677
+
39678
+ #
39679
+ class Datum
39680
+ include Google::Apis::Core::Hashable
39681
+
39682
+ # [Output Only] A key that provides more detail on the warning being returned.
39683
+ # For example, for warnings where there are no results in a list request for a
39684
+ # particular zone, this key might be scope and the key value might be the zone
39685
+ # name. Other examples might be a key indicating a deprecated resource and a
39686
+ # suggested replacement, or a warning about invalid network settings (for
39687
+ # example, if an instance attempts to perform IP forwarding but is not enabled
39688
+ # for IP forwarding).
39689
+ # Corresponds to the JSON property `key`
39690
+ # @return [String]
39691
+ attr_accessor :key
39692
+
39693
+ # [Output Only] A warning data value corresponding to the key.
39694
+ # Corresponds to the JSON property `value`
39695
+ # @return [String]
39696
+ attr_accessor :value
39697
+
39698
+ def initialize(**args)
39699
+ update!(**args)
39700
+ end
39701
+
39702
+ # Update properties of this object
39703
+ def update!(**args)
39704
+ @key = args[:key] if args.key?(:key)
39705
+ @value = args[:value] if args.key?(:value)
39706
+ end
39707
+ end
39708
+ end
39709
+ end
39710
+
39041
39711
  #
39042
39712
  class SslPoliciesList
39043
39713
  include Google::Apis::Core::Hashable
@@ -39175,6 +39845,97 @@ module Google
39175
39845
  end
39176
39846
  end
39177
39847
 
39848
+ #
39849
+ class SslPoliciesScopedList
39850
+ include Google::Apis::Core::Hashable
39851
+
39852
+ # A list of SslPolicies contained in this scope.
39853
+ # Corresponds to the JSON property `sslPolicies`
39854
+ # @return [Array<Google::Apis::ComputeAlpha::SslPolicy>]
39855
+ attr_accessor :ssl_policies
39856
+
39857
+ # Informational warning which replaces the list of SSL policies when the list is
39858
+ # empty.
39859
+ # Corresponds to the JSON property `warning`
39860
+ # @return [Google::Apis::ComputeAlpha::SslPoliciesScopedList::Warning]
39861
+ attr_accessor :warning
39862
+
39863
+ def initialize(**args)
39864
+ update!(**args)
39865
+ end
39866
+
39867
+ # Update properties of this object
39868
+ def update!(**args)
39869
+ @ssl_policies = args[:ssl_policies] if args.key?(:ssl_policies)
39870
+ @warning = args[:warning] if args.key?(:warning)
39871
+ end
39872
+
39873
+ # Informational warning which replaces the list of SSL policies when the list is
39874
+ # empty.
39875
+ class Warning
39876
+ include Google::Apis::Core::Hashable
39877
+
39878
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
39879
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
39880
+ # Corresponds to the JSON property `code`
39881
+ # @return [String]
39882
+ attr_accessor :code
39883
+
39884
+ # [Output Only] Metadata about this warning in key: value format. For example: "
39885
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
39886
+ # Corresponds to the JSON property `data`
39887
+ # @return [Array<Google::Apis::ComputeAlpha::SslPoliciesScopedList::Warning::Datum>]
39888
+ attr_accessor :data
39889
+
39890
+ # [Output Only] A human-readable description of the warning code.
39891
+ # Corresponds to the JSON property `message`
39892
+ # @return [String]
39893
+ attr_accessor :message
39894
+
39895
+ def initialize(**args)
39896
+ update!(**args)
39897
+ end
39898
+
39899
+ # Update properties of this object
39900
+ def update!(**args)
39901
+ @code = args[:code] if args.key?(:code)
39902
+ @data = args[:data] if args.key?(:data)
39903
+ @message = args[:message] if args.key?(:message)
39904
+ end
39905
+
39906
+ #
39907
+ class Datum
39908
+ include Google::Apis::Core::Hashable
39909
+
39910
+ # [Output Only] A key that provides more detail on the warning being returned.
39911
+ # For example, for warnings where there are no results in a list request for a
39912
+ # particular zone, this key might be scope and the key value might be the zone
39913
+ # name. Other examples might be a key indicating a deprecated resource and a
39914
+ # suggested replacement, or a warning about invalid network settings (for
39915
+ # example, if an instance attempts to perform IP forwarding but is not enabled
39916
+ # for IP forwarding).
39917
+ # Corresponds to the JSON property `key`
39918
+ # @return [String]
39919
+ attr_accessor :key
39920
+
39921
+ # [Output Only] A warning data value corresponding to the key.
39922
+ # Corresponds to the JSON property `value`
39923
+ # @return [String]
39924
+ attr_accessor :value
39925
+
39926
+ def initialize(**args)
39927
+ update!(**args)
39928
+ end
39929
+
39930
+ # Update properties of this object
39931
+ def update!(**args)
39932
+ @key = args[:key] if args.key?(:key)
39933
+ @value = args[:value] if args.key?(:value)
39934
+ end
39935
+ end
39936
+ end
39937
+ end
39938
+
39178
39939
  # Represents an SSL Policy resource. Use SSL policies to control the SSL
39179
39940
  # features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy
39180
39941
  # load balancer. For more information, read SSL Policy Concepts.
@@ -39251,6 +40012,12 @@ module Google
39251
40012
  # @return [String]
39252
40013
  attr_accessor :profile
39253
40014
 
40015
+ # [Output Only] URL of the region where the regional SSL policy resides. This
40016
+ # field is not applicable to global SSL policies.
40017
+ # Corresponds to the JSON property `region`
40018
+ # @return [String]
40019
+ attr_accessor :region
40020
+
39254
40021
  # [Output Only] Server-defined URL for the resource.
39255
40022
  # Corresponds to the JSON property `selfLink`
39256
40023
  # @return [String]
@@ -39288,6 +40055,7 @@ module Google
39288
40055
  @min_tls_version = args[:min_tls_version] if args.key?(:min_tls_version)
39289
40056
  @name = args[:name] if args.key?(:name)
39290
40057
  @profile = args[:profile] if args.key?(:profile)
40058
+ @region = args[:region] if args.key?(:region)
39291
40059
  @self_link = args[:self_link] if args.key?(:self_link)
39292
40060
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
39293
40061
  @tls_settings = args[:tls_settings] if args.key?(:tls_settings)
@@ -39527,8 +40295,9 @@ module Google
39527
40295
 
39528
40296
  # Whether to enable flow logging for this subnetwork. If this field is not
39529
40297
  # explicitly set, it will not appear in get listings. If not set the default
39530
- # behavior is to disable flow logging. This field isn't supported with the
39531
- # purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
40298
+ # behavior is determined by the org policy, if there is no org policy specified,
40299
+ # then it will default to disabled. This field isn't supported with the purpose
40300
+ # field set to INTERNAL_HTTPS_LOAD_BALANCER.
39532
40301
  # Corresponds to the JSON property `enableFlowLogs`
39533
40302
  # @return [Boolean]
39534
40303
  attr_accessor :enable_flow_logs
@@ -39568,8 +40337,8 @@ module Google
39568
40337
  # Can only be specified if VPC flow logging for this subnetwork is enabled. The
39569
40338
  # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
39570
40339
  # within the subnetwork where 1.0 means all collected logs are reported and 0.0
39571
- # means no logs are reported. Default is 0.5, which means half of all collected
39572
- # logs are reported.
40340
+ # means no logs are reported. Default is 0.5 unless otherwise specified by the
40341
+ # org policy, which means half of all collected logs are reported.
39573
40342
  # Corresponds to the JSON property `flowSampling`
39574
40343
  # @return [Float]
39575
40344
  attr_accessor :flow_sampling
@@ -40044,7 +40813,8 @@ module Google
40044
40813
 
40045
40814
  # Whether to enable flow logging for this subnetwork. If this field is not
40046
40815
  # explicitly set, it will not appear in get listings. If not set the default
40047
- # behavior is to disable flow logging.
40816
+ # behavior is determined by the org policy, if there is no org policy specified,
40817
+ # then it will default to disabled.
40048
40818
  # Corresponds to the JSON property `enable`
40049
40819
  # @return [Boolean]
40050
40820
  attr_accessor :enable
@@ -40059,8 +40829,8 @@ module Google
40059
40829
  # Can only be specified if VPC flow logging for this subnetwork is enabled. The
40060
40830
  # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
40061
40831
  # within the subnetwork where 1.0 means all collected logs are reported and 0.0
40062
- # means no logs are reported. Default is 0.5, which means half of all collected
40063
- # logs are reported.
40832
+ # means no logs are reported. Default is 0.5 unless otherwise specified by the
40833
+ # org policy, which means half of all collected logs are reported.
40064
40834
  # Corresponds to the JSON property `flowSampling`
40065
40835
  # @return [Float]
40066
40836
  attr_accessor :flow_sampling
@@ -43676,7 +44446,7 @@ module Google
43676
44446
  class TestFailure
43677
44447
  include Google::Apis::Core::Hashable
43678
44448
 
43679
- # The actual output URL evaluated by load balancer containing the scheme, host,
44449
+ # The actual output URL evaluated by a load balancer containing the scheme, host,
43680
44450
  # path and query parameters.
43681
44451
  # Corresponds to the JSON property `actualOutputUrl`
43682
44452
  # @return [String]
@@ -43693,8 +44463,8 @@ module Google
43693
44463
  # @return [String]
43694
44464
  attr_accessor :actual_service
43695
44465
 
43696
- # The expected output URL evaluated by load balancer containing the scheme, host,
43697
- # path and query parameters.
44466
+ # The expected output URL evaluated by a load balancer containing the scheme,
44467
+ # host, path and query parameters.
43698
44468
  # Corresponds to the JSON property `expectedOutputUrl`
43699
44469
  # @return [String]
43700
44470
  attr_accessor :expected_output_url
@@ -43973,10 +44743,19 @@ module Google
43973
44743
  end
43974
44744
  end
43975
44745
 
43976
- # Upcoming Maintenance notification information.
44746
+ # Upcoming Maintenance notification information. TODO(b/196881882) Deprecate
44747
+ # this proto once it's fully migrated to be under proto ResourceStatus.
44748
+ # UpcomingMaintenance.
43977
44749
  class UpcomingMaintenance
43978
44750
  include Google::Apis::Core::Hashable
43979
44751
 
44752
+ # Indicates if the maintenance can be customer triggered. From more detail, see
44753
+ # go/sf-ctm-design.
44754
+ # Corresponds to the JSON property `canReschedule`
44755
+ # @return [Boolean]
44756
+ attr_accessor :can_reschedule
44757
+ alias_method :can_reschedule?, :can_reschedule
44758
+
43980
44759
  # [Output Only] The date when the maintenance will take place. This value is in
43981
44760
  # RFC3339 text format. DEPRECATED: Use start_time_window instead.
43982
44761
  # Corresponds to the JSON property `date`
@@ -44006,6 +44785,7 @@ module Google
44006
44785
 
44007
44786
  # Update properties of this object
44008
44787
  def update!(**args)
44788
+ @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
44009
44789
  @date = args[:date] if args.key?(:date)
44010
44790
  @start_time_window = args[:start_time_window] if args.key?(:start_time_window)
44011
44791
  @time = args[:time] if args.key?(:time)
@@ -44039,21 +44819,21 @@ module Google
44039
44819
  end
44040
44820
  end
44041
44821
 
44042
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
44043
- # * [Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/
44044
- # docs/reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
44045
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
44822
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
44823
+ # Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/
44824
+ # reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
44825
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
44046
44826
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
44047
44827
  # used by internal HTTP(S) load balancers. For a list of supported URL map
44048
- # features by load balancer type, see the Load balancing features: Routing and
44049
- # traffic management table. For a list of supported URL map features for Traffic
44050
- # Director, see the Traffic Director features: Routing and traffic management
44051
- # table. This resource defines mappings from host names and URL paths to either
44052
- # a backend service or a backend bucket. To use the global urlMaps resource, the
44053
- # backend service must have a loadBalancingScheme of either EXTERNAL or
44054
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
44055
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
44056
- # read URL Map Concepts.
44828
+ # features by the load balancer type, see the Load balancing features: Routing
44829
+ # and traffic management table. For a list of supported URL map features for
44830
+ # Traffic Director, see the Traffic Director features: Routing and traffic
44831
+ # management table. This resource defines mappings from hostnames and URL paths
44832
+ # to either a backend service or a backend bucket. To use the global urlMaps
44833
+ # resource, the backend service must have a loadBalancingScheme of either
44834
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
44835
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
44836
+ # information, read URL Map Concepts.
44057
44837
  class UrlMap
44058
44838
  include Google::Apis::Core::Hashable
44059
44839
 
@@ -44063,28 +44843,28 @@ module Google
44063
44843
  attr_accessor :creation_timestamp
44064
44844
 
44065
44845
  # defaultRouteAction takes effect when none of the hostRules match. The load
44066
- # balancer performs advanced routing actions like URL rewrites, header
44067
- # transformations, etc. prior to forwarding the request to the selected backend.
44068
- # If defaultRouteAction specifies any weightedBackendServices, defaultService
44069
- # must not be set. Conversely if defaultService is set, defaultRouteAction
44070
- # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
44846
+ # balancer performs advanced routing actions, such as URL rewrites and header
44847
+ # transformations, before forwarding the request to the selected backend. If
44848
+ # defaultRouteAction specifies any weightedBackendServices, defaultService must
44849
+ # not be set. Conversely if defaultService is set, defaultRouteAction cannot
44850
+ # contain any weightedBackendServices. Only one of defaultRouteAction or
44071
44851
  # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
44072
44852
  # support only the urlRewrite action within defaultRouteAction.
44073
- # defaultRouteAction has no effect when the URL map is bound to target gRPC
44074
- # proxy that has validateForProxyless field set to true.
44853
+ # defaultRouteAction has no effect when the URL map is bound to a target gRPC
44854
+ # proxy that has the validateForProxyless field set to true.
44075
44855
  # Corresponds to the JSON property `defaultRouteAction`
44076
44856
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
44077
44857
  attr_accessor :default_route_action
44078
44858
 
44079
44859
  # The full or partial URL of the defaultService resource to which traffic is
44080
- # directed if none of the hostRules match. If defaultRouteAction is additionally
44081
- # specified, advanced routing actions like URL Rewrites, etc. take effect prior
44082
- # to sending the request to the backend. However, if defaultService is specified,
44860
+ # directed if none of the hostRules match. If defaultRouteAction is also
44861
+ # specified, advanced routing actions, such as URL rewrites, take effect before
44862
+ # sending the request to the backend. However, if defaultService is specified,
44083
44863
  # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
44084
44864
  # routeAction specifies any weightedBackendServices, service must not be
44085
- # specified. Only one of defaultService, defaultUrlRedirect or
44865
+ # specified. Only one of defaultService, defaultUrlRedirect , or
44086
44866
  # defaultRouteAction.weightedBackendService must be set. defaultService has no
44087
- # effect when the URL map is bound to target gRPC proxy that has
44867
+ # effect when the URL map is bound to a target gRPC proxy that has the
44088
44868
  # validateForProxyless field set to true.
44089
44869
  # Corresponds to the JSON property `defaultService`
44090
44870
  # @return [String]
@@ -44102,11 +44882,10 @@ module Google
44102
44882
  attr_accessor :description
44103
44883
 
44104
44884
  # Fingerprint of this resource. A hash of the contents stored in this object.
44105
- # This field is used in optimistic locking. This field will be ignored when
44106
- # inserting a UrlMap. An up-to-date fingerprint must be provided in order to
44107
- # update the UrlMap, otherwise the request will fail with error 412
44108
- # conditionNotMet. To see the latest fingerprint, make a get() request to
44109
- # retrieve a UrlMap.
44885
+ # This field is used in optimistic locking. This field is ignored when inserting
44886
+ # a UrlMap. An up-to-date fingerprint must be provided in order to update the
44887
+ # UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see
44888
+ # the latest fingerprint, make a get() request to retrieve a UrlMap.
44110
44889
  # Corresponds to the JSON property `fingerprint`
44111
44890
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
44112
44891
  # @return [String]
@@ -44118,7 +44897,7 @@ module Google
44118
44897
  # @return [Google::Apis::ComputeAlpha::HttpHeaderAction]
44119
44898
  attr_accessor :header_action
44120
44899
 
44121
- # The list of HostRules to use against the URL.
44900
+ # The list of host rules to use against the URL.
44122
44901
  # Corresponds to the JSON property `hostRules`
44123
44902
  # @return [Array<Google::Apis::ComputeAlpha::HostRule>]
44124
44903
  attr_accessor :host_rules
@@ -44161,10 +44940,10 @@ module Google
44161
44940
  # @return [String]
44162
44941
  attr_accessor :self_link
44163
44942
 
44164
- # The list of expected URL mapping tests. Request to update this UrlMap will
44165
- # succeed only if all of the test cases pass. You can specify a maximum of 100
44166
- # tests per UrlMap. Not supported when the URL map is bound to target gRPC proxy
44167
- # that has validateForProxyless field set to true.
44943
+ # The list of expected URL mapping tests. Request to update the UrlMap succeeds
44944
+ # only if all test cases pass. You can specify a maximum of 100 tests per UrlMap.
44945
+ # Not supported when the URL map is bound to a target gRPC proxy that has
44946
+ # validateForProxyless field set to true.
44168
44947
  # Corresponds to the JSON property `tests`
44169
44948
  # @return [Array<Google::Apis::ComputeAlpha::UrlMapTest>]
44170
44949
  attr_accessor :tests
@@ -44344,18 +45123,18 @@ module Google
44344
45123
  # @return [String]
44345
45124
  attr_accessor :description
44346
45125
 
44347
- # The expected output URL evaluated by load balancer containing the scheme, host,
44348
- # path and query parameters. For rules that forward requests to backends, the
44349
- # test passes only when expectedOutputUrl matches the request forwarded by load
44350
- # balancer to backends. For rules with urlRewrite, the test verifies that the
44351
- # forwarded request matches hostRewrite and pathPrefixRewrite in the urlRewrite
44352
- # action. When service is specified, expectedOutputUrl`s scheme is ignored. For
44353
- # rules with urlRedirect, the test passes only if expectedOutputUrl matches the
44354
- # URL in the load balancer's redirect response. If urlRedirect specifies
44355
- # https_redirect, the test passes only if the scheme in expectedOutputUrl is
44356
- # also set to https. If urlRedirect specifies strip_query, the test passes only
44357
- # if expectedOutputUrl does not contain any query parameters. expectedOutputUrl
44358
- # is optional when service is specified.
45126
+ # The expected output URL evaluated by the load balancer containing the scheme,
45127
+ # host, path and query parameters. For rules that forward requests to backends,
45128
+ # the test passes only when expectedOutputUrl matches the request forwarded by
45129
+ # the load balancer to backends. For rules with urlRewrite, the test verifies
45130
+ # that the forwarded request matches hostRewrite and pathPrefixRewrite in the
45131
+ # urlRewrite action. When service is specified, expectedOutputUrl`s scheme is
45132
+ # ignored. For rules with urlRedirect, the test passes only if expectedOutputUrl
45133
+ # matches the URL in the load balancer's redirect response. If urlRedirect
45134
+ # specifies https_redirect, the test passes only if the scheme in
45135
+ # expectedOutputUrl is also set to HTTPS. If urlRedirect specifies strip_query,
45136
+ # the test passes only if expectedOutputUrl does not contain any query
45137
+ # parameters. expectedOutputUrl is optional when service is specified.
44359
45138
  # Corresponds to the JSON property `expectedOutputUrl`
44360
45139
  # @return [String]
44361
45140
  attr_accessor :expected_output_url
@@ -44392,7 +45171,8 @@ module Google
44392
45171
  attr_accessor :path
44393
45172
 
44394
45173
  # Expected BackendService or BackendBucket resource the given URL should be
44395
- # mapped to. service cannot be set if expectedRedirectResponseCode is set.
45174
+ # mapped to. The service field cannot be set if expectedRedirectResponseCode is
45175
+ # set.
44396
45176
  # Corresponds to the JSON property `service`
44397
45177
  # @return [String]
44398
45178
  attr_accessor :service
@@ -44699,21 +45479,36 @@ module Google
44699
45479
  class UrlMapsValidateRequest
44700
45480
  include Google::Apis::Core::Hashable
44701
45481
 
44702
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
44703
- # * [Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/
44704
- # docs/reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
44705
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
45482
+ # Specifies the load balancer type(s) this validation request is for. Use
45483
+ # EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced
45484
+ # Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load
45485
+ # Balancer. Other load balancer types are not supported. For more information,
45486
+ # refer to Choosing a load balancer. If unspecified, the load balancing scheme
45487
+ # will be inferred from the backend service resources this URL map references.
45488
+ # If that can not be inferred (for example, this URL map only references backend
45489
+ # buckets, or this Url map is for rewrites and redirects only and doesn't
45490
+ # reference any backends), EXTERNAL will be used as the default type. If
45491
+ # specified, the scheme(s) must not conflict with the load balancing scheme of
45492
+ # the backend service resources this Url map references.
45493
+ # Corresponds to the JSON property `loadBalancingSchemes`
45494
+ # @return [Array<String>]
45495
+ attr_accessor :load_balancing_schemes
45496
+
45497
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
45498
+ # Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/
45499
+ # reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
45500
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
44706
45501
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
44707
45502
  # used by internal HTTP(S) load balancers. For a list of supported URL map
44708
- # features by load balancer type, see the Load balancing features: Routing and
44709
- # traffic management table. For a list of supported URL map features for Traffic
44710
- # Director, see the Traffic Director features: Routing and traffic management
44711
- # table. This resource defines mappings from host names and URL paths to either
44712
- # a backend service or a backend bucket. To use the global urlMaps resource, the
44713
- # backend service must have a loadBalancingScheme of either EXTERNAL or
44714
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
44715
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
44716
- # read URL Map Concepts.
45503
+ # features by the load balancer type, see the Load balancing features: Routing
45504
+ # and traffic management table. For a list of supported URL map features for
45505
+ # Traffic Director, see the Traffic Director features: Routing and traffic
45506
+ # management table. This resource defines mappings from hostnames and URL paths
45507
+ # to either a backend service or a backend bucket. To use the global urlMaps
45508
+ # resource, the backend service must have a loadBalancingScheme of either
45509
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
45510
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
45511
+ # information, read URL Map Concepts.
44717
45512
  # Corresponds to the JSON property `resource`
44718
45513
  # @return [Google::Apis::ComputeAlpha::UrlMap]
44719
45514
  attr_accessor :resource
@@ -44724,6 +45519,7 @@ module Google
44724
45519
 
44725
45520
  # Update properties of this object
44726
45521
  def update!(**args)
45522
+ @load_balancing_schemes = args[:load_balancing_schemes] if args.key?(:load_balancing_schemes)
44727
45523
  @resource = args[:resource] if args.key?(:resource)
44728
45524
  end
44729
45525
  end
@@ -44752,16 +45548,16 @@ module Google
44752
45548
  class UrlRewrite
44753
45549
  include Google::Apis::Core::Hashable
44754
45550
 
44755
- # Prior to forwarding the request to the selected service, the request's host
44756
- # header is replaced with contents of hostRewrite. The value must be between 1
44757
- # and 255 characters.
45551
+ # Before forwarding the request to the selected service, the request's host
45552
+ # header is replaced with contents of hostRewrite. The value must be from 1 to
45553
+ # 255 characters.
44758
45554
  # Corresponds to the JSON property `hostRewrite`
44759
45555
  # @return [String]
44760
45556
  attr_accessor :host_rewrite
44761
45557
 
44762
- # Prior to forwarding the request to the selected backend service, the matching
45558
+ # Before forwarding the request to the selected backend service, the matching
44763
45559
  # portion of the request's path is replaced by pathPrefixRewrite. The value must
44764
- # be between 1 and 1024 characters.
45560
+ # be from 1 to 1024 characters.
44765
45561
  # Corresponds to the JSON property `pathPrefixRewrite`
44766
45562
  # @return [String]
44767
45563
  attr_accessor :path_prefix_rewrite
@@ -46478,14 +47274,13 @@ module Google
46478
47274
 
46479
47275
  # In contrast to a single BackendService in HttpRouteAction to which all
46480
47276
  # matching traffic is directed to, WeightedBackendService allows traffic to be
46481
- # split across multiple BackendServices. The volume of traffic for each
46482
- # BackendService is proportional to the weight specified in each
46483
- # WeightedBackendService
47277
+ # split across multiple backend services. The volume of traffic for each backend
47278
+ # service is proportional to the weight specified in each WeightedBackendService
46484
47279
  class WeightedBackendService
46485
47280
  include Google::Apis::Core::Hashable
46486
47281
 
46487
47282
  # The full or partial URL to the default BackendService resource. Before
46488
- # forwarding the request to backendService, the loadbalancer applies any
47283
+ # forwarding the request to backendService, the load balancer applies any
46489
47284
  # relevant headerActions specified as part of this backendServiceWeight.
46490
47285
  # Corresponds to the JSON property `backendService`
46491
47286
  # @return [String]
@@ -46497,12 +47292,12 @@ module Google
46497
47292
  # @return [Google::Apis::ComputeAlpha::HttpHeaderAction]
46498
47293
  attr_accessor :header_action
46499
47294
 
46500
- # Specifies the fraction of traffic sent to backendService, computed as weight /
46501
- # (sum of all weightedBackendService weights in routeAction) . The selection of
46502
- # a backend service is determined only for new traffic. Once a user's request
46503
- # has been directed to a backendService, subsequent requests will be sent to the
46504
- # same backendService as determined by the BackendService's session affinity
46505
- # policy. The value must be between 0 and 1000
47295
+ # Specifies the fraction of traffic sent to a backend service, computed as
47296
+ # weight / (sum of all weightedBackendService weights in routeAction) . The
47297
+ # selection of a backend service is determined only for new traffic. Once a user'
47298
+ # s request has been directed to a backend service, subsequent requests are sent
47299
+ # to the same backend service as determined by the backend service's session
47300
+ # affinity policy. The value must be from 0 to 1000.
46506
47301
  # Corresponds to the JSON property `weight`
46507
47302
  # @return [Fixnum]
46508
47303
  attr_accessor :weight
@@ -46912,31 +47707,31 @@ module Google
46912
47707
 
46913
47708
  # An Identity and Access Management (IAM) policy, which specifies access
46914
47709
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
46915
- # A `binding` binds one or more `members` to a single `role`. Members can be
46916
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
46917
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
46918
- # role or a user-created custom role. For some types of Google Cloud resources,
46919
- # a `binding` can also specify a `condition`, which is a logical expression that
46920
- # allows access to a resource only if the expression evaluates to `true`. A
46921
- # condition can add constraints based on attributes of the request, the resource,
46922
- # or both. To learn which resources support conditions in their IAM policies,
46923
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
46924
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
46925
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
46926
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
46927
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
46928
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
46929
- # title": "expirable access", "description": "Does not grant access after Sep
46930
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
46931
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
46932
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
46933
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
46934
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
46935
- # roles/resourcemanager.organizationViewer condition: title: expirable access
46936
- # description: Does not grant access after Sep 2020 expression: request.time <
46937
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
46938
- # description of IAM and its features, see the [IAM documentation](https://cloud.
46939
- # google.com/iam/docs/).
47710
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
47711
+ # Principals can be user accounts, service accounts, Google groups, and domains (
47712
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
47713
+ # an IAM predefined role or a user-created custom role. For some types of Google
47714
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
47715
+ # logical expression that allows access to a resource only if the expression
47716
+ # evaluates to `true`. A condition can add constraints based on attributes of
47717
+ # the request, the resource, or both. To learn which resources support
47718
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
47719
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
47720
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
47721
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
47722
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
47723
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
47724
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
47725
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
47726
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
47727
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
47728
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
47729
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
47730
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
47731
+ # access description: Does not grant access after Sep 2020 expression: request.
47732
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
47733
+ # a description of IAM and its features, see the [IAM documentation](https://
47734
+ # cloud.google.com/iam/docs/).
46940
47735
  # Corresponds to the JSON property `policy`
46941
47736
  # @return [Google::Apis::ComputeAlpha::Policy]
46942
47737
  attr_accessor :policy