google-apis-compute_alpha 0.17.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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