google-apis-compute_alpha 0.16.0 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -521,7 +521,9 @@ module Google
521
521
  attr_accessor :public_dns_name
522
522
 
523
523
  # The DNS domain name for the public PTR record. You can set this field only if
524
- # the `setPublicPtr` field is enabled.
524
+ # the `setPublicPtr` field is enabled in accessConfig. If this field is
525
+ # unspecified in ipv6AccessConfig, a default PTR record will be createc for
526
+ # first IP in associated external IPv6 range.
525
527
  # Corresponds to the JSON property `publicPtrDomainName`
526
528
  # @return [String]
527
529
  attr_accessor :public_ptr_domain_name
@@ -534,7 +536,9 @@ module Google
534
536
  alias_method :set_public_dns?, :set_public_dns
535
537
 
536
538
  # Specifies whether a public DNS 'PTR' record should be created to map the
537
- # external IP address of the instance to a DNS domain name.
539
+ # external IP address of the instance to a DNS domain name. This field is not
540
+ # used in ipv6AccessConfig. A default PTR record will be created if the VM has
541
+ # external IPv6 range associated.
538
542
  # Corresponds to the JSON property `setPublicPtr`
539
543
  # @return [Boolean]
540
544
  attr_accessor :set_public_ptr
@@ -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)
@@ -1468,6 +1485,11 @@ module Google
1468
1485
  class AttachedDiskInitializeParams
1469
1486
  include Google::Apis::Core::Hashable
1470
1487
 
1488
+ # The architecture of the attached disk. Valid values are arm64 or x86_64.
1489
+ # Corresponds to the JSON property `architecture`
1490
+ # @return [String]
1491
+ attr_accessor :architecture
1492
+
1471
1493
  # An optional description. Provide this property when creating the disk.
1472
1494
  # Corresponds to the JSON property `description`
1473
1495
  # @return [String]
@@ -1612,6 +1634,7 @@ module Google
1612
1634
 
1613
1635
  # Update properties of this object
1614
1636
  def update!(**args)
1637
+ @architecture = args[:architecture] if args.key?(:architecture)
1615
1638
  @description = args[:description] if args.key?(:description)
1616
1639
  @disk_name = args[:disk_name] if args.key?(:disk_name)
1617
1640
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
@@ -2944,7 +2967,7 @@ module Google
2944
2967
  # specified), or else sets the response max-age directive to the lesser of the
2945
2968
  # client_ttl and default_ttl, and also ensures a "public" cache-control
2946
2969
  # 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).
2970
+ # hour) will be used. The maximum allowed value is 31,622,400s (1 year).
2948
2971
  # Corresponds to the JSON property `clientTtl`
2949
2972
  # @return [Fixnum]
2950
2973
  attr_accessor :client_ttl
@@ -3432,8 +3455,8 @@ module Google
3432
3455
  # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
3433
3456
  # set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field
3434
3457
  # 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
3458
+ # effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service
3459
+ # is referenced by a URL map that is bound to target gRPC proxy that has
3437
3460
  # validateForProxyless field set to true.
3438
3461
  # Corresponds to the JSON property `localityLbPolicy`
3439
3462
  # @return [String]
@@ -3546,11 +3569,11 @@ module Google
3546
3569
  # @return [String]
3547
3570
  attr_accessor :service_lb_policy
3548
3571
 
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.
3572
+ # Type of session affinity to use. The default is NONE. Only NONE and
3573
+ # HEADER_FIELD are supported when the backend service is referenced by a URL map
3574
+ # that is bound to target gRPC proxy that has validateForProxyless field set to
3575
+ # true. For more details, see: [Session Affinity](https://cloud.google.com/load-
3576
+ # balancing/docs/backend-service#session_affinity).
3554
3577
  # Corresponds to the JSON property `sessionAffinity`
3555
3578
  # @return [String]
3556
3579
  attr_accessor :session_affinity
@@ -3782,7 +3805,7 @@ module Google
3782
3805
  # specified), or else sets the response max-age directive to the lesser of the
3783
3806
  # client_ttl and default_ttl, and also ensures a "public" cache-control
3784
3807
  # 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).
3808
+ # hour) will be used. The maximum allowed value is 31,622,400s (1 year).
3786
3809
  # Corresponds to the JSON property `clientTtl`
3787
3810
  # @return [Fixnum]
3788
3811
  attr_accessor :client_ttl
@@ -3962,32 +3985,42 @@ module Google
3962
3985
  # healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST,
3963
3986
  # existing connections always persist on unhealthy backends regardless of
3964
3987
  # protocol and session affinity. It is generally not recommended to use this
3965
- # mode overriding the default.
3988
+ # mode overriding the default. For more details, see [Connection Persistence for
3989
+ # Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/
3990
+ # networklb-backend-service#connection-persistence) and [Connection Persistence
3991
+ # for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/
3992
+ # docs/internal#connection-persistence).
3966
3993
  # Corresponds to the JSON property `connectionPersistenceOnUnhealthyBackends`
3967
3994
  # @return [String]
3968
3995
  attr_accessor :connection_persistence_on_unhealthy_backends
3969
3996
 
3970
- # Enable Strong Session Affinity. This is only available in External TCP/UDP
3971
- # load balancer.
3997
+ # Enable Strong Session Affinity for Network Load Balancing. This option is not
3998
+ # available publicly.
3972
3999
  # Corresponds to the JSON property `enableStrongAffinity`
3973
4000
  # @return [Boolean]
3974
4001
  attr_accessor :enable_strong_affinity
3975
4002
  alias_method :enable_strong_affinity?, :enable_strong_affinity
3976
4003
 
3977
4004
  # 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.
4005
+ # matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - The
4006
+ # minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set
4007
+ # only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is
4008
+ # CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is
4009
+ # PER_SESSION). For Network Load Balancer the default is 60 seconds. This option
4010
+ # is not available publicly.
3982
4011
  # Corresponds to the JSON property `idleTimeoutSec`
3983
4012
  # @return [Fixnum]
3984
4013
  attr_accessor :idle_timeout_sec
3985
4014
 
3986
- # Specifies the key used for connection tracking. There are two options:
4015
+ # Specifies the key used for connection tracking. There are two options: -
3987
4016
  # 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.
4017
+ # as per the Connection Key (default Hash Method) for the specific protocol. -
3989
4018
  # PER_SESSION: The Connection Tracking is performed as per the configured
3990
- # Session Affinity. It matches the configured Session Affinity.
4019
+ # Session Affinity. It matches the configured Session Affinity. For more details,
4020
+ # see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-
4021
+ # balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking
4022
+ # Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-
4023
+ # balancing/docs/internal#tracking-mode).
3991
4024
  # Corresponds to the JSON property `trackingMode`
3992
4025
  # @return [String]
3993
4026
  attr_accessor :tracking_mode
@@ -4707,7 +4740,7 @@ module Google
4707
4740
  end
4708
4741
  end
4709
4742
 
4710
- # Associates `members` with a `role`.
4743
+ # Associates `members`, or principals, with a `role`.
4711
4744
  class Binding
4712
4745
  include Google::Apis::Core::Hashable
4713
4746
 
@@ -4735,7 +4768,7 @@ module Google
4735
4768
  # @return [Google::Apis::ComputeAlpha::Expr]
4736
4769
  attr_accessor :condition
4737
4770
 
4738
- # Specifies the identities requesting access for a Cloud Platform resource. `
4771
+ # Specifies the principals requesting access for a Cloud Platform resource. `
4739
4772
  # members` can have the following values: * `allUsers`: A special identifier
4740
4773
  # that represents anyone who is on the internet; with or without a Google
4741
4774
  # account. * `allAuthenticatedUsers`: A special identifier that represents
@@ -4765,8 +4798,8 @@ module Google
4765
4798
  # @return [Array<String>]
4766
4799
  attr_accessor :members
4767
4800
 
4768
- # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
4769
- # , or `roles/owner`.
4801
+ # Role that is assigned to the list of `members`, or principals. For example, `
4802
+ # roles/viewer`, `roles/editor`, or `roles/owner`.
4770
4803
  # Corresponds to the JSON property `role`
4771
4804
  # @return [String]
4772
4805
  attr_accessor :role
@@ -5794,14 +5827,15 @@ module Google
5794
5827
  end
5795
5828
  end
5796
5829
 
5797
- # The specification for allowing client side cross-origin requests. Please see
5798
- # W3C Recommendation for Cross Origin Resource Sharing
5830
+ # The specification for allowing client-side cross-origin requests. For more
5831
+ # information about the W3C recommendation for cross-origin resource sharing (
5832
+ # CORS), see Fetch API Living Standard.
5799
5833
  class CorsPolicy
5800
5834
  include Google::Apis::Core::Hashable
5801
5835
 
5802
5836
  # 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.
5837
+ # actual request can include user credentials. This field translates to the
5838
+ # Access-Control-Allow-Credentials header. Default is false.
5805
5839
  # Corresponds to the JSON property `allowCredentials`
5806
5840
  # @return [Boolean]
5807
5841
  attr_accessor :allow_credentials
@@ -5817,23 +5851,23 @@ module Google
5817
5851
  # @return [Array<String>]
5818
5852
  attr_accessor :allow_methods
5819
5853
 
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
5854
+ # Specifies a regular expression that matches allowed origins. For more
5855
+ # information about the regular expression syntax, see Syntax. An origin is
5856
+ # allowed if it matches either an item in allowOrigins or an item in
5823
5857
  # allowOriginRegexes.
5824
5858
  # Corresponds to the JSON property `allowOriginRegexes`
5825
5859
  # @return [Array<String>]
5826
5860
  attr_accessor :allow_origin_regexes
5827
5861
 
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
5862
+ # Specifies the list of origins that is allowed to do CORS requests. An origin
5863
+ # is allowed if it matches either an item in allowOrigins or an item in
5830
5864
  # allowOriginRegexes.
5831
5865
  # Corresponds to the JSON property `allowOrigins`
5832
5866
  # @return [Array<String>]
5833
5867
  attr_accessor :allow_origins
5834
5868
 
5835
- # If true, specifies the CORS policy is disabled. The default value of false,
5836
- # which indicates that the CORS policy is in effect.
5869
+ # If true, the setting specifies the CORS policy is disabled. The default value
5870
+ # of false, which indicates that the CORS policy is in effect.
5837
5871
  # Corresponds to the JSON property `disabled`
5838
5872
  # @return [Boolean]
5839
5873
  attr_accessor :disabled
@@ -5845,7 +5879,7 @@ module Google
5845
5879
  attr_accessor :expose_headers
5846
5880
 
5847
5881
  # Specifies how long results of a preflight request can be cached in seconds.
5848
- # This translates to the Access-Control-Max-Age header.
5882
+ # This field translates to the Access-Control-Max-Age header.
5849
5883
  # Corresponds to the JSON property `maxAge`
5850
5884
  # @return [Fixnum]
5851
5885
  attr_accessor :max_age
@@ -5871,30 +5905,39 @@ module Google
5871
5905
  class CustomerEncryptionKey
5872
5906
  include Google::Apis::Core::Hashable
5873
5907
 
5874
- # The name of the encryption key that is stored in Google Cloud KMS.
5908
+ # The name of the encryption key that is stored in Google Cloud KMS. For example:
5909
+ # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/
5910
+ # cryptoKeys/key
5875
5911
  # Corresponds to the JSON property `kmsKeyName`
5876
5912
  # @return [String]
5877
5913
  attr_accessor :kms_key_name
5878
5914
 
5879
5915
  # 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.
5916
+ # key. If absent, the Compute Engine default service account is used. For
5917
+ # example: "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/
5881
5918
  # Corresponds to the JSON property `kmsKeyServiceAccount`
5882
5919
  # @return [String]
5883
5920
  attr_accessor :kms_key_service_account
5884
5921
 
5885
5922
  # Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
5886
- # base64 to either encrypt or decrypt this resource.
5923
+ # base64 to either encrypt or decrypt this resource. You can provide either the
5924
+ # rawKey or the rsaEncryptedKey. For example: "rawKey": "
5925
+ # SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0="
5887
5926
  # Corresponds to the JSON property `rawKey`
5888
5927
  # @return [String]
5889
5928
  attr_accessor :raw_key
5890
5929
 
5891
5930
  # 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
5931
+ # encryption key to either encrypt or decrypt this resource. You can provide
5932
+ # either the rawKey or the rsaEncryptedKey. For example: "rsaEncryptedKey": "
5933
+ # ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH
5934
+ # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD
5935
+ # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" The
5936
+ # key must meet the following requirements before you can provide it to Compute
5937
+ # Engine: 1. The key is wrapped using a RSA public key certificate provided by
5938
+ # Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64
5939
+ # encoding. Gets the RSA public key certificate provided by Google at: https://
5940
+ # cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem
5898
5941
  # Corresponds to the JSON property `rsaEncryptedKey`
5899
5942
  # @return [String]
5900
5943
  attr_accessor :rsa_encrypted_key
@@ -5929,7 +5972,8 @@ module Google
5929
5972
  attr_accessor :disk_encryption_key
5930
5973
 
5931
5974
  # Specifies a valid partial or full URL to an existing Persistent Disk resource.
5932
- # This field is only applicable for persistent disks.
5975
+ # This field is only applicable for persistent disks. For example: "source": "/
5976
+ # compute/v1/projects/project_id/zones/zone/disks/ disk_name
5933
5977
  # Corresponds to the JSON property `source`
5934
5978
  # @return [String]
5935
5979
  attr_accessor :source
@@ -6019,6 +6063,11 @@ module Google
6019
6063
  class Disk
6020
6064
  include Google::Apis::Core::Hashable
6021
6065
 
6066
+ # The architecture of the disk. Valid values are ARM64 or X86_64.
6067
+ # Corresponds to the JSON property `architecture`
6068
+ # @return [String]
6069
+ attr_accessor :architecture
6070
+
6022
6071
  # [Output Only] Creation timestamp in RFC3339 text format.
6023
6072
  # Corresponds to the JSON property `creationTimestamp`
6024
6073
  # @return [String]
@@ -6268,25 +6317,6 @@ module Google
6268
6317
  # @return [String]
6269
6318
  attr_accessor :source_image_id
6270
6319
 
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
6320
  # The source instant snapshot used to create this disk. You can provide this as
6291
6321
  # a partial or full URL to the resource. For example, the following are valid
6292
6322
  # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
@@ -6387,6 +6417,7 @@ module Google
6387
6417
 
6388
6418
  # Update properties of this object
6389
6419
  def update!(**args)
6420
+ @architecture = args[:architecture] if args.key?(:architecture)
6390
6421
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
6391
6422
  @description = args[:description] if args.key?(:description)
6392
6423
  @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
@@ -6420,8 +6451,6 @@ module Google
6420
6451
  @source_image = args[:source_image] if args.key?(:source_image)
6421
6452
  @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
6422
6453
  @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
6454
  @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
6426
6455
  @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
6427
6456
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
@@ -8016,7 +8045,7 @@ module Google
8016
8045
  # Name of the resource; provided by the client when the resource is created. The
8017
8046
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
8018
8047
  # 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
8048
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
8020
8049
  # following characters (except for the last character) must be a dash, lowercase
8021
8050
  # letter, or digit. The last character must be a lowercase letter or digit.
8022
8051
  # Corresponds to the JSON property `name`
@@ -8397,7 +8426,7 @@ module Google
8397
8426
  attr_accessor :description
8398
8427
 
8399
8428
  # Deprecated, please use short name instead. User-provided name of the
8400
- # Organization firewall plicy. The name should be unique in the organization in
8429
+ # Organization firewall policy. The name should be unique in the organization in
8401
8430
  # which the firewall policy is created. This name must be set on creation and
8402
8431
  # cannot be changed. The name must be 1-63 characters long, and comply with
8403
8432
  # RFC1035. Specifically, the name must be 1-63 characters long and match the
@@ -8783,6 +8812,12 @@ module Google
8783
8812
  class FirewallPolicyRuleMatcher
8784
8813
  include Google::Apis::Core::Hashable
8785
8814
 
8815
+ # Address groups which should be matched against the traffic destination.
8816
+ # Maximum number of destination address groups is 10.
8817
+ # Corresponds to the JSON property `destAddressGroups`
8818
+ # @return [Array<String>]
8819
+ attr_accessor :dest_address_groups
8820
+
8786
8821
  # CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is
8787
8822
  # 5000.
8788
8823
  # Corresponds to the JSON property `destIpRanges`
@@ -8794,6 +8829,12 @@ module Google
8794
8829
  # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRuleMatcherLayer4Config>]
8795
8830
  attr_accessor :layer4_configs
8796
8831
 
8832
+ # Address groups which should be matched against the traffic source. Maximum
8833
+ # number of source address groups is 10.
8834
+ # Corresponds to the JSON property `srcAddressGroups`
8835
+ # @return [Array<String>]
8836
+ attr_accessor :src_address_groups
8837
+
8797
8838
  # CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
8798
8839
  # Corresponds to the JSON property `srcIpRanges`
8799
8840
  # @return [Array<String>]
@@ -8813,8 +8854,10 @@ module Google
8813
8854
 
8814
8855
  # Update properties of this object
8815
8856
  def update!(**args)
8857
+ @dest_address_groups = args[:dest_address_groups] if args.key?(:dest_address_groups)
8816
8858
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
8817
8859
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8860
+ @src_address_groups = args[:src_address_groups] if args.key?(:src_address_groups)
8818
8861
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
8819
8862
  @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
8820
8863
  end
@@ -10320,31 +10363,31 @@ module Google
10320
10363
 
10321
10364
  # An Identity and Access Management (IAM) policy, which specifies access
10322
10365
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
10323
- # A `binding` binds one or more `members` to a single `role`. Members can be
10324
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
10325
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
10326
- # role or a user-created custom role. For some types of Google Cloud resources,
10327
- # a `binding` can also specify a `condition`, which is a logical expression that
10328
- # allows access to a resource only if the expression evaluates to `true`. A
10329
- # condition can add constraints based on attributes of the request, the resource,
10330
- # or both. To learn which resources support conditions in their IAM policies,
10331
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
10332
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
10333
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
10334
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
10335
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
10336
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
10337
- # title": "expirable access", "description": "Does not grant access after Sep
10338
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
10339
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
10340
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
10341
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
10342
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
10343
- # roles/resourcemanager.organizationViewer condition: title: expirable access
10344
- # description: Does not grant access after Sep 2020 expression: request.time <
10345
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
10346
- # description of IAM and its features, see the [IAM documentation](https://cloud.
10347
- # google.com/iam/docs/).
10366
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
10367
+ # Principals can be user accounts, service accounts, Google groups, and domains (
10368
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
10369
+ # an IAM predefined role or a user-created custom role. For some types of Google
10370
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
10371
+ # logical expression that allows access to a resource only if the expression
10372
+ # evaluates to `true`. A condition can add constraints based on attributes of
10373
+ # the request, the resource, or both. To learn which resources support
10374
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
10375
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
10376
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
10377
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
10378
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
10379
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
10380
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
10381
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
10382
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
10383
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
10384
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
10385
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
10386
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
10387
+ # access description: Does not grant access after Sep 2020 expression: request.
10388
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
10389
+ # a description of IAM and its features, see the [IAM documentation](https://
10390
+ # cloud.google.com/iam/docs/).
10348
10391
  # Corresponds to the JSON property `policy`
10349
10392
  # @return [Google::Apis::ComputeAlpha::Policy]
10350
10393
  attr_accessor :policy
@@ -10417,31 +10460,31 @@ module Google
10417
10460
 
10418
10461
  # An Identity and Access Management (IAM) policy, which specifies access
10419
10462
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
10420
- # A `binding` binds one or more `members` to a single `role`. Members can be
10421
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
10422
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
10423
- # role or a user-created custom role. For some types of Google Cloud resources,
10424
- # a `binding` can also specify a `condition`, which is a logical expression that
10425
- # allows access to a resource only if the expression evaluates to `true`. A
10426
- # condition can add constraints based on attributes of the request, the resource,
10427
- # or both. To learn which resources support conditions in their IAM policies,
10428
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
10429
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
10430
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
10431
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
10432
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
10433
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
10434
- # title": "expirable access", "description": "Does not grant access after Sep
10435
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
10436
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
10437
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
10438
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
10439
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
10440
- # roles/resourcemanager.organizationViewer condition: title: expirable access
10441
- # description: Does not grant access after Sep 2020 expression: request.time <
10442
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
10443
- # description of IAM and its features, see the [IAM documentation](https://cloud.
10444
- # google.com/iam/docs/).
10463
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
10464
+ # Principals can be user accounts, service accounts, Google groups, and domains (
10465
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
10466
+ # an IAM predefined role or a user-created custom role. For some types of Google
10467
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
10468
+ # logical expression that allows access to a resource only if the expression
10469
+ # evaluates to `true`. A condition can add constraints based on attributes of
10470
+ # the request, the resource, or both. To learn which resources support
10471
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
10472
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
10473
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
10474
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
10475
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
10476
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
10477
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
10478
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
10479
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
10480
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
10481
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
10482
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
10483
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
10484
+ # access description: Does not grant access after Sep 2020 expression: request.
10485
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
10486
+ # a description of IAM and its features, see the [IAM documentation](https://
10487
+ # cloud.google.com/iam/docs/).
10445
10488
  # Corresponds to the JSON property `policy`
10446
10489
  # @return [Google::Apis::ComputeAlpha::Policy]
10447
10490
  attr_accessor :policy
@@ -10597,8 +10640,11 @@ module Google
10597
10640
  class GuestOsFeature
10598
10641
  include Google::Apis::Core::Hashable
10599
10642
 
10600
- # The ID of a supported feature. Read Enabling guest operating system features
10601
- # to see a list of available options.
10643
+ # The ID of a supported feature. To add multiple values, use commas to separate
10644
+ # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
10645
+ # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - SECURE_BOOT - GVNIC -
10646
+ # SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE For more information, see Enabling
10647
+ # guest operating system features.
10602
10648
  # Corresponds to the JSON property `type`
10603
10649
  # @return [String]
10604
10650
  attr_accessor :type
@@ -12008,7 +12054,8 @@ module Google
12008
12054
  # port numbers in the format host:port. * matches any string of ([a-z0-9-.]*).
12009
12055
  # In that case, * must be the first character and must be followed in the
12010
12056
  # pattern by either - or .. * based matching is not supported when the URL map
12011
- # is bound to target gRPC proxy that has validateForProxyless field set to true.
12057
+ # is bound to a target gRPC proxy that has the validateForProxyless field set to
12058
+ # true.
12012
12059
  # Corresponds to the JSON property `hosts`
12013
12060
  # @return [Array<String>]
12014
12061
  attr_accessor :hosts
@@ -12035,8 +12082,8 @@ module Google
12035
12082
  class HttpFaultAbort
12036
12083
  include Google::Apis::Core::Hashable
12037
12084
 
12038
- # The HTTP status code used to abort the request. The value must be between 200
12039
- # and 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
12085
+ # The HTTP status code used to abort the request. The value must be from 200 to
12086
+ # 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
12040
12087
  # status code according to this mapping table. HTTP status 200 is mapped to gRPC
12041
12088
  # status UNKNOWN. Injecting an OK status is currently not supported by Traffic
12042
12089
  # Director.
@@ -12044,8 +12091,8 @@ module Google
12044
12091
  # @return [Fixnum]
12045
12092
  attr_accessor :http_status
12046
12093
 
12047
- # The percentage of traffic (connections/operations/requests) which will be
12048
- # aborted as part of fault injection. The value must be between 0.0 and 100.0
12094
+ # The percentage of traffic for connections, operations, or requests that is
12095
+ # aborted as part of fault injection. The value must be from 0.0 to 100.0
12049
12096
  # inclusive.
12050
12097
  # Corresponds to the JSON property `percentage`
12051
12098
  # @return [Float]
@@ -12062,8 +12109,8 @@ module Google
12062
12109
  end
12063
12110
  end
12064
12111
 
12065
- # Specifies the delay introduced by Loadbalancer before forwarding the request
12066
- # to the backend service as part of fault injection.
12112
+ # Specifies the delay introduced by the load balancer before forwarding the
12113
+ # request to the backend service as part of fault injection.
12067
12114
  class HttpFaultDelay
12068
12115
  include Google::Apis::Core::Hashable
12069
12116
 
@@ -12075,9 +12122,9 @@ module Google
12075
12122
  # @return [Google::Apis::ComputeAlpha::Duration]
12076
12123
  attr_accessor :fixed_delay
12077
12124
 
12078
- # The percentage of traffic (connections/operations/requests) on which delay
12079
- # will be introduced as part of fault injection. The value must be between 0.0
12080
- # and 100.0 inclusive.
12125
+ # The percentage of traffic for connections, operations, or requests for which a
12126
+ # delay is introduced as part of fault injection. The value must be from 0.0 to
12127
+ # 100.0 inclusive.
12081
12128
  # Corresponds to the JSON property `percentage`
12082
12129
  # @return [Float]
12083
12130
  attr_accessor :percentage
@@ -12096,9 +12143,9 @@ module Google
12096
12143
  # The specification for fault injection introduced into traffic to test the
12097
12144
  # resiliency of clients to backend service failure. As part of fault injection,
12098
12145
  # when clients send requests to a backend service, delays can be introduced by
12099
- # Loadbalancer on a percentage of requests before sending those request to the
12100
- # backend service. Similarly requests from clients can be aborted by the
12101
- # Loadbalancer for a percentage of requests.
12146
+ # the load balancer on a percentage of requests before sending those request to
12147
+ # the backend service. Similarly requests from clients can be aborted by the
12148
+ # load balancer for a percentage of requests.
12102
12149
  class HttpFaultInjection
12103
12150
  include Google::Apis::Core::Hashable
12104
12151
 
@@ -12107,8 +12154,8 @@ module Google
12107
12154
  # @return [Google::Apis::ComputeAlpha::HttpFaultAbort]
12108
12155
  attr_accessor :abort
12109
12156
 
12110
- # Specifies the delay introduced by Loadbalancer before forwarding the request
12111
- # to the backend service as part of fault injection.
12157
+ # Specifies the delay introduced by the load balancer before forwarding the
12158
+ # request to the backend service as part of fault injection.
12112
12159
  # Corresponds to the JSON property `delay`
12113
12160
  # @return [Google::Apis::ComputeAlpha::HttpFaultDelay]
12114
12161
  attr_accessor :delay
@@ -12166,25 +12213,25 @@ module Google
12166
12213
  class HttpHeaderAction
12167
12214
  include Google::Apis::Core::Hashable
12168
12215
 
12169
- # Headers to add to a matching request prior to forwarding the request to the
12216
+ # Headers to add to a matching request before forwarding the request to the
12170
12217
  # backendService.
12171
12218
  # Corresponds to the JSON property `requestHeadersToAdd`
12172
12219
  # @return [Array<Google::Apis::ComputeAlpha::HttpHeaderOption>]
12173
12220
  attr_accessor :request_headers_to_add
12174
12221
 
12175
12222
  # A list of header names for headers that need to be removed from the request
12176
- # prior to forwarding the request to the backendService.
12223
+ # before forwarding the request to the backendService.
12177
12224
  # Corresponds to the JSON property `requestHeadersToRemove`
12178
12225
  # @return [Array<String>]
12179
12226
  attr_accessor :request_headers_to_remove
12180
12227
 
12181
- # Headers to add the response prior to sending the response back to the client.
12228
+ # Headers to add the response before sending the response back to the client.
12182
12229
  # Corresponds to the JSON property `responseHeadersToAdd`
12183
12230
  # @return [Array<Google::Apis::ComputeAlpha::HttpHeaderOption>]
12184
12231
  attr_accessor :response_headers_to_add
12185
12232
 
12186
12233
  # A list of header names for headers that need to be removed from the response
12187
- # prior to sending the response back to the client.
12234
+ # before sending the response back to the client.
12188
12235
  # Corresponds to the JSON property `responseHeadersToRemove`
12189
12236
  # @return [Array<String>]
12190
12237
  attr_accessor :response_headers_to_remove
@@ -12214,21 +12261,21 @@ module Google
12214
12261
 
12215
12262
  # The name of the HTTP header to match. For matching against the HTTP request's
12216
12263
  # authority, use a headerMatch with the header name ":authority". For matching a
12217
- # request's method, use the headerName ":method". When the URL map is bound to
12218
- # target gRPC proxy that has validateForProxyless field set to true, only non-
12219
- # binary user-specified custom metadata and the `content-type` header are
12264
+ # request's method, use the headerName ":method". When the URL map is bound to a
12265
+ # target gRPC proxy that has the validateForProxyless field set to true, only
12266
+ # non-binary user-specified custom metadata and the `content-type` header are
12220
12267
  # supported. The following transport-level headers cannot be used in header
12221
12268
  # matching rules: `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, `
12222
12269
  # accept-encoding`, `content-encoding`, `grpc-accept-encoding`, `grpc-encoding`,
12223
12270
  # `grpc-previous-rpc-attempts`, `grpc-tags-bin`, `grpc-timeout` and `grpc-trace-
12224
- # bin.
12271
+ # bin`.
12225
12272
  # Corresponds to the JSON property `headerName`
12226
12273
  # @return [String]
12227
12274
  attr_accessor :header_name
12228
12275
 
12229
- # If set to false, the headerMatch is considered a match if the match criteria
12230
- # above are met. If set to true, the headerMatch is considered a match if the
12231
- # match criteria above are NOT met. The default setting is false.
12276
+ # If set to false, the headerMatch is considered a match if the preceding match
12277
+ # criteria are met. If set to true, the headerMatch is considered a match if the
12278
+ # preceding match criteria are NOT met. The default setting is false.
12232
12279
  # Corresponds to the JSON property `invertMatch`
12233
12280
  # @return [Boolean]
12234
12281
  attr_accessor :invert_match
@@ -12256,13 +12303,13 @@ module Google
12256
12303
  attr_accessor :range_match
12257
12304
 
12258
12305
  # The value of the header must match the regular expression specified in
12259
- # regexMatch. For regular expression grammar, please see: github.com/google/re2/
12260
- # wiki/Syntax For matching against a port specified in the HTTP request, use a
12261
- # headerMatch with headerName set to PORT and a regular expression that
12262
- # satisfies the RFC2616 Host header's port specifier. Only one of exactMatch,
12263
- # prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.
12264
- # Note that regexMatch only applies to Loadbalancers that have their
12265
- # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
12306
+ # regexMatch. For more information about regular expression syntax, see Syntax.
12307
+ # For matching against a port specified in the HTTP request, use a headerMatch
12308
+ # with headerName set to PORT and a regular expression that satisfies the
12309
+ # RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch,
12310
+ # suffixMatch, regexMatch, presentMatch or rangeMatch must be set. regexMatch
12311
+ # only applies to load balancers that have loadBalancingScheme set to
12312
+ # INTERNAL_SELF_MANAGED.
12266
12313
  # Corresponds to the JSON property `regexMatch`
12267
12314
  # @return [String]
12268
12315
  attr_accessor :regex_match
@@ -12563,8 +12610,8 @@ module Google
12563
12610
  include Google::Apis::Core::Hashable
12564
12611
 
12565
12612
  # The queryParameterMatch matches if the value of the parameter exactly matches
12566
- # the contents of exactMatch. Only one of presentMatch, exactMatch or regexMatch
12567
- # must be set.
12613
+ # the contents of exactMatch. Only one of presentMatch, exactMatch, or
12614
+ # regexMatch must be set.
12568
12615
  # Corresponds to the JSON property `exactMatch`
12569
12616
  # @return [String]
12570
12617
  attr_accessor :exact_match
@@ -12577,17 +12624,17 @@ module Google
12577
12624
 
12578
12625
  # Specifies that the queryParameterMatch matches if the request contains the
12579
12626
  # query parameter, irrespective of whether the parameter has a value or not.
12580
- # Only one of presentMatch, exactMatch or regexMatch must be set.
12627
+ # Only one of presentMatch, exactMatch, or regexMatch must be set.
12581
12628
  # Corresponds to the JSON property `presentMatch`
12582
12629
  # @return [Boolean]
12583
12630
  attr_accessor :present_match
12584
12631
  alias_method :present_match?, :present_match
12585
12632
 
12586
12633
  # The queryParameterMatch matches if the value of the parameter matches the
12587
- # regular expression specified by regexMatch. For the regular expression grammar,
12588
- # please see github.com/google/re2/wiki/Syntax Only one of presentMatch,
12589
- # exactMatch or regexMatch must be set. Note that regexMatch only applies when
12590
- # the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.
12634
+ # regular expression specified by regexMatch. For more information about regular
12635
+ # expression syntax, see Syntax. Only one of presentMatch, exactMatch, or
12636
+ # regexMatch must be set. regexMatch only applies when the loadBalancingScheme
12637
+ # is set to INTERNAL_SELF_MANAGED.
12591
12638
  # Corresponds to the JSON property `regexMatch`
12592
12639
  # @return [String]
12593
12640
  attr_accessor :regex_match
@@ -12609,15 +12656,15 @@ module Google
12609
12656
  class HttpRedirectAction
12610
12657
  include Google::Apis::Core::Hashable
12611
12658
 
12612
- # The host that will be used in the redirect response instead of the one that
12613
- # was supplied in the request. The value must be between 1 and 255 characters.
12659
+ # The host that is used in the redirect response instead of the one that was
12660
+ # supplied in the request. The value must be from 1 to 255 characters.
12614
12661
  # Corresponds to the JSON property `hostRedirect`
12615
12662
  # @return [String]
12616
12663
  attr_accessor :host_redirect
12617
12664
 
12618
- # If set to true, the URL scheme in the redirected request is set to https. If
12619
- # set to false, the URL scheme of the redirected request will remain the same as
12620
- # that of the request. This must only be set for UrlMaps used in
12665
+ # If set to true, the URL scheme in the redirected request is set to HTTPS. If
12666
+ # set to false, the URL scheme of the redirected request remains the same as
12667
+ # that of the request. This must only be set for URL maps used in
12621
12668
  # TargetHttpProxys. Setting this true for TargetHttpsProxy is not permitted. The
12622
12669
  # default is set to false.
12623
12670
  # Corresponds to the JSON property `httpsRedirect`
@@ -12625,11 +12672,11 @@ module Google
12625
12672
  attr_accessor :https_redirect
12626
12673
  alias_method :https_redirect?, :https_redirect
12627
12674
 
12628
- # The path that will be used in the redirect response instead of the one that
12629
- # was supplied in the request. pathRedirect cannot be supplied together with
12675
+ # The path that is used in the redirect response instead of the one that was
12676
+ # supplied in the request. pathRedirect cannot be supplied together with
12630
12677
  # prefixRedirect. Supply one alone or neither. If neither is supplied, the path
12631
- # of the original request will be used for the redirect. The value must be
12632
- # between 1 and 1024 characters.
12678
+ # of the original request is used for the redirect. The value must be from 1 to
12679
+ # 1024 characters.
12633
12680
  # Corresponds to the JSON property `pathRedirect`
12634
12681
  # @return [String]
12635
12682
  attr_accessor :path_redirect
@@ -12637,8 +12684,8 @@ module Google
12637
12684
  # The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
12638
12685
  # retaining the remaining portion of the URL before redirecting the request.
12639
12686
  # prefixRedirect cannot be supplied together with pathRedirect. Supply one alone
12640
- # or neither. If neither is supplied, the path of the original request will be
12641
- # used for the redirect. The value must be between 1 and 1024 characters.
12687
+ # or neither. If neither is supplied, the path of the original request is used
12688
+ # for the redirect. The value must be from 1 to 1024 characters.
12642
12689
  # Corresponds to the JSON property `prefixRedirect`
12643
12690
  # @return [String]
12644
12691
  attr_accessor :prefix_redirect
@@ -12647,14 +12694,14 @@ module Google
12647
12694
  # MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. -
12648
12695
  # FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. -
12649
12696
  # TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
12650
- # will be retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case,
12651
- # the request method will be retained.
12697
+ # is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the
12698
+ # request method is retained.
12652
12699
  # Corresponds to the JSON property `redirectResponseCode`
12653
12700
  # @return [String]
12654
12701
  attr_accessor :redirect_response_code
12655
12702
 
12656
12703
  # If set to true, any accompanying query portion of the original URL is removed
12657
- # prior to redirecting the request. If set to false, the query portion of the
12704
+ # before redirecting the request. If set to false, the query portion of the
12658
12705
  # original URL is retained. The default is set to false.
12659
12706
  # Corresponds to the JSON property `stripQuery`
12660
12707
  # @return [Boolean]
@@ -12695,25 +12742,27 @@ module Google
12695
12742
  attr_accessor :per_try_timeout
12696
12743
 
12697
12744
  # Specifies one or more conditions when this retry policy applies. Valid values
12698
- # are: - 5xx: Retry will be attempted if the instance or endpoint responds with
12699
- # any 5xx response code, or if the instance or endpoint does not respond at all,
12700
- # example: disconnects, reset, read timeout, connection failure, and refused
12745
+ # are: - 5xx: retry is attempted if the instance or endpoint responds with any
12746
+ # 5xx response code, or if the instance or endpoint does not respond at all. For
12747
+ # example, disconnects, reset, read timeout, connection failure, and refused
12701
12748
  # streams. - gateway-error: Similar to 5xx, but only applies to response codes
12702
- # 502, 503 or 504. - - connect-failure: A retry will be attempted on failures
12703
- # connecting to the instance or endpoint, for example due to connection timeouts.
12704
- # - retriable-4xx: A retry will be attempted if the instance or endpoint
12705
- # responds with a retriable 4xx response code. Currently the only retriable
12706
- # error supported is 409. - refused-stream: A retry will be attempted if the
12707
- # instance or endpoint resets the stream with a REFUSED_STREAM error code. This
12708
- # reset type indicates that it is safe to retry. - cancelled: A retry will be
12709
- # attempted if the gRPC status code in the response header is set to cancelled. -
12710
- # deadline-exceeded: A retry will be attempted if the gRPC status code in the
12711
- # response header is set to deadline-exceeded. - internal: A retry will be
12712
- # attempted if the gRPC status code in the response header is set to internal. -
12713
- # resource-exhausted: A retry will be attempted if the gRPC status code in the
12714
- # response header is set to resource-exhausted. - unavailable: A retry will be
12715
- # attempted if the gRPC status code in the response header is set to unavailable.
12716
- #
12749
+ # 502, 503 or 504. - connect-failure: a retry is attempted on failures
12750
+ # connecting to the instance or endpoint. For example, connection timeouts. -
12751
+ # retriable-4xx: a retry is attempted if the instance or endpoint responds with
12752
+ # a 4xx response code. The only error that you can retry is error code 409. -
12753
+ # refused-stream: a retry is attempted if the instance or endpoint resets the
12754
+ # stream with a REFUSED_STREAM error code. This reset type indicates that it is
12755
+ # safe to retry. - cancelled: a retry is attempted if the gRPC status code in
12756
+ # the response header is set to cancelled. - deadline-exceeded: a retry is
12757
+ # attempted if the gRPC status code in the response header is set to deadline-
12758
+ # exceeded. - internal: a retry is attempted if the gRPC status code in the
12759
+ # response header is set to internal. - resource-exhausted: a retry is attempted
12760
+ # if the gRPC status code in the response header is set to resource-exhausted. -
12761
+ # unavailable: a retry is attempted if the gRPC status code in the response
12762
+ # header is set to unavailable. Only the following codes are supported when the
12763
+ # URL map is bound to target gRPC proxy that has validateForProxyless field set
12764
+ # to true. - cancelled - deadline-exceeded - internal - resource-exhausted -
12765
+ # unavailable
12717
12766
  # Corresponds to the JSON property `retryConditions`
12718
12767
  # @return [Array<String>]
12719
12768
  attr_accessor :retry_conditions
@@ -12734,8 +12783,9 @@ module Google
12734
12783
  class HttpRouteAction
12735
12784
  include Google::Apis::Core::Hashable
12736
12785
 
12737
- # The specification for allowing client side cross-origin requests. Please see
12738
- # W3C Recommendation for Cross Origin Resource Sharing
12786
+ # The specification for allowing client-side cross-origin requests. For more
12787
+ # information about the W3C recommendation for cross-origin resource sharing (
12788
+ # CORS), see Fetch API Living Standard.
12739
12789
  # Corresponds to the JSON property `corsPolicy`
12740
12790
  # @return [Google::Apis::ComputeAlpha::CorsPolicy]
12741
12791
  attr_accessor :cors_policy
@@ -12743,9 +12793,9 @@ module Google
12743
12793
  # The specification for fault injection introduced into traffic to test the
12744
12794
  # resiliency of clients to backend service failure. As part of fault injection,
12745
12795
  # when clients send requests to a backend service, delays can be introduced by
12746
- # Loadbalancer on a percentage of requests before sending those request to the
12747
- # backend service. Similarly requests from clients can be aborted by the
12748
- # Loadbalancer for a percentage of requests.
12796
+ # the load balancer on a percentage of requests before sending those request to
12797
+ # the backend service. Similarly requests from clients can be aborted by the
12798
+ # load balancer for a percentage of requests.
12749
12799
  # Corresponds to the JSON property `faultInjectionPolicy`
12750
12800
  # @return [Google::Apis::ComputeAlpha::HttpFaultInjection]
12751
12801
  attr_accessor :fault_injection_policy
@@ -12759,9 +12809,9 @@ module Google
12759
12809
  attr_accessor :max_stream_duration
12760
12810
 
12761
12811
  # A policy that specifies how requests intended for the route's backends are
12762
- # shadowed to a separate mirrored backend service. Loadbalancer does not wait
12763
- # for responses from the shadow service. Prior to sending traffic to the shadow
12764
- # service, the host / authority header is suffixed with -shadow.
12812
+ # shadowed to a separate mirrored backend service. The load balancer doesn't
12813
+ # wait for responses from the shadow service. Before sending traffic to the
12814
+ # shadow service, the host or authority header is suffixed with -shadow.
12765
12815
  # Corresponds to the JSON property `requestMirrorPolicy`
12766
12816
  # @return [Google::Apis::ComputeAlpha::RequestMirrorPolicy]
12767
12817
  attr_accessor :request_mirror_policy
@@ -12789,7 +12839,7 @@ module Google
12789
12839
  # occurs. The weights determine the fraction of traffic that flows to their
12790
12840
  # corresponding backend service. If all traffic needs to go to a single backend
12791
12841
  # service, there must be one weightedBackendService with weight set to a non-
12792
- # zero number. Once a backendService is identified and before forwarding the
12842
+ # zero number. After a backend service is identified and before forwarding the
12793
12843
  # request to the backend service, advanced routing actions such as URL rewrites
12794
12844
  # and header transformations are applied depending on additional settings
12795
12845
  # specified in this HttpRouteAction.
@@ -12814,8 +12864,8 @@ module Google
12814
12864
  end
12815
12865
  end
12816
12866
 
12817
- # An HttpRouteRule specifies how to match an HTTP request and the corresponding
12818
- # routing action that load balancing proxies will perform.
12867
+ # The HttpRouteRule setting specifies how to match an HTTP request and the
12868
+ # corresponding routing action that load balancing proxies perform.
12819
12869
  class HttpRouteRule
12820
12870
  include Google::Apis::Core::Hashable
12821
12871
 
@@ -12832,9 +12882,9 @@ module Google
12832
12882
  attr_accessor :header_action
12833
12883
 
12834
12884
  # Outbound route specific configuration for networkservices.HttpFilter resources
12835
- # enabled by Traffic Director. httpFilterConfigs only applies for Loadbalancers
12885
+ # enabled by Traffic Director. httpFilterConfigs only applies for load balancers
12836
12886
  # with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for
12837
- # more details. Not supported when the URL map is bound to target gRPC proxy
12887
+ # more details. Not supported when the URL map is bound to a target gRPC proxy
12838
12888
  # that has validateForProxyless field set to true.
12839
12889
  # Corresponds to the JSON property `httpFilterConfigs`
12840
12890
  # @return [Array<Google::Apis::ComputeAlpha::HttpFilterConfig>]
@@ -12842,10 +12892,10 @@ module Google
12842
12892
 
12843
12893
  # Outbound route specific metadata supplied to networkservices.HttpFilter
12844
12894
  # resources enabled by Traffic Director. httpFilterMetadata only applies for
12845
- # Loadbalancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See
12895
+ # load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See
12846
12896
  # ForwardingRule for more details. The only configTypeUrl supported is type.
12847
12897
  # googleapis.com/google.protobuf.Struct Not supported when the URL map is bound
12848
- # to target gRPC proxy that has validateForProxyless field set to true.
12898
+ # to a target gRPC proxy that has validateForProxyless field set to true.
12849
12899
  # Corresponds to the JSON property `httpFilterMetadata`
12850
12900
  # @return [Array<Google::Apis::ComputeAlpha::HttpFilterConfig>]
12851
12901
  attr_accessor :http_filter_metadata
@@ -12860,11 +12910,11 @@ module Google
12860
12910
  attr_accessor :match_rules
12861
12911
 
12862
12912
  # For routeRules within a given pathMatcher, priority determines the order in
12863
- # which load balancer will interpret routeRules. RouteRules are evaluated in
12864
- # order of priority, from the lowest to highest number. The priority of a rule
12913
+ # which a load balancer interprets routeRules. RouteRules are evaluated in order
12914
+ # of priority, from the lowest to highest number. The priority of a rule
12865
12915
  # decreases as its number increases (1, 2, 3, N+1). The first rule that matches
12866
12916
  # the request is applied. You cannot configure two or more routeRules with the
12867
- # same priority. Priority for each rule must be set to a number between 0 and
12917
+ # same priority. Priority for each rule must be set to a number from 0 to
12868
12918
  # 2147483647 inclusive. Priority numbers can have gaps, which enable you to add
12869
12919
  # or remove rules in the future without affecting the rest of the rules. For
12870
12920
  # example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to
@@ -12875,24 +12925,24 @@ module Google
12875
12925
  attr_accessor :priority
12876
12926
 
12877
12927
  # In response to a matching matchRule, the load balancer performs advanced
12878
- # routing actions like URL rewrites, header transformations, etc. prior to
12928
+ # routing actions, such as URL rewrites and header transformations, before
12879
12929
  # forwarding the request to the selected backend. If routeAction specifies any
12880
12930
  # weightedBackendServices, service must not be set. Conversely if service is set,
12881
12931
  # routeAction cannot contain any weightedBackendServices. Only one of
12882
12932
  # urlRedirect, service or routeAction.weightedBackendService must be set.
12883
12933
  # UrlMaps for external HTTP(S) load balancers support only the urlRewrite action
12884
- # within a routeRule's routeAction.
12934
+ # within a route rule's routeAction.
12885
12935
  # Corresponds to the JSON property `routeAction`
12886
12936
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
12887
12937
  attr_accessor :route_action
12888
12938
 
12889
12939
  # The full or partial URL of the backend service resource to which traffic is
12890
- # directed if this rule is matched. If routeAction is additionally specified,
12891
- # advanced routing actions like URL Rewrites, etc. take effect prior to sending
12892
- # the request to the backend. However, if service is specified, routeAction
12893
- # cannot contain any weightedBackendService s. Conversely, if routeAction
12894
- # specifies any weightedBackendServices, service must not be specified. Only one
12895
- # of urlRedirect, service or routeAction.weightedBackendService must be set.
12940
+ # directed if this rule is matched. If routeAction is also specified, advanced
12941
+ # routing actions, such as URL rewrites, take effect before sending the request
12942
+ # to the backend. However, if service is specified, routeAction cannot contain
12943
+ # any weightedBackendServices. Conversely, if routeAction specifies any
12944
+ # weightedBackendServices, service must not be specified. Only one of
12945
+ # urlRedirect, service or routeAction.weightedBackendService must be set.
12896
12946
  # Corresponds to the JSON property `service`
12897
12947
  # @return [String]
12898
12948
  attr_accessor :service
@@ -12927,9 +12977,9 @@ module Google
12927
12977
 
12928
12978
  # For satisfying the matchRule condition, the path of the request must exactly
12929
12979
  # match the value specified in fullPathMatch after removing any query parameters
12930
- # and anchor that may be part of the original URL. fullPathMatch must be between
12931
- # 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
12932
- # must be specified.
12980
+ # and anchor that may be part of the original URL. fullPathMatch must be from 1
12981
+ # to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
12982
+ # be specified.
12933
12983
  # Corresponds to the JSON property `fullPathMatch`
12934
12984
  # @return [String]
12935
12985
  attr_accessor :full_path_match
@@ -12942,53 +12992,52 @@ module Google
12942
12992
 
12943
12993
  # Specifies that prefixMatch and fullPathMatch matches are case sensitive. The
12944
12994
  # default value is false. ignoreCase must not be used with regexMatch. Not
12945
- # supported when the URL map is bound to target gRPC proxy.
12995
+ # supported when the URL map is bound to a target gRPC proxy.
12946
12996
  # Corresponds to the JSON property `ignoreCase`
12947
12997
  # @return [Boolean]
12948
12998
  attr_accessor :ignore_case
12949
12999
  alias_method :ignore_case?, :ignore_case
12950
13000
 
12951
- # Opaque filter criteria used by Loadbalancer to restrict routing configuration
12952
- # to a limited set of xDS compliant clients. In their xDS requests to
12953
- # Loadbalancer, xDS clients present node metadata. When there is a match, the
12954
- # relevant routing configuration is made available to those proxies. For each
12955
- # metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
12956
- # at least one of the filterLabels must match the corresponding label provided
12957
- # in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
12958
- # its filterLabels must match with corresponding labels provided in the metadata.
12959
- # If multiple metadataFilters are specified, all of them need to be satisfied
12960
- # in order to be considered a match. metadataFilters specified here will be
13001
+ # Opaque filter criteria used by the load balancer to restrict routing
13002
+ # configuration to a limited set of xDS compliant clients. In their xDS requests
13003
+ # to the load balancer, xDS clients present node metadata. When there is a match,
13004
+ # the relevant routing configuration is made available to those proxies. For
13005
+ # each metadataFilter in this list, if its filterMatchCriteria is set to
13006
+ # MATCH_ANY, at least one of the filterLabels must match the corresponding label
13007
+ # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
13008
+ # all of its filterLabels must match with corresponding labels provided in the
13009
+ # metadata. If multiple metadata filters are specified, all of them need to be
13010
+ # satisfied in order to be considered a match. metadataFilters specified here is
12961
13011
  # applied after those specified in ForwardingRule that refers to the UrlMap this
12962
- # HttpRouteRuleMatch belongs to. metadataFilters only applies to Loadbalancers
12963
- # that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not
12964
- # supported when the URL map is bound to target gRPC proxy that has
12965
- # validateForProxyless field set to true.
13012
+ # HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers
13013
+ # that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when
13014
+ # the URL map is bound to a target gRPC proxy that has validateForProxyless
13015
+ # field set to true.
12966
13016
  # Corresponds to the JSON property `metadataFilters`
12967
13017
  # @return [Array<Google::Apis::ComputeAlpha::MetadataFilter>]
12968
13018
  attr_accessor :metadata_filters
12969
13019
 
12970
13020
  # For satisfying the matchRule condition, the request's path must begin with the
12971
- # specified prefixMatch. prefixMatch must begin with a /. The value must be
12972
- # between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
12973
- # regexMatch must be specified.
13021
+ # specified prefixMatch. prefixMatch must begin with a /. The value must be from
13022
+ # 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
13023
+ # must be specified.
12974
13024
  # Corresponds to the JSON property `prefixMatch`
12975
13025
  # @return [String]
12976
13026
  attr_accessor :prefix_match
12977
13027
 
12978
13028
  # Specifies a list of query parameter match criteria, all of which must match
12979
13029
  # corresponding query parameters in the request. Not supported when the URL map
12980
- # is bound to target gRPC proxy.
13030
+ # is bound to a target gRPC proxy.
12981
13031
  # Corresponds to the JSON property `queryParameterMatches`
12982
13032
  # @return [Array<Google::Apis::ComputeAlpha::HttpQueryParameterMatch>]
12983
13033
  attr_accessor :query_parameter_matches
12984
13034
 
12985
13035
  # For satisfying the matchRule condition, the path of the request must satisfy
12986
13036
  # the regular expression specified in regexMatch after removing any query
12987
- # parameters and anchor supplied with the original URL. For regular expression
12988
- # grammar please see github.com/google/re2/wiki/Syntax Only one of prefixMatch,
12989
- # fullPathMatch or regexMatch must be specified. Note that regexMatch only
12990
- # applies to Loadbalancers that have their loadBalancingScheme set to
12991
- # INTERNAL_SELF_MANAGED.
13037
+ # parameters and anchor supplied with the original URL. For more information
13038
+ # about regular expression syntax, see Syntax. Only one of prefixMatch,
13039
+ # fullPathMatch or regexMatch must be specified. regexMatch only applies to load
13040
+ # balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED.
12992
13041
  # Corresponds to the JSON property `regexMatch`
12993
13042
  # @return [String]
12994
13043
  attr_accessor :regex_match
@@ -13247,6 +13296,11 @@ module Google
13247
13296
  class Image
13248
13297
  include Google::Apis::Core::Hashable
13249
13298
 
13299
+ # The architecture of the image. Valid values are ARM64 or X86_64.
13300
+ # Corresponds to the JSON property `architecture`
13301
+ # @return [String]
13302
+ attr_accessor :architecture
13303
+
13250
13304
  # Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).
13251
13305
  # Corresponds to the JSON property `archiveSizeBytes`
13252
13306
  # @return [Fixnum]
@@ -13282,8 +13336,8 @@ module Google
13282
13336
  attr_accessor :family
13283
13337
 
13284
13338
  # A list of features to enable on the guest operating system. Applicable only
13285
- # for bootable images. Read Enabling guest operating system features to see a
13286
- # list of available options.
13339
+ # for bootable images. To see a list of available options, see the
13340
+ # guestOSfeatures[].type parameter.
13287
13341
  # Corresponds to the JSON property `guestOsFeatures`
13288
13342
  # @return [Array<Google::Apis::ComputeAlpha::GuestOsFeature>]
13289
13343
  attr_accessor :guest_os_features
@@ -13502,6 +13556,7 @@ module Google
13502
13556
 
13503
13557
  # Update properties of this object
13504
13558
  def update!(**args)
13559
+ @architecture = args[:architecture] if args.key?(:architecture)
13505
13560
  @archive_size_bytes = args[:archive_size_bytes] if args.key?(:archive_size_bytes)
13506
13561
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
13507
13562
  @deprecated = args[:deprecated] if args.key?(:deprecated)
@@ -13716,264 +13771,6 @@ module Google
13716
13771
  end
13717
13772
  end
13718
13773
 
13719
- # Represents a InPlaceSnapshot resource. You can use in-place snapshots to
13720
- # create disk rollback points quickly..
13721
- class InPlaceSnapshot
13722
- include Google::Apis::Core::Hashable
13723
-
13724
- # [Output Only] Creation timestamp in RFC3339 text format.
13725
- # Corresponds to the JSON property `creationTimestamp`
13726
- # @return [String]
13727
- attr_accessor :creation_timestamp
13728
-
13729
- # An optional description of this resource. Provide this property when you
13730
- # create the resource.
13731
- # Corresponds to the JSON property `description`
13732
- # @return [String]
13733
- attr_accessor :description
13734
-
13735
- # [Output Only] Size of the source disk, specified in GB.
13736
- # Corresponds to the JSON property `diskSizeGb`
13737
- # @return [Fixnum]
13738
- attr_accessor :disk_size_gb
13739
-
13740
- # Specifies to create an application consistent in-place snapshot by informing
13741
- # the OS to prepare for the snapshot process. Currently only supported on
13742
- # Windows instances using the Volume Shadow Copy Service (VSS).
13743
- # Corresponds to the JSON property `guestFlush`
13744
- # @return [Boolean]
13745
- attr_accessor :guest_flush
13746
- alias_method :guest_flush?, :guest_flush
13747
-
13748
- # [Output Only] The unique identifier for the resource. This identifier is
13749
- # defined by the server.
13750
- # Corresponds to the JSON property `id`
13751
- # @return [Fixnum]
13752
- attr_accessor :id
13753
-
13754
- # [Output Only] Type of the resource. Always compute#inPlaceSnapshot for
13755
- # InPlaceSnapshot resources.
13756
- # Corresponds to the JSON property `kind`
13757
- # @return [String]
13758
- attr_accessor :kind
13759
-
13760
- # A fingerprint for the labels being applied to this InPlaceSnapshot, which is
13761
- # essentially a hash of the labels set used for optimistic locking. The
13762
- # fingerprint is initially generated by Compute Engine and changes after every
13763
- # request to modify or update labels. You must always provide an up-to-date
13764
- # fingerprint hash in order to update or change labels, otherwise the request
13765
- # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
13766
- # a get() request to retrieve a InPlaceSnapshot.
13767
- # Corresponds to the JSON property `labelFingerprint`
13768
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
13769
- # @return [String]
13770
- attr_accessor :label_fingerprint
13771
-
13772
- # Labels to apply to this InPlaceSnapshot. These can be later modified by the
13773
- # setLabels method. Label values may be empty.
13774
- # Corresponds to the JSON property `labels`
13775
- # @return [Hash<String,String>]
13776
- attr_accessor :labels
13777
-
13778
- # Name of the resource; provided by the client when the resource is created. The
13779
- # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
13780
- # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
13781
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
13782
- # and all following characters must be a dash, lowercase letter, or digit,
13783
- # except the last character, which cannot be a dash.
13784
- # Corresponds to the JSON property `name`
13785
- # @return [String]
13786
- attr_accessor :name
13787
-
13788
- # [Output Only] URL of the region where the in-place snapshot resides. You must
13789
- # specify this field as part of the HTTP request URL. It is not settable as a
13790
- # field in the request body.
13791
- # Corresponds to the JSON property `region`
13792
- # @return [String]
13793
- attr_accessor :region
13794
-
13795
- # [Output Only] Server-defined URL for the resource.
13796
- # Corresponds to the JSON property `selfLink`
13797
- # @return [String]
13798
- attr_accessor :self_link
13799
-
13800
- # [Output Only] Server-defined URL for this resource's resource id.
13801
- # Corresponds to the JSON property `selfLinkWithId`
13802
- # @return [String]
13803
- attr_accessor :self_link_with_id
13804
-
13805
- # URL of the source disk used to create this in-place snapshot. Note that the
13806
- # source disk must be in the same zone/region as the in-place snapshot to be
13807
- # created. This can be a full or valid partial URL. For example, the following
13808
- # are valid values: - https://www.googleapis.com/compute/v1/projects/project/
13809
- # zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/
13810
- # disks/disk
13811
- # Corresponds to the JSON property `sourceDisk`
13812
- # @return [String]
13813
- attr_accessor :source_disk
13814
-
13815
- # [Output Only] The ID value of the disk used to create this InPlaceSnapshot.
13816
- # This value may be used to determine whether the InPlaceSnapshot was taken from
13817
- # the current or a previous instance of a given disk name.
13818
- # Corresponds to the JSON property `sourceDiskId`
13819
- # @return [String]
13820
- attr_accessor :source_disk_id
13821
-
13822
- # [Output Only] The status of the inPlaceSnapshot. This can be CREATING,
13823
- # DELETING, FAILED, or READY.
13824
- # Corresponds to the JSON property `status`
13825
- # @return [String]
13826
- attr_accessor :status
13827
-
13828
- # [Output Only] URL of the zone where the in-place snapshot resides. You must
13829
- # specify this field as part of the HTTP request URL. It is not settable as a
13830
- # field in the request body.
13831
- # Corresponds to the JSON property `zone`
13832
- # @return [String]
13833
- attr_accessor :zone
13834
-
13835
- def initialize(**args)
13836
- update!(**args)
13837
- end
13838
-
13839
- # Update properties of this object
13840
- def update!(**args)
13841
- @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
13842
- @description = args[:description] if args.key?(:description)
13843
- @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
13844
- @guest_flush = args[:guest_flush] if args.key?(:guest_flush)
13845
- @id = args[:id] if args.key?(:id)
13846
- @kind = args[:kind] if args.key?(:kind)
13847
- @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
13848
- @labels = args[:labels] if args.key?(:labels)
13849
- @name = args[:name] if args.key?(:name)
13850
- @region = args[:region] if args.key?(:region)
13851
- @self_link = args[:self_link] if args.key?(:self_link)
13852
- @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
13853
- @source_disk = args[:source_disk] if args.key?(:source_disk)
13854
- @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
13855
- @status = args[:status] if args.key?(:status)
13856
- @zone = args[:zone] if args.key?(:zone)
13857
- end
13858
- end
13859
-
13860
- # Contains a list of InPlaceSnapshot resources.
13861
- class InPlaceSnapshotList
13862
- include Google::Apis::Core::Hashable
13863
-
13864
- # [Output Only] Unique identifier for the resource; defined by the server.
13865
- # Corresponds to the JSON property `id`
13866
- # @return [String]
13867
- attr_accessor :id
13868
-
13869
- # A list of InPlaceSnapshot resources.
13870
- # Corresponds to the JSON property `items`
13871
- # @return [Array<Google::Apis::ComputeAlpha::InPlaceSnapshot>]
13872
- attr_accessor :items
13873
-
13874
- # Type of resource.
13875
- # Corresponds to the JSON property `kind`
13876
- # @return [String]
13877
- attr_accessor :kind
13878
-
13879
- # [Output Only] This token allows you to get the next page of results for list
13880
- # requests. If the number of results is larger than maxResults, use the
13881
- # nextPageToken as a value for the query parameter pageToken in the next list
13882
- # request. Subsequent list requests will have their own nextPageToken to
13883
- # continue paging through the results.
13884
- # Corresponds to the JSON property `nextPageToken`
13885
- # @return [String]
13886
- attr_accessor :next_page_token
13887
-
13888
- # [Output Only] Server-defined URL for this resource.
13889
- # Corresponds to the JSON property `selfLink`
13890
- # @return [String]
13891
- attr_accessor :self_link
13892
-
13893
- # [Output Only] Informational warning message.
13894
- # Corresponds to the JSON property `warning`
13895
- # @return [Google::Apis::ComputeAlpha::InPlaceSnapshotList::Warning]
13896
- attr_accessor :warning
13897
-
13898
- def initialize(**args)
13899
- update!(**args)
13900
- end
13901
-
13902
- # Update properties of this object
13903
- def update!(**args)
13904
- @id = args[:id] if args.key?(:id)
13905
- @items = args[:items] if args.key?(:items)
13906
- @kind = args[:kind] if args.key?(:kind)
13907
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
13908
- @self_link = args[:self_link] if args.key?(:self_link)
13909
- @warning = args[:warning] if args.key?(:warning)
13910
- end
13911
-
13912
- # [Output Only] Informational warning message.
13913
- class Warning
13914
- include Google::Apis::Core::Hashable
13915
-
13916
- # [Output Only] A warning code, if applicable. For example, Compute Engine
13917
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
13918
- # Corresponds to the JSON property `code`
13919
- # @return [String]
13920
- attr_accessor :code
13921
-
13922
- # [Output Only] Metadata about this warning in key: value format. For example: "
13923
- # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
13924
- # Corresponds to the JSON property `data`
13925
- # @return [Array<Google::Apis::ComputeAlpha::InPlaceSnapshotList::Warning::Datum>]
13926
- attr_accessor :data
13927
-
13928
- # [Output Only] A human-readable description of the warning code.
13929
- # Corresponds to the JSON property `message`
13930
- # @return [String]
13931
- attr_accessor :message
13932
-
13933
- def initialize(**args)
13934
- update!(**args)
13935
- end
13936
-
13937
- # Update properties of this object
13938
- def update!(**args)
13939
- @code = args[:code] if args.key?(:code)
13940
- @data = args[:data] if args.key?(:data)
13941
- @message = args[:message] if args.key?(:message)
13942
- end
13943
-
13944
- #
13945
- class Datum
13946
- include Google::Apis::Core::Hashable
13947
-
13948
- # [Output Only] A key that provides more detail on the warning being returned.
13949
- # For example, for warnings where there are no results in a list request for a
13950
- # particular zone, this key might be scope and the key value might be the zone
13951
- # name. Other examples might be a key indicating a deprecated resource and a
13952
- # suggested replacement, or a warning about invalid network settings (for
13953
- # example, if an instance attempts to perform IP forwarding but is not enabled
13954
- # for IP forwarding).
13955
- # Corresponds to the JSON property `key`
13956
- # @return [String]
13957
- attr_accessor :key
13958
-
13959
- # [Output Only] A warning data value corresponding to the key.
13960
- # Corresponds to the JSON property `value`
13961
- # @return [String]
13962
- attr_accessor :value
13963
-
13964
- def initialize(**args)
13965
- update!(**args)
13966
- end
13967
-
13968
- # Update properties of this object
13969
- def update!(**args)
13970
- @key = args[:key] if args.key?(:key)
13971
- @value = args[:value] if args.key?(:value)
13972
- end
13973
- end
13974
- end
13975
- end
13976
-
13977
13774
  # Initial State for shielded instance, these are public keys which are safe to
13978
13775
  # store in public
13979
13776
  class InitialStateConfig
@@ -14125,6 +13922,11 @@ module Google
14125
13922
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
14126
13923
  attr_accessor :instance_encryption_key
14127
13924
 
13925
+ # KeyRevocationActionType of the instance.
13926
+ # Corresponds to the JSON property `keyRevocationActionType`
13927
+ # @return [String]
13928
+ attr_accessor :key_revocation_action_type
13929
+
14128
13930
  # [Output Only] Type of the resource. Always compute#instance for instances.
14129
13931
  # Corresponds to the JSON property `kind`
14130
13932
  # @return [String]
@@ -14339,7 +14141,9 @@ module Google
14339
14141
  # @return [Google::Apis::ComputeAlpha::Tags]
14340
14142
  attr_accessor :tags
14341
14143
 
14342
- # Upcoming Maintenance notification information.
14144
+ # Upcoming Maintenance notification information. TODO(b/196881882) Deprecate
14145
+ # this proto once it's fully migrated to be under proto ResourceStatus.
14146
+ # UpcomingMaintenance.
14343
14147
  # Corresponds to the JSON property `upcomingMaintenance`
14344
14148
  # @return [Google::Apis::ComputeAlpha::UpcomingMaintenance]
14345
14149
  attr_accessor :upcoming_maintenance
@@ -14372,6 +14176,7 @@ module Google
14372
14176
  @hostname = args[:hostname] if args.key?(:hostname)
14373
14177
  @id = args[:id] if args.key?(:id)
14374
14178
  @instance_encryption_key = args[:instance_encryption_key] if args.key?(:instance_encryption_key)
14179
+ @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
14375
14180
  @kind = args[:kind] if args.key?(:kind)
14376
14181
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
14377
14182
  @labels = args[:labels] if args.key?(:labels)
@@ -14908,6 +14713,12 @@ module Google
14908
14713
  class InstanceGroupManager
14909
14714
  include Google::Apis::Core::Hashable
14910
14715
 
14716
+ # Specifies the instances configs overrides that should be applied for all
14717
+ # instances in the MIG.
14718
+ # Corresponds to the JSON property `allInstancesConfig`
14719
+ # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerAllInstancesConfig]
14720
+ attr_accessor :all_instances_config
14721
+
14911
14722
  # The autohealing policy for this managed instance group. You can specify only
14912
14723
  # one value.
14913
14724
  # Corresponds to the JSON property `autoHealingPolicies`
@@ -15029,7 +14840,7 @@ module Google
15029
14840
  # @return [String]
15030
14841
  attr_accessor :service_account
15031
14842
 
15032
- # Stanby policy for stopped and suspended instances.
14843
+ # Standby policy for stopped and suspended instances.
15033
14844
  # Corresponds to the JSON property `standbyPolicy`
15034
14845
  # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerStandbyPolicy]
15035
14846
  attr_accessor :standby_policy
@@ -15102,6 +14913,7 @@ module Google
15102
14913
 
15103
14914
  # Update properties of this object
15104
14915
  def update!(**args)
14916
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
15105
14917
  @auto_healing_policies = args[:auto_healing_policies] if args.key?(:auto_healing_policies)
15106
14918
  @base_instance_name = args[:base_instance_name] if args.key?(:base_instance_name)
15107
14919
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@@ -15373,10 +15185,34 @@ module Google
15373
15185
  end
15374
15186
  end
15375
15187
 
15188
+ #
15189
+ class InstanceGroupManagerAllInstancesConfig
15190
+ include Google::Apis::Core::Hashable
15191
+
15192
+ # Represents the change that you want to make to the instance properties.
15193
+ # Corresponds to the JSON property `properties`
15194
+ # @return [Google::Apis::ComputeAlpha::InstancePropertiesPatch]
15195
+ attr_accessor :properties
15196
+
15197
+ def initialize(**args)
15198
+ update!(**args)
15199
+ end
15200
+
15201
+ # Update properties of this object
15202
+ def update!(**args)
15203
+ @properties = args[:properties] if args.key?(:properties)
15204
+ end
15205
+ end
15206
+
15376
15207
  #
15377
15208
  class InstanceGroupManagerAutoHealingPolicy
15378
15209
  include Google::Apis::Core::Hashable
15379
15210
 
15211
+ # Restricts what triggers autohealing.
15212
+ # Corresponds to the JSON property `autoHealingTriggers`
15213
+ # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers]
15214
+ attr_accessor :auto_healing_triggers
15215
+
15380
15216
  # The URL for the health check that signals autohealing.
15381
15217
  # Corresponds to the JSON property `healthCheck`
15382
15218
  # @return [String]
@@ -15397,15 +15233,47 @@ module Google
15397
15233
  # @return [Google::Apis::ComputeAlpha::FixedOrPercent]
15398
15234
  attr_accessor :max_unavailable
15399
15235
 
15236
+ #
15237
+ # Corresponds to the JSON property `updateInstances`
15238
+ # @return [String]
15239
+ attr_accessor :update_instances
15240
+
15400
15241
  def initialize(**args)
15401
15242
  update!(**args)
15402
15243
  end
15403
15244
 
15404
15245
  # Update properties of this object
15405
15246
  def update!(**args)
15247
+ @auto_healing_triggers = args[:auto_healing_triggers] if args.key?(:auto_healing_triggers)
15406
15248
  @health_check = args[:health_check] if args.key?(:health_check)
15407
15249
  @initial_delay_sec = args[:initial_delay_sec] if args.key?(:initial_delay_sec)
15408
15250
  @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
15251
+ @update_instances = args[:update_instances] if args.key?(:update_instances)
15252
+ end
15253
+ end
15254
+
15255
+ #
15256
+ class InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers
15257
+ include Google::Apis::Core::Hashable
15258
+
15259
+ # If you have configured an application-based health check for the group, this
15260
+ # field controls whether to trigger VM autohealing based on a failed health
15261
+ # check. Valid values are: - ON (default): The group recreates running VMs that
15262
+ # fail the application-based health check. - OFF: When set to OFF, you can still
15263
+ # observe instance health state, but the group does not recreate VMs that fail
15264
+ # the application-based health check. This is useful for troubleshooting and
15265
+ # setting up your health check configuration.
15266
+ # Corresponds to the JSON property `onHealthCheck`
15267
+ # @return [String]
15268
+ attr_accessor :on_health_check
15269
+
15270
+ def initialize(**args)
15271
+ update!(**args)
15272
+ end
15273
+
15274
+ # Update properties of this object
15275
+ def update!(**args)
15276
+ @on_health_check = args[:on_health_check] if args.key?(:on_health_check)
15409
15277
  end
15410
15278
  end
15411
15279
 
@@ -15598,6 +15466,12 @@ module Google
15598
15466
  class InstanceGroupManagerStatus
15599
15467
  include Google::Apis::Core::Hashable
15600
15468
 
15469
+ # [Output Only] A status of consistency of Instances' config applied to
15470
+ # instances with Instances' config defined in managed instance group.
15471
+ # Corresponds to the JSON property `allInstancesConfig`
15472
+ # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerStatusAllInstancesConfig]
15473
+ attr_accessor :all_instances_config
15474
+
15601
15475
  # [Output Only] The URL of the Autoscaler that targets this instance group
15602
15476
  # manager.
15603
15477
  # Corresponds to the JSON property `autoscaler`
@@ -15632,6 +15506,7 @@ module Google
15632
15506
 
15633
15507
  # Update properties of this object
15634
15508
  def update!(**args)
15509
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
15635
15510
  @autoscaler = args[:autoscaler] if args.key?(:autoscaler)
15636
15511
  @is_stable = args[:is_stable] if args.key?(:is_stable)
15637
15512
  @stateful = args[:stateful] if args.key?(:stateful)
@@ -15639,6 +15514,34 @@ module Google
15639
15514
  end
15640
15515
  end
15641
15516
 
15517
+ #
15518
+ class InstanceGroupManagerStatusAllInstancesConfig
15519
+ include Google::Apis::Core::Hashable
15520
+
15521
+ # [Output Only] Current instances' config revision. This value is in RFC3339
15522
+ # text format.
15523
+ # Corresponds to the JSON property `currentRevision`
15524
+ # @return [String]
15525
+ attr_accessor :current_revision
15526
+
15527
+ # [Output Only] A bit indicating whether instances' config has been applied to
15528
+ # all managed instances in managed instance group.
15529
+ # Corresponds to the JSON property `effective`
15530
+ # @return [Boolean]
15531
+ attr_accessor :effective
15532
+ alias_method :effective?, :effective
15533
+
15534
+ def initialize(**args)
15535
+ update!(**args)
15536
+ end
15537
+
15538
+ # Update properties of this object
15539
+ def update!(**args)
15540
+ @current_revision = args[:current_revision] if args.key?(:current_revision)
15541
+ @effective = args[:effective] if args.key?(:effective)
15542
+ end
15543
+ end
15544
+
15642
15545
  #
15643
15546
  class InstanceGroupManagerStatusStateful
15644
15547
  include Google::Apis::Core::Hashable
@@ -17237,6 +17140,11 @@ module Google
17237
17140
  # @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
17238
17141
  attr_accessor :guest_accelerators
17239
17142
 
17143
+ # KeyRevocationActionType of the instance.
17144
+ # Corresponds to the JSON property `keyRevocationActionType`
17145
+ # @return [String]
17146
+ attr_accessor :key_revocation_action_type
17147
+
17240
17148
  # Labels to apply to instances that are created from these properties.
17241
17149
  # Corresponds to the JSON property `labels`
17242
17150
  # @return [Hash<String,String>]
@@ -17266,7 +17174,7 @@ module Google
17266
17174
  # @return [Array<Google::Apis::ComputeAlpha::NetworkInterface>]
17267
17175
  attr_accessor :network_interfaces
17268
17176
 
17269
- #
17177
+ # Note that for MachineImage, this is not supported yet.
17270
17178
  # Corresponds to the JSON property `networkPerformanceConfig`
17271
17179
  # @return [Google::Apis::ComputeAlpha::NetworkPerformanceConfig]
17272
17180
  attr_accessor :network_performance_config
@@ -17277,7 +17185,8 @@ module Google
17277
17185
  attr_accessor :post_key_revocation_action_type
17278
17186
 
17279
17187
  # The private IPv6 google access type for VMs. If not specified, use
17280
- # INHERIT_FROM_SUBNETWORK as default.
17188
+ # INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not
17189
+ # supported yet.
17281
17190
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
17282
17191
  # @return [String]
17283
17192
  attr_accessor :private_ipv6_google_access
@@ -17288,7 +17197,7 @@ module Google
17288
17197
  attr_accessor :reservation_affinity
17289
17198
 
17290
17199
  # Resource policies (names, not ULRs) applied to instances created from these
17291
- # properties.
17200
+ # properties. Note that for MachineImage, this is not supported yet.
17292
17201
  # Corresponds to the JSON property `resourcePolicies`
17293
17202
  # @return [Array<String>]
17294
17203
  attr_accessor :resource_policies
@@ -17299,7 +17208,7 @@ module Google
17299
17208
  attr_accessor :scheduling
17300
17209
 
17301
17210
  # [Input Only] Secure tags to apply to this instance. Maximum number of secure
17302
- # tags allowed is 50.
17211
+ # tags allowed is 50. Note that for MachineImage, this is not supported yet.
17303
17212
  # Corresponds to the JSON property `secureTags`
17304
17213
  # @return [Array<String>]
17305
17214
  attr_accessor :secure_tags
@@ -17340,6 +17249,7 @@ module Google
17340
17249
  @disks = args[:disks] if args.key?(:disks)
17341
17250
  @display_device = args[:display_device] if args.key?(:display_device)
17342
17251
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
17252
+ @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
17343
17253
  @labels = args[:labels] if args.key?(:labels)
17344
17254
  @machine_type = args[:machine_type] if args.key?(:machine_type)
17345
17255
  @metadata = args[:metadata] if args.key?(:metadata)
@@ -17359,6 +17269,32 @@ module Google
17359
17269
  end
17360
17270
  end
17361
17271
 
17272
+ # Represents the change that you want to make to the instance properties.
17273
+ class InstancePropertiesPatch
17274
+ include Google::Apis::Core::Hashable
17275
+
17276
+ # The label key-value pairs that you want to patch onto the instance.
17277
+ # Corresponds to the JSON property `labels`
17278
+ # @return [Hash<String,String>]
17279
+ attr_accessor :labels
17280
+
17281
+ # The metadata key-value pairs that you want to patch onto the instance. For
17282
+ # more information, see Project and instance metadata.
17283
+ # Corresponds to the JSON property `metadata`
17284
+ # @return [Hash<String,String>]
17285
+ attr_accessor :metadata
17286
+
17287
+ def initialize(**args)
17288
+ update!(**args)
17289
+ end
17290
+
17291
+ # Update properties of this object
17292
+ def update!(**args)
17293
+ @labels = args[:labels] if args.key?(:labels)
17294
+ @metadata = args[:metadata] if args.key?(:metadata)
17295
+ end
17296
+ end
17297
+
17362
17298
  #
17363
17299
  class InstanceReference
17364
17300
  include Google::Apis::Core::Hashable
@@ -18051,6 +17987,12 @@ module Google
18051
17987
  class InstantSnapshot
18052
17988
  include Google::Apis::Core::Hashable
18053
17989
 
17990
+ # [Output Only] The architecture of the instant snapshot. Valid values are ARM64
17991
+ # or X86_64.
17992
+ # Corresponds to the JSON property `architecture`
17993
+ # @return [String]
17994
+ attr_accessor :architecture
17995
+
18054
17996
  # [Output Only] Creation timestamp in RFC3339 text format.
18055
17997
  # Corresponds to the JSON property `creationTimestamp`
18056
17998
  # @return [String]
@@ -18176,6 +18118,7 @@ module Google
18176
18118
 
18177
18119
  # Update properties of this object
18178
18120
  def update!(**args)
18121
+ @architecture = args[:architecture] if args.key?(:architecture)
18179
18122
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
18180
18123
  @description = args[:description] if args.key?(:description)
18181
18124
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
@@ -18196,6 +18139,130 @@ module Google
18196
18139
  end
18197
18140
  end
18198
18141
 
18142
+ #
18143
+ class InstantSnapshotAggregatedList
18144
+ include Google::Apis::Core::Hashable
18145
+
18146
+ # [Output Only] Unique identifier for the resource; defined by the server.
18147
+ # Corresponds to the JSON property `id`
18148
+ # @return [String]
18149
+ attr_accessor :id
18150
+
18151
+ # A list of InstantSnapshotsScopedList resources.
18152
+ # Corresponds to the JSON property `items`
18153
+ # @return [Hash<String,Google::Apis::ComputeAlpha::InstantSnapshotsScopedList>]
18154
+ attr_accessor :items
18155
+
18156
+ # [Output Only] Type of resource. Always compute#instantSnapshotAggregatedList
18157
+ # for aggregated lists of instantSnapshots.
18158
+ # Corresponds to the JSON property `kind`
18159
+ # @return [String]
18160
+ attr_accessor :kind
18161
+
18162
+ # [Output Only] This token allows you to get the next page of results for list
18163
+ # requests. If the number of results is larger than maxResults, use the
18164
+ # nextPageToken as a value for the query parameter pageToken in the next list
18165
+ # request. Subsequent list requests will have their own nextPageToken to
18166
+ # continue paging through the results.
18167
+ # Corresponds to the JSON property `nextPageToken`
18168
+ # @return [String]
18169
+ attr_accessor :next_page_token
18170
+
18171
+ # [Output Only] Server-defined URL for this resource.
18172
+ # Corresponds to the JSON property `selfLink`
18173
+ # @return [String]
18174
+ attr_accessor :self_link
18175
+
18176
+ # [Output Only] Unreachable resources.
18177
+ # Corresponds to the JSON property `unreachables`
18178
+ # @return [Array<String>]
18179
+ attr_accessor :unreachables
18180
+
18181
+ # [Output Only] Informational warning message.
18182
+ # Corresponds to the JSON property `warning`
18183
+ # @return [Google::Apis::ComputeAlpha::InstantSnapshotAggregatedList::Warning]
18184
+ attr_accessor :warning
18185
+
18186
+ def initialize(**args)
18187
+ update!(**args)
18188
+ end
18189
+
18190
+ # Update properties of this object
18191
+ def update!(**args)
18192
+ @id = args[:id] if args.key?(:id)
18193
+ @items = args[:items] if args.key?(:items)
18194
+ @kind = args[:kind] if args.key?(:kind)
18195
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18196
+ @self_link = args[:self_link] if args.key?(:self_link)
18197
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
18198
+ @warning = args[:warning] if args.key?(:warning)
18199
+ end
18200
+
18201
+ # [Output Only] Informational warning message.
18202
+ class Warning
18203
+ include Google::Apis::Core::Hashable
18204
+
18205
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18206
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18207
+ # Corresponds to the JSON property `code`
18208
+ # @return [String]
18209
+ attr_accessor :code
18210
+
18211
+ # [Output Only] Metadata about this warning in key: value format. For example: "
18212
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18213
+ # Corresponds to the JSON property `data`
18214
+ # @return [Array<Google::Apis::ComputeAlpha::InstantSnapshotAggregatedList::Warning::Datum>]
18215
+ attr_accessor :data
18216
+
18217
+ # [Output Only] A human-readable description of the warning code.
18218
+ # Corresponds to the JSON property `message`
18219
+ # @return [String]
18220
+ attr_accessor :message
18221
+
18222
+ def initialize(**args)
18223
+ update!(**args)
18224
+ end
18225
+
18226
+ # Update properties of this object
18227
+ def update!(**args)
18228
+ @code = args[:code] if args.key?(:code)
18229
+ @data = args[:data] if args.key?(:data)
18230
+ @message = args[:message] if args.key?(:message)
18231
+ end
18232
+
18233
+ #
18234
+ class Datum
18235
+ include Google::Apis::Core::Hashable
18236
+
18237
+ # [Output Only] A key that provides more detail on the warning being returned.
18238
+ # For example, for warnings where there are no results in a list request for a
18239
+ # particular zone, this key might be scope and the key value might be the zone
18240
+ # name. Other examples might be a key indicating a deprecated resource and a
18241
+ # suggested replacement, or a warning about invalid network settings (for
18242
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18243
+ # for IP forwarding).
18244
+ # Corresponds to the JSON property `key`
18245
+ # @return [String]
18246
+ attr_accessor :key
18247
+
18248
+ # [Output Only] A warning data value corresponding to the key.
18249
+ # Corresponds to the JSON property `value`
18250
+ # @return [String]
18251
+ attr_accessor :value
18252
+
18253
+ def initialize(**args)
18254
+ update!(**args)
18255
+ end
18256
+
18257
+ # Update properties of this object
18258
+ def update!(**args)
18259
+ @key = args[:key] if args.key?(:key)
18260
+ @value = args[:value] if args.key?(:value)
18261
+ end
18262
+ end
18263
+ end
18264
+ end
18265
+
18199
18266
  #
18200
18267
  class InstantSnapshotExportParams
18201
18268
  include Google::Apis::Core::Hashable
@@ -18381,6 +18448,97 @@ module Google
18381
18448
  end
18382
18449
  end
18383
18450
 
18451
+ #
18452
+ class InstantSnapshotsScopedList
18453
+ include Google::Apis::Core::Hashable
18454
+
18455
+ # [Output Only] A list of instantSnapshots contained in this scope.
18456
+ # Corresponds to the JSON property `instantSnapshots`
18457
+ # @return [Array<Google::Apis::ComputeAlpha::InstantSnapshot>]
18458
+ attr_accessor :instant_snapshots
18459
+
18460
+ # [Output Only] Informational warning which replaces the list of
18461
+ # instantSnapshots when the list is empty.
18462
+ # Corresponds to the JSON property `warning`
18463
+ # @return [Google::Apis::ComputeAlpha::InstantSnapshotsScopedList::Warning]
18464
+ attr_accessor :warning
18465
+
18466
+ def initialize(**args)
18467
+ update!(**args)
18468
+ end
18469
+
18470
+ # Update properties of this object
18471
+ def update!(**args)
18472
+ @instant_snapshots = args[:instant_snapshots] if args.key?(:instant_snapshots)
18473
+ @warning = args[:warning] if args.key?(:warning)
18474
+ end
18475
+
18476
+ # [Output Only] Informational warning which replaces the list of
18477
+ # instantSnapshots when the list is empty.
18478
+ class Warning
18479
+ include Google::Apis::Core::Hashable
18480
+
18481
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18482
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18483
+ # Corresponds to the JSON property `code`
18484
+ # @return [String]
18485
+ attr_accessor :code
18486
+
18487
+ # [Output Only] Metadata about this warning in key: value format. For example: "
18488
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18489
+ # Corresponds to the JSON property `data`
18490
+ # @return [Array<Google::Apis::ComputeAlpha::InstantSnapshotsScopedList::Warning::Datum>]
18491
+ attr_accessor :data
18492
+
18493
+ # [Output Only] A human-readable description of the warning code.
18494
+ # Corresponds to the JSON property `message`
18495
+ # @return [String]
18496
+ attr_accessor :message
18497
+
18498
+ def initialize(**args)
18499
+ update!(**args)
18500
+ end
18501
+
18502
+ # Update properties of this object
18503
+ def update!(**args)
18504
+ @code = args[:code] if args.key?(:code)
18505
+ @data = args[:data] if args.key?(:data)
18506
+ @message = args[:message] if args.key?(:message)
18507
+ end
18508
+
18509
+ #
18510
+ class Datum
18511
+ include Google::Apis::Core::Hashable
18512
+
18513
+ # [Output Only] A key that provides more detail on the warning being returned.
18514
+ # For example, for warnings where there are no results in a list request for a
18515
+ # particular zone, this key might be scope and the key value might be the zone
18516
+ # name. Other examples might be a key indicating a deprecated resource and a
18517
+ # suggested replacement, or a warning about invalid network settings (for
18518
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18519
+ # for IP forwarding).
18520
+ # Corresponds to the JSON property `key`
18521
+ # @return [String]
18522
+ attr_accessor :key
18523
+
18524
+ # [Output Only] A warning data value corresponding to the key.
18525
+ # Corresponds to the JSON property `value`
18526
+ # @return [String]
18527
+ attr_accessor :value
18528
+
18529
+ def initialize(**args)
18530
+ update!(**args)
18531
+ end
18532
+
18533
+ # Update properties of this object
18534
+ def update!(**args)
18535
+ @key = args[:key] if args.key?(:key)
18536
+ @value = args[:value] if args.key?(:value)
18537
+ end
18538
+ end
18539
+ end
18540
+ end
18541
+
18384
18542
  # HttpRouteRuleMatch criteria for field values that must stay within the
18385
18543
  # specified integer range.
18386
18544
  class Int64RangeMatch
@@ -21307,6 +21465,11 @@ module Google
21307
21465
  # @return [Fixnum]
21308
21466
  attr_accessor :id
21309
21467
 
21468
+ # [Output Only] Properties of source instance
21469
+ # Corresponds to the JSON property `instanceProperties`
21470
+ # @return [Google::Apis::ComputeAlpha::InstanceProperties]
21471
+ attr_accessor :instance_properties
21472
+
21310
21473
  # [Output Only] The resource type, which is always compute#machineImage for
21311
21474
  # machine image.
21312
21475
  # Corresponds to the JSON property `kind`
@@ -21342,6 +21505,12 @@ module Google
21342
21505
  attr_accessor :satisfies_pzs
21343
21506
  alias_method :satisfies_pzs?, :satisfies_pzs
21344
21507
 
21508
+ # An array of Machine Image specific properties for disks attached to the source
21509
+ # instance
21510
+ # Corresponds to the JSON property `savedDisks`
21511
+ # @return [Array<Google::Apis::ComputeAlpha::SavedDisk>]
21512
+ attr_accessor :saved_disks
21513
+
21345
21514
  # [Output Only] The URL for this machine image. The server defines this URL.
21346
21515
  # Corresponds to the JSON property `selfLink`
21347
21516
  # @return [String]
@@ -21399,10 +21568,12 @@ module Google
21399
21568
  @description = args[:description] if args.key?(:description)
21400
21569
  @guest_flush = args[:guest_flush] if args.key?(:guest_flush)
21401
21570
  @id = args[:id] if args.key?(:id)
21571
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
21402
21572
  @kind = args[:kind] if args.key?(:kind)
21403
21573
  @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
21404
21574
  @name = args[:name] if args.key?(:name)
21405
21575
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
21576
+ @saved_disks = args[:saved_disks] if args.key?(:saved_disks)
21406
21577
  @self_link = args[:self_link] if args.key?(:self_link)
21407
21578
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
21408
21579
  @source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
@@ -22006,6 +22177,11 @@ module Google
22006
22177
  class ManagedInstance
22007
22178
  include Google::Apis::Core::Hashable
22008
22179
 
22180
+ # [Output Only] Instances config revision applied to this instance.
22181
+ # Corresponds to the JSON property `allInstancesConfig`
22182
+ # @return [Google::Apis::ComputeAlpha::ManagedInstanceAllInstancesConfig]
22183
+ attr_accessor :all_instances_config
22184
+
22009
22185
  # [Output Only] The current action that the managed instance group has scheduled
22010
22186
  # for the instance. Possible values: - NONE The instance is running, and the
22011
22187
  # managed instance group does not have any scheduled actions for this instance. -
@@ -22096,6 +22272,7 @@ module Google
22096
22272
 
22097
22273
  # Update properties of this object
22098
22274
  def update!(**args)
22275
+ @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
22099
22276
  @current_action = args[:current_action] if args.key?(:current_action)
22100
22277
  @id = args[:id] if args.key?(:id)
22101
22278
  @instance = args[:instance] if args.key?(:instance)
@@ -22111,6 +22288,25 @@ module Google
22111
22288
  end
22112
22289
  end
22113
22290
 
22291
+ #
22292
+ class ManagedInstanceAllInstancesConfig
22293
+ include Google::Apis::Core::Hashable
22294
+
22295
+ # [Output Only] Instances config revision. This value is in RFC3339 text format.
22296
+ # Corresponds to the JSON property `revision`
22297
+ # @return [String]
22298
+ attr_accessor :revision
22299
+
22300
+ def initialize(**args)
22301
+ update!(**args)
22302
+ end
22303
+
22304
+ # Update properties of this object
22305
+ def update!(**args)
22306
+ @revision = args[:revision] if args.key?(:revision)
22307
+ end
22308
+ end
22309
+
22114
22310
  #
22115
22311
  class ManagedInstanceInstanceHealth
22116
22312
  include Google::Apis::Core::Hashable
@@ -22340,18 +22536,18 @@ module Google
22340
22536
  end
22341
22537
  end
22342
22538
 
22343
- # Opaque filter criteria used by loadbalancers to restrict routing configuration
22344
- # to a limited set of loadbalancing proxies. Proxies and sidecars involved in
22345
- # loadbalancing would typically present metadata to the loadbalancers which need
22346
- # to match criteria specified here. If a match takes place, the relevant
22347
- # configuration is made available to those proxies. For each metadataFilter in
22348
- # this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the
22349
- # filterLabels must match the corresponding label provided in the metadata. If
22350
- # its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must
22351
- # match with corresponding labels provided in the metadata. An example for using
22352
- # metadataFilters would be: if loadbalancing involves Envoys, they will only
22353
- # receive routing configuration when values in metadataFilters match values
22354
- # supplied in of their XDS requests to loadbalancers.
22539
+ # Opaque filter criteria used by load balancers to restrict routing
22540
+ # configuration to a limited set of load balancing proxies. Proxies and sidecars
22541
+ # involved in load balancing would typically present metadata to the load
22542
+ # balancers that need to match criteria specified here. If a match takes place,
22543
+ # the relevant configuration is made available to those proxies. For each
22544
+ # metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
22545
+ # at least one of the filterLabels must match the corresponding label provided
22546
+ # in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
22547
+ # its filterLabels must match with corresponding labels provided in the metadata.
22548
+ # An example for using metadataFilters would be: if load balancing involves
22549
+ # Envoys, they receive routing configuration when values in metadataFilters
22550
+ # match values supplied in of their XDS requests to loadbalancers.
22355
22551
  class MetadataFilter
22356
22552
  include Google::Apis::Core::Hashable
22357
22553
 
@@ -22362,11 +22558,11 @@ module Google
22362
22558
  # @return [Array<Google::Apis::ComputeAlpha::MetadataFilterLabelMatch>]
22363
22559
  attr_accessor :filter_labels
22364
22560
 
22365
- # Specifies how individual filterLabel matches within the list of filterLabels
22366
- # contribute towards the overall metadataFilter match. Supported values are: -
22367
- # MATCH_ANY: At least one of the filterLabels must have a matching label in the
22368
- # provided metadata. - MATCH_ALL: All filterLabels must have matching labels in
22369
- # the provided metadata.
22561
+ # Specifies how individual filter label matches within the list of filterLabels
22562
+ # and contributes toward the overall metadataFilter match. Supported values are:
22563
+ # - MATCH_ANY: at least one of the filterLabels must have a matching label in
22564
+ # the provided metadata. - MATCH_ALL: all filterLabels must have matching labels
22565
+ # in the provided metadata.
22370
22566
  # Corresponds to the JSON property `filterMatchCriteria`
22371
22567
  # @return [String]
22372
22568
  attr_accessor :filter_match_criteria
@@ -22383,7 +22579,7 @@ module Google
22383
22579
  end
22384
22580
 
22385
22581
  # MetadataFilter label name value pairs that are expected to match corresponding
22386
- # labels presented as metadata to the loadbalancer.
22582
+ # labels presented as metadata to the load balancer.
22387
22583
  class MetadataFilterLabelMatch
22388
22584
  include Google::Apis::Core::Hashable
22389
22585
 
@@ -22494,6 +22690,13 @@ module Google
22494
22690
  # @return [String]
22495
22691
  attr_accessor :description
22496
22692
 
22693
+ # Enable ULA internal ipv6 on this network. Enabling this feature will assign a /
22694
+ # 48 from google defined ULA prefix fd20::/20. .
22695
+ # Corresponds to the JSON property `enableUlaInternalIpv6`
22696
+ # @return [Boolean]
22697
+ attr_accessor :enable_ula_internal_ipv6
22698
+ alias_method :enable_ula_internal_ipv6?, :enable_ula_internal_ipv6
22699
+
22497
22700
  # [Output Only] URL of the firewall policy the network is associated with.
22498
22701
  # Corresponds to the JSON property `firewallPolicy`
22499
22702
  # @return [String]
@@ -22511,6 +22714,16 @@ module Google
22511
22714
  # @return [Fixnum]
22512
22715
  attr_accessor :id
22513
22716
 
22717
+ # When enabling ula internal ipv6, caller optionally can specify the /48 range
22718
+ # they want from the google defined ULA prefix fd20::/20. The input must be a
22719
+ # valid /48 ULA IPv6 address and must be within the fd20::/20. Operation will
22720
+ # fail if the speficied /48 is already in used by another resource. If the field
22721
+ # is not speficied, then a /48 range will be randomly allocated from fd20::/20
22722
+ # and returned via this field. .
22723
+ # Corresponds to the JSON property `internalIpv6Range`
22724
+ # @return [String]
22725
+ attr_accessor :internal_ipv6_range
22726
+
22514
22727
  # [Output Only] Type of the resource. Always compute#network for networks.
22515
22728
  # Corresponds to the JSON property `kind`
22516
22729
  # @return [String]
@@ -22532,6 +22745,11 @@ module Google
22532
22745
  # @return [String]
22533
22746
  attr_accessor :name
22534
22747
 
22748
+ #
22749
+ # Corresponds to the JSON property `networkFirewallPolicyEnforcementOrder`
22750
+ # @return [String]
22751
+ attr_accessor :network_firewall_policy_enforcement_order
22752
+
22535
22753
  # [Output Only] A list of network peerings for the resource.
22536
22754
  # Corresponds to the JSON property `peerings`
22537
22755
  # @return [Array<Google::Apis::ComputeAlpha::NetworkPeering>]
@@ -22570,12 +22788,15 @@ module Google
22570
22788
  @auto_create_subnetworks = args[:auto_create_subnetworks] if args.key?(:auto_create_subnetworks)
22571
22789
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
22572
22790
  @description = args[:description] if args.key?(:description)
22791
+ @enable_ula_internal_ipv6 = args[:enable_ula_internal_ipv6] if args.key?(:enable_ula_internal_ipv6)
22573
22792
  @firewall_policy = args[:firewall_policy] if args.key?(:firewall_policy)
22574
22793
  @gateway_i_pv4 = args[:gateway_i_pv4] if args.key?(:gateway_i_pv4)
22575
22794
  @id = args[:id] if args.key?(:id)
22795
+ @internal_ipv6_range = args[:internal_ipv6_range] if args.key?(:internal_ipv6_range)
22576
22796
  @kind = args[:kind] if args.key?(:kind)
22577
22797
  @mtu = args[:mtu] if args.key?(:mtu)
22578
22798
  @name = args[:name] if args.key?(:name)
22799
+ @network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order)
22579
22800
  @peerings = args[:peerings] if args.key?(:peerings)
22580
22801
  @routing_config = args[:routing_config] if args.key?(:routing_config)
22581
22802
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -23956,14 +24177,15 @@ module Google
23956
24177
  # @return [String]
23957
24178
  attr_accessor :name
23958
24179
 
23959
- # URL of the network resource for this instance. When creating an instance, if
23960
- # neither the network nor the subnetwork is specified, the default network
23961
- # global/networks/default is used; if the network is not specified but the
23962
- # subnetwork is specified, the network is inferred. If you specify this property,
23963
- # you can specify the network as a full or partial URL. For example, the
23964
- # following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/
23965
- # project/global/networks/ network - projects/project/global/networks/network -
23966
- # global/networks/default
24180
+ # URL of the VPC network resource for this instance. When creating an instance,
24181
+ # if neither the network nor the subnetwork is specified, the default network
24182
+ # global/networks/default is used. If the selected project doesn't have the
24183
+ # default network, you must specify a network or subnet. If the network is not
24184
+ # specified but the subnetwork is specified, the network is inferred. If you
24185
+ # specify this property, you can specify the network as a full or partial URL.
24186
+ # For example, the following are all valid URLs: - https://www.googleapis.com/
24187
+ # compute/v1/projects/project/global/networks/ network - projects/project/global/
24188
+ # networks/network - global/networks/default
23967
24189
  # Corresponds to the JSON property `network`
23968
24190
  # @return [String]
23969
24191
  attr_accessor :network
@@ -24233,7 +24455,8 @@ module Google
24233
24455
  attr_accessor :exchange_subnet_routes
24234
24456
  alias_method :exchange_subnet_routes?, :exchange_subnet_routes
24235
24457
 
24236
- # Whether to export the custom routes to peer network.
24458
+ # Whether to export the custom routes to peer network. The default value is
24459
+ # false.
24237
24460
  # Corresponds to the JSON property `exportCustomRoutes`
24238
24461
  # @return [Boolean]
24239
24462
  attr_accessor :export_custom_routes
@@ -24247,7 +24470,8 @@ module Google
24247
24470
  attr_accessor :export_subnet_routes_with_public_ip
24248
24471
  alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
24249
24472
 
24250
- # Whether to import the custom routes from peer network.
24473
+ # Whether to import the custom routes from peer network. The default value is
24474
+ # false.
24251
24475
  # Corresponds to the JSON property `importCustomRoutes`
24252
24476
  # @return [Boolean]
24253
24477
  attr_accessor :import_custom_routes
@@ -26822,6 +27046,11 @@ module Google
26822
27046
  # @return [String]
26823
27047
  attr_accessor :kind
26824
27048
 
27049
+ # [Output Only] Service-specific metadata attached to this operation.
27050
+ # Corresponds to the JSON property `metadata`
27051
+ # @return [Hash<String,Object>]
27052
+ attr_accessor :metadata
27053
+
26825
27054
  # [Output Only] Name of the operation.
26826
27055
  # Corresponds to the JSON property `name`
26827
27056
  # @return [String]
@@ -26928,6 +27157,7 @@ module Google
26928
27157
  @id = args[:id] if args.key?(:id)
26929
27158
  @insert_time = args[:insert_time] if args.key?(:insert_time)
26930
27159
  @kind = args[:kind] if args.key?(:kind)
27160
+ @metadata = args[:metadata] if args.key?(:metadata)
26931
27161
  @name = args[:name] if args.key?(:name)
26932
27162
  @operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id)
26933
27163
  @operation_type = args[:operation_type] if args.key?(:operation_type)
@@ -28234,37 +28464,37 @@ module Google
28234
28464
 
28235
28465
  # A matcher for the path portion of the URL. The BackendService from the longest-
28236
28466
  # matched rule will serve the URL. If no rule was matched, the default service
28237
- # will be used.
28467
+ # is used.
28238
28468
  class PathMatcher
28239
28469
  include Google::Apis::Core::Hashable
28240
28470
 
28241
28471
  # defaultRouteAction takes effect when none of the pathRules or routeRules match.
28242
- # The load balancer performs advanced routing actions like URL rewrites, header
28243
- # transformations, etc. prior to forwarding the request to the selected backend.
28472
+ # The load balancer performs advanced routing actions, such as URL rewrites and
28473
+ # header transformations, before forwarding the request to the selected backend.
28244
28474
  # If defaultRouteAction specifies any weightedBackendServices, defaultService
28245
28475
  # must not be set. Conversely if defaultService is set, defaultRouteAction
28246
28476
  # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
28247
28477
  # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
28248
- # support only the urlRewrite action within a pathMatcher's defaultRouteAction.
28478
+ # support only the urlRewrite action within a path matcher's defaultRouteAction.
28249
28479
  # Corresponds to the JSON property `defaultRouteAction`
28250
28480
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
28251
28481
  attr_accessor :default_route_action
28252
28482
 
28253
- # The full or partial URL to the BackendService resource. This will be used if
28483
+ # The full or partial URL to the BackendService resource. This URL is used if
28254
28484
  # none of the pathRules or routeRules defined by this PathMatcher are matched.
28255
28485
  # For example, the following are all valid URLs to a BackendService resource: -
28256
28486
  # https://www.googleapis.com/compute/v1/projects/project /global/backendServices/
28257
28487
  # backendService - compute/v1/projects/project/global/backendServices/
28258
28488
  # backendService - global/backendServices/backendService If defaultRouteAction
28259
- # is additionally specified, advanced routing actions like URL Rewrites, etc.
28260
- # take effect prior to sending the request to the backend. However, if
28261
- # defaultService is specified, defaultRouteAction cannot contain any
28262
- # weightedBackendServices. Conversely, if defaultRouteAction specifies any
28263
- # weightedBackendServices, defaultService must not be specified. Only one of
28264
- # defaultService, defaultUrlRedirect or defaultRouteAction.
28265
- # weightedBackendService must be set. Authorization requires one or more of the
28266
- # following Google IAM permissions on the specified resource default_service: -
28267
- # compute.backendBuckets.use - compute.backendServices.use
28489
+ # is also specified, advanced routing actions, such as URL rewrites, take effect
28490
+ # before sending the request to the backend. However, if defaultService is
28491
+ # specified, defaultRouteAction cannot contain any weightedBackendServices.
28492
+ # Conversely, if defaultRouteAction specifies any weightedBackendServices,
28493
+ # defaultService must not be specified. Only one of defaultService,
28494
+ # defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set.
28495
+ # Authorization requires one or more of the following Google IAM permissions on
28496
+ # the specified resource default_service: - compute.backendBuckets.use - compute.
28497
+ # backendServices.use
28268
28498
  # Corresponds to the JSON property `defaultService`
28269
28499
  # @return [String]
28270
28500
  attr_accessor :default_service
@@ -28340,23 +28570,23 @@ module Google
28340
28570
  attr_accessor :paths
28341
28571
 
28342
28572
  # In response to a matching path, the load balancer performs advanced routing
28343
- # actions like URL rewrites, header transformations, etc. prior to forwarding
28573
+ # actions, such as URL rewrites and header transformations, before forwarding
28344
28574
  # the request to the selected backend. If routeAction specifies any
28345
28575
  # weightedBackendServices, service must not be set. Conversely if service is set,
28346
28576
  # routeAction cannot contain any weightedBackendServices. Only one of
28347
- # routeAction or urlRedirect must be set. UrlMaps for external HTTP(S) load
28348
- # balancers support only the urlRewrite action within a pathRule's routeAction.
28577
+ # routeAction or urlRedirect must be set. URL maps for external HTTP(S) load
28578
+ # balancers support only the urlRewrite action within a path rule's routeAction.
28349
28579
  # Corresponds to the JSON property `routeAction`
28350
28580
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
28351
28581
  attr_accessor :route_action
28352
28582
 
28353
28583
  # The full or partial URL of the backend service resource to which traffic is
28354
- # directed if this rule is matched. If routeAction is additionally specified,
28355
- # advanced routing actions like URL Rewrites, etc. take effect prior to sending
28356
- # the request to the backend. However, if service is specified, routeAction
28357
- # cannot contain any weightedBackendService s. Conversely, if routeAction
28358
- # specifies any weightedBackendServices, service must not be specified. Only one
28359
- # of urlRedirect, service or routeAction.weightedBackendService must be set.
28584
+ # directed if this rule is matched. If routeAction is also specified, advanced
28585
+ # routing actions, such as URL rewrites, take effect before sending the request
28586
+ # to the backend. However, if service is specified, routeAction cannot contain
28587
+ # any weightedBackendServices. Conversely, if routeAction specifies any
28588
+ # weightedBackendServices, service must not be specified. Only one of
28589
+ # urlRedirect, service or routeAction.weightedBackendService must be set.
28360
28590
  # Corresponds to the JSON property `service`
28361
28591
  # @return [String]
28362
28592
  attr_accessor :service
@@ -28544,31 +28774,31 @@ module Google
28544
28774
 
28545
28775
  # An Identity and Access Management (IAM) policy, which specifies access
28546
28776
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
28547
- # A `binding` binds one or more `members` to a single `role`. Members can be
28548
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
28549
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
28550
- # role or a user-created custom role. For some types of Google Cloud resources,
28551
- # a `binding` can also specify a `condition`, which is a logical expression that
28552
- # allows access to a resource only if the expression evaluates to `true`. A
28553
- # condition can add constraints based on attributes of the request, the resource,
28554
- # or both. To learn which resources support conditions in their IAM policies,
28555
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
28556
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
28557
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
28558
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
28559
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
28560
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
28561
- # title": "expirable access", "description": "Does not grant access after Sep
28562
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
28563
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
28564
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
28565
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
28566
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
28567
- # roles/resourcemanager.organizationViewer condition: title: expirable access
28568
- # description: Does not grant access after Sep 2020 expression: request.time <
28569
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
28570
- # description of IAM and its features, see the [IAM documentation](https://cloud.
28571
- # google.com/iam/docs/).
28777
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
28778
+ # Principals can be user accounts, service accounts, Google groups, and domains (
28779
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
28780
+ # an IAM predefined role or a user-created custom role. For some types of Google
28781
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
28782
+ # logical expression that allows access to a resource only if the expression
28783
+ # evaluates to `true`. A condition can add constraints based on attributes of
28784
+ # the request, the resource, or both. To learn which resources support
28785
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
28786
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
28787
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
28788
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
28789
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
28790
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
28791
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
28792
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
28793
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
28794
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
28795
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
28796
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
28797
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
28798
+ # access description: Does not grant access after Sep 2020 expression: request.
28799
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
28800
+ # a description of IAM and its features, see the [IAM documentation](https://
28801
+ # cloud.google.com/iam/docs/).
28572
28802
  class Policy
28573
28803
  include Google::Apis::Core::Hashable
28574
28804
 
@@ -28577,9 +28807,14 @@ module Google
28577
28807
  # @return [Array<Google::Apis::ComputeAlpha::AuditConfig>]
28578
28808
  attr_accessor :audit_configs
28579
28809
 
28580
- # Associates a list of `members` to a `role`. Optionally, may specify a `
28581
- # condition` that determines how and when the `bindings` are applied. Each of
28582
- # the `bindings` must contain at least one member.
28810
+ # Associates a list of `members`, or principals, with a `role`. Optionally, may
28811
+ # specify a `condition` that determines how and when the `bindings` are applied.
28812
+ # Each of the `bindings` must contain at least one principal. The `bindings` in
28813
+ # a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
28814
+ # can be Google groups. Each occurrence of a principal counts towards these
28815
+ # limits. For example, if the `bindings` grant 50 different roles to `user:alice@
28816
+ # example.com`, and not to any other principal, then you can add another 1,450
28817
+ # principals to the `bindings` in the `Policy`.
28583
28818
  # Corresponds to the JSON property `bindings`
28584
28819
  # @return [Array<Google::Apis::ComputeAlpha::Binding>]
28585
28820
  attr_accessor :bindings
@@ -28600,12 +28835,6 @@ module Google
28600
28835
  # @return [String]
28601
28836
  attr_accessor :etag
28602
28837
 
28603
- # This is deprecated and has no effect. Do not use.
28604
- # Corresponds to the JSON property `iamOwned`
28605
- # @return [Boolean]
28606
- attr_accessor :iam_owned
28607
- alias_method :iam_owned?, :iam_owned
28608
-
28609
28838
  # This is deprecated and has no effect. Do not use.
28610
28839
  # Corresponds to the JSON property `rules`
28611
28840
  # @return [Array<Google::Apis::ComputeAlpha::Rule>]
@@ -28639,7 +28868,6 @@ module Google
28639
28868
  @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
28640
28869
  @bindings = args[:bindings] if args.key?(:bindings)
28641
28870
  @etag = args[:etag] if args.key?(:etag)
28642
- @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
28643
28871
  @rules = args[:rules] if args.key?(:rules)
28644
28872
  @version = args[:version] if args.key?(:version)
28645
28873
  end
@@ -29200,7 +29428,13 @@ module Google
29200
29428
  # @return [String]
29201
29429
  attr_accessor :shared_secret
29202
29430
 
29203
- # The status of the public advertised prefix.
29431
+ # The status of the public advertised prefix. Possible values include: - `
29432
+ # INITIAL`: RPKI validation is complete. - `PTR_CONFIGURED`: User has configured
29433
+ # the PTR. - `VALIDATED`: Reverse DNS lookup is successful. - `
29434
+ # REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. - `
29435
+ # PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being configured. - `
29436
+ # PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. - `
29437
+ # PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed.
29204
29438
  # Corresponds to the JSON property `status`
29205
29439
  # @return [String]
29206
29440
  attr_accessor :status
@@ -29485,7 +29719,12 @@ module Google
29485
29719
  # @return [String]
29486
29720
  attr_accessor :self_link_with_id
29487
29721
 
29488
- # [Output Only] The status of the public delegated prefix.
29722
+ # [Output Only] The status of the public delegated prefix, which can be one of
29723
+ # following values: - `INITIALIZING` The public delegated prefix is being
29724
+ # initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The
29725
+ # public delegated prefix is a live migration prefix and is active. - `ANNOUNCED`
29726
+ # The public delegated prefix is active. - `DELETING` The public delegated
29727
+ # prefix is being deprovsioned.
29489
29728
  # Corresponds to the JSON property `status`
29490
29729
  # @return [String]
29491
29730
  attr_accessor :status
@@ -31656,31 +31895,31 @@ module Google
31656
31895
 
31657
31896
  # An Identity and Access Management (IAM) policy, which specifies access
31658
31897
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
31659
- # A `binding` binds one or more `members` to a single `role`. Members can be
31660
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
31661
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
31662
- # role or a user-created custom role. For some types of Google Cloud resources,
31663
- # a `binding` can also specify a `condition`, which is a logical expression that
31664
- # allows access to a resource only if the expression evaluates to `true`. A
31665
- # condition can add constraints based on attributes of the request, the resource,
31666
- # or both. To learn which resources support conditions in their IAM policies,
31667
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
31668
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
31669
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
31670
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
31671
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
31672
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
31673
- # title": "expirable access", "description": "Does not grant access after Sep
31674
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
31675
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
31676
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
31677
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
31678
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
31679
- # roles/resourcemanager.organizationViewer condition: title: expirable access
31680
- # description: Does not grant access after Sep 2020 expression: request.time <
31681
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
31682
- # description of IAM and its features, see the [IAM documentation](https://cloud.
31683
- # google.com/iam/docs/).
31898
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
31899
+ # Principals can be user accounts, service accounts, Google groups, and domains (
31900
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
31901
+ # an IAM predefined role or a user-created custom role. For some types of Google
31902
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
31903
+ # logical expression that allows access to a resource only if the expression
31904
+ # evaluates to `true`. A condition can add constraints based on attributes of
31905
+ # the request, the resource, or both. To learn which resources support
31906
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
31907
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
31908
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
31909
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
31910
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
31911
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
31912
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
31913
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
31914
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
31915
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
31916
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
31917
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
31918
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
31919
+ # access description: Does not grant access after Sep 2020 expression: request.
31920
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
31921
+ # a description of IAM and its features, see the [IAM documentation](https://
31922
+ # cloud.google.com/iam/docs/).
31684
31923
  # Corresponds to the JSON property `policy`
31685
31924
  # @return [Google::Apis::ComputeAlpha::Policy]
31686
31925
  attr_accessor :policy
@@ -31721,21 +31960,21 @@ module Google
31721
31960
  class RegionUrlMapsValidateRequest
31722
31961
  include Google::Apis::Core::Hashable
31723
31962
 
31724
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
31725
- # * [Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/
31726
- # docs/reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
31727
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
31963
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
31964
+ # Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/
31965
+ # reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
31966
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
31728
31967
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
31729
31968
  # used by internal HTTP(S) load balancers. For a list of supported URL map
31730
- # features by load balancer type, see the Load balancing features: Routing and
31731
- # traffic management table. For a list of supported URL map features for Traffic
31732
- # Director, see the Traffic Director features: Routing and traffic management
31733
- # table. This resource defines mappings from host names and URL paths to either
31734
- # a backend service or a backend bucket. To use the global urlMaps resource, the
31735
- # backend service must have a loadBalancingScheme of either EXTERNAL or
31736
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
31737
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
31738
- # read URL Map Concepts.
31969
+ # features by the load balancer type, see the Load balancing features: Routing
31970
+ # and traffic management table. For a list of supported URL map features for
31971
+ # Traffic Director, see the Traffic Director features: Routing and traffic
31972
+ # management table. This resource defines mappings from hostnames and URL paths
31973
+ # to either a backend service or a backend bucket. To use the global urlMaps
31974
+ # resource, the backend service must have a loadBalancingScheme of either
31975
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
31976
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
31977
+ # information, read URL Map Concepts.
31739
31978
  # Corresponds to the JSON property `resource`
31740
31979
  # @return [Google::Apis::ComputeAlpha::UrlMap]
31741
31980
  attr_accessor :resource
@@ -31751,9 +31990,9 @@ module Google
31751
31990
  end
31752
31991
 
31753
31992
  # A policy that specifies how requests intended for the route's backends are
31754
- # shadowed to a separate mirrored backend service. Loadbalancer does not wait
31755
- # for responses from the shadow service. Prior to sending traffic to the shadow
31756
- # service, the host / authority header is suffixed with -shadow.
31993
+ # shadowed to a separate mirrored backend service. The load balancer doesn't
31994
+ # wait for responses from the shadow service. Before sending traffic to the
31995
+ # shadow service, the host or authority header is suffixed with -shadow.
31757
31996
  class RequestMirrorPolicy
31758
31997
  include Google::Apis::Core::Hashable
31759
31998
 
@@ -33406,6 +33645,11 @@ module Google
33406
33645
  attr_accessor :allow_conflicting_subnetworks
33407
33646
  alias_method :allow_conflicting_subnetworks?, :allow_conflicting_subnetworks
33408
33647
 
33648
+ # [Output Only] AS path.
33649
+ # Corresponds to the JSON property `asPaths`
33650
+ # @return [Array<Google::Apis::ComputeAlpha::RouteAsPath>]
33651
+ attr_accessor :as_paths
33652
+
33409
33653
  # [Output Only] Creation timestamp in RFC3339 text format.
33410
33654
  # Corresponds to the JSON property `creationTimestamp`
33411
33655
  # @return [String]
@@ -33516,6 +33760,15 @@ module Google
33516
33760
  # @return [Fixnum]
33517
33761
  attr_accessor :priority
33518
33762
 
33763
+ # [Output Only] The type of this route, which can be one of the following values:
33764
+ # - 'TRANSIT' for a transit route that this router learned from another Cloud
33765
+ # Router and will readvertise to one of its BGP peers - 'SUBNET' for a route
33766
+ # from a subnet of the VPC - 'BGP' for a route learned from a BGP peer of this
33767
+ # router - 'STATIC' for a static route
33768
+ # Corresponds to the JSON property `routeType`
33769
+ # @return [String]
33770
+ attr_accessor :route_type
33771
+
33519
33772
  # [Output Only] Server-defined fully-qualified URL for this resource.
33520
33773
  # Corresponds to the JSON property `selfLink`
33521
33774
  # @return [String]
@@ -33544,6 +33797,7 @@ module Google
33544
33797
  # Update properties of this object
33545
33798
  def update!(**args)
33546
33799
  @allow_conflicting_subnetworks = args[:allow_conflicting_subnetworks] if args.key?(:allow_conflicting_subnetworks)
33800
+ @as_paths = args[:as_paths] if args.key?(:as_paths)
33547
33801
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
33548
33802
  @description = args[:description] if args.key?(:description)
33549
33803
  @dest_range = args[:dest_range] if args.key?(:dest_range)
@@ -33561,6 +33815,7 @@ module Google
33561
33815
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
33562
33816
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
33563
33817
  @priority = args[:priority] if args.key?(:priority)
33818
+ @route_type = args[:route_type] if args.key?(:route_type)
33564
33819
  @self_link = args[:self_link] if args.key?(:self_link)
33565
33820
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
33566
33821
  @tags = args[:tags] if args.key?(:tags)
@@ -33632,6 +33887,37 @@ module Google
33632
33887
  end
33633
33888
  end
33634
33889
 
33890
+ #
33891
+ class RouteAsPath
33892
+ include Google::Apis::Core::Hashable
33893
+
33894
+ # [Output Only] The AS numbers of the AS Path.
33895
+ # Corresponds to the JSON property `asLists`
33896
+ # @return [Array<Fixnum>]
33897
+ attr_accessor :as_lists
33898
+
33899
+ # [Output Only] The type of the AS Path, which can be one of the following
33900
+ # values: - 'AS_SET': unordered set of autonomous systems that the route in has
33901
+ # traversed - 'AS_SEQUENCE': ordered set of autonomous systems that the route
33902
+ # has traversed - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems
33903
+ # in the local confederation that the route has traversed - 'AS_CONFED_SET':
33904
+ # unordered set of Member Autonomous Systems in the local confederation that the
33905
+ # route has traversed
33906
+ # Corresponds to the JSON property `pathSegmentType`
33907
+ # @return [String]
33908
+ attr_accessor :path_segment_type
33909
+
33910
+ def initialize(**args)
33911
+ update!(**args)
33912
+ end
33913
+
33914
+ # Update properties of this object
33915
+ def update!(**args)
33916
+ @as_lists = args[:as_lists] if args.key?(:as_lists)
33917
+ @path_segment_type = args[:path_segment_type] if args.key?(:path_segment_type)
33918
+ end
33919
+ end
33920
+
33635
33921
  # Contains a list of Route resources.
33636
33922
  class RouteList
33637
33923
  include Google::Apis::Core::Hashable
@@ -34104,7 +34390,7 @@ module Google
34104
34390
  # @return [Fixnum]
34105
34391
  attr_accessor :advertised_route_priority
34106
34392
 
34107
- # BFD configuration for the BGP peering. Not currently available publicly.
34393
+ # BFD configuration for the BGP peering.
34108
34394
  # Corresponds to the JSON property `bfd`
34109
34395
  # @return [Google::Apis::ComputeAlpha::RouterBgpPeerBfd]
34110
34396
  attr_accessor :bfd
@@ -34216,8 +34502,8 @@ module Google
34216
34502
  # The minimum interval, in milliseconds, between BFD control packets received
34217
34503
  # from the peer router. The actual value is negotiated between the two routers
34218
34504
  # and is equal to the greater of this value and the transmit interval of the
34219
- # other router. Not currently available publicly. If set, this value must be
34220
- # between 1000 and 30000. The default is 1000.
34505
+ # other router. If set, this value must be between 1000 and 30000. The default
34506
+ # is 1000.
34221
34507
  # Corresponds to the JSON property `minReceiveInterval`
34222
34508
  # @return [Fixnum]
34223
34509
  attr_accessor :min_receive_interval
@@ -34225,8 +34511,8 @@ module Google
34225
34511
  # The minimum interval, in milliseconds, between BFD control packets transmitted
34226
34512
  # to the peer router. The actual value is negotiated between the two routers and
34227
34513
  # is equal to the greater of this value and the corresponding receive interval
34228
- # of the other router. Not currently available publicly. If set, this value must
34229
- # be between 1000 and 30000. The default is 1000.
34514
+ # of the other router. If set, this value must be between 1000 and 30000. The
34515
+ # default is 1000.
34230
34516
  # Corresponds to the JSON property `minTransmitInterval`
34231
34517
  # @return [Fixnum]
34232
34518
  attr_accessor :min_transmit_interval
@@ -34241,8 +34527,8 @@ module Google
34241
34527
  attr_accessor :mode
34242
34528
 
34243
34529
  # The number of consecutive BFD packets that must be missed before BFD declares
34244
- # that a peer is unavailable. Not currently available publicly. If set, the
34245
- # value must be a value between 5 and 16. The default is 5.
34530
+ # that a peer is unavailable. If set, the value must be a value between 5 and 16.
34531
+ # The default is 5.
34246
34532
  # Corresponds to the JSON property `multiplier`
34247
34533
  # @return [Fixnum]
34248
34534
  attr_accessor :multiplier
@@ -34259,11 +34545,11 @@ module Google
34259
34545
  # @return [String]
34260
34546
  attr_accessor :packet_mode
34261
34547
 
34262
- # The BFD session initialization mode for this BGP peer. Not currently available
34263
- # publicly. If set to ACTIVE, the Cloud Router will initiate the BFD session for
34264
- # this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer
34265
- # router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD
34266
- # is disabled for this BGP peer. The default is PASSIVE.
34548
+ # The BFD session initialization mode for this BGP peer. If set to ACTIVE, the
34549
+ # Cloud Router will initiate the BFD session for this BGP peer. If set to
34550
+ # PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD
34551
+ # session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP
34552
+ # peer. The default is PASSIVE.
34267
34553
  # Corresponds to the JSON property `sessionInitializationMode`
34268
34554
  # @return [String]
34269
34555
  attr_accessor :session_initialization_mode
@@ -34628,6 +34914,12 @@ module Google
34628
34914
  # @return [Fixnum]
34629
34915
  attr_accessor :tcp_transitory_idle_timeout_sec
34630
34916
 
34917
+ # Indicates whether this NAT is used for public or private IP translation. If
34918
+ # unspecified, it defaults to PUBLIC.
34919
+ # Corresponds to the JSON property `type`
34920
+ # @return [String]
34921
+ attr_accessor :type
34922
+
34631
34923
  # Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
34632
34924
  # Corresponds to the JSON property `udpIdleTimeoutSec`
34633
34925
  # @return [Fixnum]
@@ -34655,6 +34947,7 @@ module Google
34655
34947
  @tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec)
34656
34948
  @tcp_time_wait_timeout_sec = args[:tcp_time_wait_timeout_sec] if args.key?(:tcp_time_wait_timeout_sec)
34657
34949
  @tcp_transitory_idle_timeout_sec = args[:tcp_transitory_idle_timeout_sec] if args.key?(:tcp_transitory_idle_timeout_sec)
34950
+ @type = args[:type] if args.key?(:type)
34658
34951
  @udp_idle_timeout_sec = args[:udp_idle_timeout_sec] if args.key?(:udp_idle_timeout_sec)
34659
34952
  end
34660
34953
  end
@@ -34709,7 +35002,8 @@ module Google
34709
35002
  # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
34710
35003
  # 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
34711
35004
  # following example is a valid match expression for private NAT: "nexthop.hub ==
34712
- # '/projects/my-project/global/hub/hub-1'"
35005
+ # 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/
35006
+ # global/hub/hub-1'"
34713
35007
  # Corresponds to the JSON property `match`
34714
35008
  # @return [String]
34715
35009
  attr_accessor :match
@@ -34745,6 +35039,13 @@ module Google
34745
35039
  # @return [Array<String>]
34746
35040
  attr_accessor :source_nat_active_ips
34747
35041
 
35042
+ # A list of URLs of the subnetworks used as source ranges for this NAT Rule.
35043
+ # These subnetworks must have purpose set to PRIVATE_NAT. This field is used for
35044
+ # private NAT.
35045
+ # Corresponds to the JSON property `sourceNatActiveRanges`
35046
+ # @return [Array<String>]
35047
+ attr_accessor :source_nat_active_ranges
35048
+
34748
35049
  # A list of URLs of the IP resources to be drained. These IPs must be valid
34749
35050
  # static external IPs that have been assigned to the NAT. These IPs should be
34750
35051
  # used for updating/patching a NAT rule only. This field is used for public NAT.
@@ -34752,6 +35053,14 @@ module Google
34752
35053
  # @return [Array<String>]
34753
35054
  attr_accessor :source_nat_drain_ips
34754
35055
 
35056
+ # A list of URLs of subnetworks representing source ranges to be drained. This
35057
+ # is only supported on patch/update, and these subnetworks must have previously
35058
+ # been used as active ranges in this NAT Rule. This field is used for private
35059
+ # NAT.
35060
+ # Corresponds to the JSON property `sourceNatDrainRanges`
35061
+ # @return [Array<String>]
35062
+ attr_accessor :source_nat_drain_ranges
35063
+
34755
35064
  def initialize(**args)
34756
35065
  update!(**args)
34757
35066
  end
@@ -34759,7 +35068,9 @@ module Google
34759
35068
  # Update properties of this object
34760
35069
  def update!(**args)
34761
35070
  @source_nat_active_ips = args[:source_nat_active_ips] if args.key?(:source_nat_active_ips)
35071
+ @source_nat_active_ranges = args[:source_nat_active_ranges] if args.key?(:source_nat_active_ranges)
34762
35072
  @source_nat_drain_ips = args[:source_nat_drain_ips] if args.key?(:source_nat_drain_ips)
35073
+ @source_nat_drain_ranges = args[:source_nat_drain_ranges] if args.key?(:source_nat_drain_ranges)
34763
35074
  end
34764
35075
  end
34765
35076
 
@@ -35444,6 +35755,47 @@ module Google
35444
35755
  end
35445
35756
  end
35446
35757
 
35758
+ # An instance-attached disk resource.
35759
+ class SavedDisk
35760
+ include Google::Apis::Core::Hashable
35761
+
35762
+ # [Output Only] Type of the resource. Always compute#savedDisk for attached
35763
+ # disks.
35764
+ # Corresponds to the JSON property `kind`
35765
+ # @return [String]
35766
+ attr_accessor :kind
35767
+
35768
+ # Specifies a URL of the disk attached to the source instance.
35769
+ # Corresponds to the JSON property `sourceDisk`
35770
+ # @return [String]
35771
+ attr_accessor :source_disk
35772
+
35773
+ # [Output Only] Size of the individual disk snapshot used by this machine image.
35774
+ # Corresponds to the JSON property `storageBytes`
35775
+ # @return [Fixnum]
35776
+ attr_accessor :storage_bytes
35777
+
35778
+ # [Output Only] An indicator whether storageBytes is in a stable state or it is
35779
+ # being adjusted as a result of shared storage reallocation. This status can
35780
+ # either be UPDATING, meaning the size of the snapshot is being updated, or
35781
+ # UP_TO_DATE, meaning the size of the snapshot is up-to-date.
35782
+ # Corresponds to the JSON property `storageBytesStatus`
35783
+ # @return [String]
35784
+ attr_accessor :storage_bytes_status
35785
+
35786
+ def initialize(**args)
35787
+ update!(**args)
35788
+ end
35789
+
35790
+ # Update properties of this object
35791
+ def update!(**args)
35792
+ @kind = args[:kind] if args.key?(:kind)
35793
+ @source_disk = args[:source_disk] if args.key?(:source_disk)
35794
+ @storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
35795
+ @storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
35796
+ end
35797
+ end
35798
+
35447
35799
  #
35448
35800
  class ScalingScheduleStatus
35449
35801
  include Google::Apis::Core::Hashable
@@ -35552,6 +35904,14 @@ module Google
35552
35904
  # @return [String]
35553
35905
  attr_accessor :maintenance_interval
35554
35906
 
35907
+ # A Duration represents a fixed-length span of time represented as a count of
35908
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
35909
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
35910
+ # 000 years.
35911
+ # Corresponds to the JSON property `maxRunDuration`
35912
+ # @return [Google::Apis::ComputeAlpha::Duration]
35913
+ attr_accessor :max_run_duration
35914
+
35555
35915
  # The minimum number of virtual CPUs this instance will consume when running on
35556
35916
  # a sole-tenant node.
35557
35917
  # Corresponds to the JSON property `minNodeCpus`
@@ -35586,6 +35946,13 @@ module Google
35586
35946
  # @return [String]
35587
35947
  attr_accessor :provisioning_model
35588
35948
 
35949
+ # Specifies the timestamp, when the instance will be terminated, in RFC3339 text
35950
+ # format. If specified, the instance termination action will be performed at the
35951
+ # termination time.
35952
+ # Corresponds to the JSON property `terminationTime`
35953
+ # @return [String]
35954
+ attr_accessor :termination_time
35955
+
35589
35956
  def initialize(**args)
35590
35957
  update!(**args)
35591
35958
  end
@@ -35602,11 +35969,13 @@ module Google
35602
35969
  @location_hint = args[:location_hint] if args.key?(:location_hint)
35603
35970
  @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
35604
35971
  @maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
35972
+ @max_run_duration = args[:max_run_duration] if args.key?(:max_run_duration)
35605
35973
  @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
35606
35974
  @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
35607
35975
  @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
35608
35976
  @preemptible = args[:preemptible] if args.key?(:preemptible)
35609
35977
  @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
35978
+ @termination_time = args[:termination_time] if args.key?(:termination_time)
35610
35979
  end
35611
35980
  end
35612
35981
 
@@ -37121,6 +37490,13 @@ module Google
37121
37490
  # @return [String]
37122
37491
  attr_accessor :description
37123
37492
 
37493
+ # If specified, the domain name will be used during the integration between the
37494
+ # PSC connected endpoints and the Cloud DNS. For example, this is a valid domain
37495
+ # name: "p.mycompany.com".
37496
+ # Corresponds to the JSON property `domainNames`
37497
+ # @return [Array<String>]
37498
+ attr_accessor :domain_names
37499
+
37124
37500
  # If true, enable the proxy protocol which is for supplying client TCP/IP
37125
37501
  # address data in TCP connections that traverse proxies on their way to
37126
37502
  # destination servers.
@@ -37209,6 +37585,7 @@ module Google
37209
37585
  @consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
37210
37586
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
37211
37587
  @description = args[:description] if args.key?(:description)
37588
+ @domain_names = args[:domain_names] if args.key?(:domain_names)
37212
37589
  @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
37213
37590
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
37214
37591
  @id = args[:id] if args.key?(:id)
@@ -37622,6 +37999,12 @@ module Google
37622
37999
  # @return [Hash<String,Google::Apis::ComputeAlpha::ShareSettingsFolderConfig>]
37623
38000
  attr_accessor :folder_map
37624
38001
 
38002
+ # A map of project id and project config. This is only valid when share_type's
38003
+ # value is SPECIFIC_PROJECTS.
38004
+ # Corresponds to the JSON property `projectMap`
38005
+ # @return [Hash<String,Google::Apis::ComputeAlpha::ShareSettingsProjectConfig>]
38006
+ attr_accessor :project_map
38007
+
37625
38008
  # A List of Project names to specify consumer projects for this shared-
37626
38009
  # reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS.
37627
38010
  # Corresponds to the JSON property `projects`
@@ -37640,6 +38023,7 @@ module Google
37640
38023
  # Update properties of this object
37641
38024
  def update!(**args)
37642
38025
  @folder_map = args[:folder_map] if args.key?(:folder_map)
38026
+ @project_map = args[:project_map] if args.key?(:project_map)
37643
38027
  @projects = args[:projects] if args.key?(:projects)
37644
38028
  @share_type = args[:share_type] if args.key?(:share_type)
37645
38029
  end
@@ -37665,6 +38049,26 @@ module Google
37665
38049
  end
37666
38050
  end
37667
38051
 
38052
+ # Config for each project in the share settings.
38053
+ class ShareSettingsProjectConfig
38054
+ include Google::Apis::Core::Hashable
38055
+
38056
+ # The project ID, should be same as the key of this project config in the parent
38057
+ # map.
38058
+ # Corresponds to the JSON property `projectId`
38059
+ # @return [String]
38060
+ attr_accessor :project_id
38061
+
38062
+ def initialize(**args)
38063
+ update!(**args)
38064
+ end
38065
+
38066
+ # Update properties of this object
38067
+ def update!(**args)
38068
+ @project_id = args[:project_id] if args.key?(:project_id)
38069
+ end
38070
+ end
38071
+
37668
38072
  # A set of Shielded Instance options.
37669
38073
  class ShieldedInstanceConfig
37670
38074
  include Google::Apis::Core::Hashable
@@ -37941,6 +38345,12 @@ module Google
37941
38345
  class Snapshot
37942
38346
  include Google::Apis::Core::Hashable
37943
38347
 
38348
+ # [Output Only] The architecture of the snapshot. Valid values are ARM64 or
38349
+ # X86_64.
38350
+ # Corresponds to the JSON property `architecture`
38351
+ # @return [String]
38352
+ attr_accessor :architecture
38353
+
37944
38354
  # [Output Only] Set to true if snapshots are automatically created by applying
37945
38355
  # resource policy on the target disk.
37946
38356
  # Corresponds to the JSON property `autoCreated`
@@ -38156,6 +38566,7 @@ module Google
38156
38566
 
38157
38567
  # Update properties of this object
38158
38568
  def update!(**args)
38569
+ @architecture = args[:architecture] if args.key?(:architecture)
38159
38570
  @auto_created = args[:auto_created] if args.key?(:auto_created)
38160
38571
  @chain_name = args[:chain_name] if args.key?(:chain_name)
38161
38572
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@@ -38398,6 +38809,11 @@ module Google
38398
38809
  # @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
38399
38810
  attr_accessor :guest_accelerators
38400
38811
 
38812
+ # KeyRevocationActionType of the instance.
38813
+ # Corresponds to the JSON property `keyRevocationActionType`
38814
+ # @return [String]
38815
+ attr_accessor :key_revocation_action_type
38816
+
38401
38817
  # Labels to apply to instances that are created from this machine image.
38402
38818
  # Corresponds to the JSON property `labels`
38403
38819
  # @return [Hash<String,String>]
@@ -38461,6 +38877,7 @@ module Google
38461
38877
  @description = args[:description] if args.key?(:description)
38462
38878
  @disks = args[:disks] if args.key?(:disks)
38463
38879
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
38880
+ @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
38464
38881
  @labels = args[:labels] if args.key?(:labels)
38465
38882
  @machine_type = args[:machine_type] if args.key?(:machine_type)
38466
38883
  @metadata = args[:metadata] if args.key?(:metadata)
@@ -39485,8 +39902,9 @@ module Google
39485
39902
 
39486
39903
  # Whether to enable flow logging for this subnetwork. If this field is not
39487
39904
  # explicitly set, it will not appear in get listings. If not set the default
39488
- # behavior is to disable flow logging. This field isn't supported with the
39489
- # purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
39905
+ # behavior is determined by the org policy, if there is no org policy specified,
39906
+ # then it will default to disabled. This field isn't supported with the purpose
39907
+ # field set to INTERNAL_HTTPS_LOAD_BALANCER.
39490
39908
  # Corresponds to the JSON property `enableFlowLogs`
39491
39909
  # @return [Boolean]
39492
39910
  attr_accessor :enable_flow_logs
@@ -39526,8 +39944,8 @@ module Google
39526
39944
  # Can only be specified if VPC flow logging for this subnetwork is enabled. The
39527
39945
  # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
39528
39946
  # within the subnetwork where 1.0 means all collected logs are reported and 0.0
39529
- # means no logs are reported. Default is 0.5, which means half of all collected
39530
- # logs are reported.
39947
+ # means no logs are reported. Default is 0.5 unless otherwise specified by the
39948
+ # org policy, which means half of all collected logs are reported.
39531
39949
  # Corresponds to the JSON property `flowSampling`
39532
39950
  # @return [Float]
39533
39951
  attr_accessor :flow_sampling
@@ -39598,9 +40016,8 @@ module Google
39598
40016
  attr_accessor :name
39599
40017
 
39600
40018
  # The URL of the network to which this subnetwork belongs, provided by the
39601
- # client when initially creating the subnetwork. Only networks that are in the
39602
- # distributed mode can have subnetworks. This field can be set only at resource
39603
- # creation time.
40019
+ # client when initially creating the subnetwork. This field can be set only at
40020
+ # resource creation time.
39604
40021
  # Corresponds to the JSON property `network`
39605
40022
  # @return [String]
39606
40023
  attr_accessor :network
@@ -40003,7 +40420,8 @@ module Google
40003
40420
 
40004
40421
  # Whether to enable flow logging for this subnetwork. If this field is not
40005
40422
  # explicitly set, it will not appear in get listings. If not set the default
40006
- # behavior is to disable flow logging.
40423
+ # behavior is determined by the org policy, if there is no org policy specified,
40424
+ # then it will default to disabled.
40007
40425
  # Corresponds to the JSON property `enable`
40008
40426
  # @return [Boolean]
40009
40427
  attr_accessor :enable
@@ -40018,8 +40436,8 @@ module Google
40018
40436
  # Can only be specified if VPC flow logging for this subnetwork is enabled. The
40019
40437
  # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
40020
40438
  # within the subnetwork where 1.0 means all collected logs are reported and 0.0
40021
- # means no logs are reported. Default is 0.5, which means half of all collected
40022
- # logs are reported.
40439
+ # means no logs are reported. Default is 0.5 unless otherwise specified by the
40440
+ # org policy, which means half of all collected logs are reported.
40023
40441
  # Corresponds to the JSON property `flowSampling`
40024
40442
  # @return [Float]
40025
40443
  attr_accessor :flow_sampling
@@ -43635,7 +44053,7 @@ module Google
43635
44053
  class TestFailure
43636
44054
  include Google::Apis::Core::Hashable
43637
44055
 
43638
- # The actual output URL evaluated by load balancer containing the scheme, host,
44056
+ # The actual output URL evaluated by a load balancer containing the scheme, host,
43639
44057
  # path and query parameters.
43640
44058
  # Corresponds to the JSON property `actualOutputUrl`
43641
44059
  # @return [String]
@@ -43652,8 +44070,8 @@ module Google
43652
44070
  # @return [String]
43653
44071
  attr_accessor :actual_service
43654
44072
 
43655
- # The expected output URL evaluated by load balancer containing the scheme, host,
43656
- # path and query parameters.
44073
+ # The expected output URL evaluated by a load balancer containing the scheme,
44074
+ # host, path and query parameters.
43657
44075
  # Corresponds to the JSON property `expectedOutputUrl`
43658
44076
  # @return [String]
43659
44077
  attr_accessor :expected_output_url
@@ -43932,10 +44350,19 @@ module Google
43932
44350
  end
43933
44351
  end
43934
44352
 
43935
- # Upcoming Maintenance notification information.
44353
+ # Upcoming Maintenance notification information. TODO(b/196881882) Deprecate
44354
+ # this proto once it's fully migrated to be under proto ResourceStatus.
44355
+ # UpcomingMaintenance.
43936
44356
  class UpcomingMaintenance
43937
44357
  include Google::Apis::Core::Hashable
43938
44358
 
44359
+ # Indicates if the maintenance can be customer triggered. From more detail, see
44360
+ # go/sf-ctm-design.
44361
+ # Corresponds to the JSON property `canReschedule`
44362
+ # @return [Boolean]
44363
+ attr_accessor :can_reschedule
44364
+ alias_method :can_reschedule?, :can_reschedule
44365
+
43939
44366
  # [Output Only] The date when the maintenance will take place. This value is in
43940
44367
  # RFC3339 text format. DEPRECATED: Use start_time_window instead.
43941
44368
  # Corresponds to the JSON property `date`
@@ -43965,6 +44392,7 @@ module Google
43965
44392
 
43966
44393
  # Update properties of this object
43967
44394
  def update!(**args)
44395
+ @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
43968
44396
  @date = args[:date] if args.key?(:date)
43969
44397
  @start_time_window = args[:start_time_window] if args.key?(:start_time_window)
43970
44398
  @time = args[:time] if args.key?(:time)
@@ -43998,21 +44426,21 @@ module Google
43998
44426
  end
43999
44427
  end
44000
44428
 
44001
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
44002
- # * [Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/
44003
- # docs/reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
44004
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
44429
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
44430
+ # Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/
44431
+ # reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
44432
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
44005
44433
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
44006
44434
  # used by internal HTTP(S) load balancers. For a list of supported URL map
44007
- # features by load balancer type, see the Load balancing features: Routing and
44008
- # traffic management table. For a list of supported URL map features for Traffic
44009
- # Director, see the Traffic Director features: Routing and traffic management
44010
- # table. This resource defines mappings from host names and URL paths to either
44011
- # a backend service or a backend bucket. To use the global urlMaps resource, the
44012
- # backend service must have a loadBalancingScheme of either EXTERNAL or
44013
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
44014
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
44015
- # read URL Map Concepts.
44435
+ # features by the load balancer type, see the Load balancing features: Routing
44436
+ # and traffic management table. For a list of supported URL map features for
44437
+ # Traffic Director, see the Traffic Director features: Routing and traffic
44438
+ # management table. This resource defines mappings from hostnames and URL paths
44439
+ # to either a backend service or a backend bucket. To use the global urlMaps
44440
+ # resource, the backend service must have a loadBalancingScheme of either
44441
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
44442
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
44443
+ # information, read URL Map Concepts.
44016
44444
  class UrlMap
44017
44445
  include Google::Apis::Core::Hashable
44018
44446
 
@@ -44022,28 +44450,28 @@ module Google
44022
44450
  attr_accessor :creation_timestamp
44023
44451
 
44024
44452
  # defaultRouteAction takes effect when none of the hostRules match. The load
44025
- # balancer performs advanced routing actions like URL rewrites, header
44026
- # transformations, etc. prior to forwarding the request to the selected backend.
44027
- # If defaultRouteAction specifies any weightedBackendServices, defaultService
44028
- # must not be set. Conversely if defaultService is set, defaultRouteAction
44029
- # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
44453
+ # balancer performs advanced routing actions, such as URL rewrites and header
44454
+ # transformations, before forwarding the request to the selected backend. If
44455
+ # defaultRouteAction specifies any weightedBackendServices, defaultService must
44456
+ # not be set. Conversely if defaultService is set, defaultRouteAction cannot
44457
+ # contain any weightedBackendServices. Only one of defaultRouteAction or
44030
44458
  # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
44031
44459
  # support only the urlRewrite action within defaultRouteAction.
44032
- # defaultRouteAction has no effect when the URL map is bound to target gRPC
44033
- # proxy that has validateForProxyless field set to true.
44460
+ # defaultRouteAction has no effect when the URL map is bound to a target gRPC
44461
+ # proxy that has the validateForProxyless field set to true.
44034
44462
  # Corresponds to the JSON property `defaultRouteAction`
44035
44463
  # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
44036
44464
  attr_accessor :default_route_action
44037
44465
 
44038
44466
  # The full or partial URL of the defaultService resource to which traffic is
44039
- # directed if none of the hostRules match. If defaultRouteAction is additionally
44040
- # specified, advanced routing actions like URL Rewrites, etc. take effect prior
44041
- # to sending the request to the backend. However, if defaultService is specified,
44467
+ # directed if none of the hostRules match. If defaultRouteAction is also
44468
+ # specified, advanced routing actions, such as URL rewrites, take effect before
44469
+ # sending the request to the backend. However, if defaultService is specified,
44042
44470
  # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
44043
44471
  # routeAction specifies any weightedBackendServices, service must not be
44044
- # specified. Only one of defaultService, defaultUrlRedirect or
44472
+ # specified. Only one of defaultService, defaultUrlRedirect , or
44045
44473
  # defaultRouteAction.weightedBackendService must be set. defaultService has no
44046
- # effect when the URL map is bound to target gRPC proxy that has
44474
+ # effect when the URL map is bound to a target gRPC proxy that has the
44047
44475
  # validateForProxyless field set to true.
44048
44476
  # Corresponds to the JSON property `defaultService`
44049
44477
  # @return [String]
@@ -44061,11 +44489,10 @@ module Google
44061
44489
  attr_accessor :description
44062
44490
 
44063
44491
  # Fingerprint of this resource. A hash of the contents stored in this object.
44064
- # This field is used in optimistic locking. This field will be ignored when
44065
- # inserting a UrlMap. An up-to-date fingerprint must be provided in order to
44066
- # update the UrlMap, otherwise the request will fail with error 412
44067
- # conditionNotMet. To see the latest fingerprint, make a get() request to
44068
- # retrieve a UrlMap.
44492
+ # This field is used in optimistic locking. This field is ignored when inserting
44493
+ # a UrlMap. An up-to-date fingerprint must be provided in order to update the
44494
+ # UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see
44495
+ # the latest fingerprint, make a get() request to retrieve a UrlMap.
44069
44496
  # Corresponds to the JSON property `fingerprint`
44070
44497
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
44071
44498
  # @return [String]
@@ -44077,7 +44504,7 @@ module Google
44077
44504
  # @return [Google::Apis::ComputeAlpha::HttpHeaderAction]
44078
44505
  attr_accessor :header_action
44079
44506
 
44080
- # The list of HostRules to use against the URL.
44507
+ # The list of host rules to use against the URL.
44081
44508
  # Corresponds to the JSON property `hostRules`
44082
44509
  # @return [Array<Google::Apis::ComputeAlpha::HostRule>]
44083
44510
  attr_accessor :host_rules
@@ -44120,10 +44547,10 @@ module Google
44120
44547
  # @return [String]
44121
44548
  attr_accessor :self_link
44122
44549
 
44123
- # The list of expected URL mapping tests. Request to update this UrlMap will
44124
- # succeed only if all of the test cases pass. You can specify a maximum of 100
44125
- # tests per UrlMap. Not supported when the URL map is bound to target gRPC proxy
44126
- # that has validateForProxyless field set to true.
44550
+ # The list of expected URL mapping tests. Request to update the UrlMap succeeds
44551
+ # only if all test cases pass. You can specify a maximum of 100 tests per UrlMap.
44552
+ # Not supported when the URL map is bound to a target gRPC proxy that has
44553
+ # validateForProxyless field set to true.
44127
44554
  # Corresponds to the JSON property `tests`
44128
44555
  # @return [Array<Google::Apis::ComputeAlpha::UrlMapTest>]
44129
44556
  attr_accessor :tests
@@ -44303,18 +44730,18 @@ module Google
44303
44730
  # @return [String]
44304
44731
  attr_accessor :description
44305
44732
 
44306
- # The expected output URL evaluated by load balancer containing the scheme, host,
44307
- # path and query parameters. For rules that forward requests to backends, the
44308
- # test passes only when expectedOutputUrl matches the request forwarded by load
44309
- # balancer to backends. For rules with urlRewrite, the test verifies that the
44310
- # forwarded request matches hostRewrite and pathPrefixRewrite in the urlRewrite
44311
- # action. When service is specified, expectedOutputUrl`s scheme is ignored. For
44312
- # rules with urlRedirect, the test passes only if expectedOutputUrl matches the
44313
- # URL in the load balancer's redirect response. If urlRedirect specifies
44314
- # https_redirect, the test passes only if the scheme in expectedOutputUrl is
44315
- # also set to https. If urlRedirect specifies strip_query, the test passes only
44316
- # if expectedOutputUrl does not contain any query parameters. expectedOutputUrl
44317
- # is optional when service is specified.
44733
+ # The expected output URL evaluated by the load balancer containing the scheme,
44734
+ # host, path and query parameters. For rules that forward requests to backends,
44735
+ # the test passes only when expectedOutputUrl matches the request forwarded by
44736
+ # the load balancer to backends. For rules with urlRewrite, the test verifies
44737
+ # that the forwarded request matches hostRewrite and pathPrefixRewrite in the
44738
+ # urlRewrite action. When service is specified, expectedOutputUrl`s scheme is
44739
+ # ignored. For rules with urlRedirect, the test passes only if expectedOutputUrl
44740
+ # matches the URL in the load balancer's redirect response. If urlRedirect
44741
+ # specifies https_redirect, the test passes only if the scheme in
44742
+ # expectedOutputUrl is also set to HTTPS. If urlRedirect specifies strip_query,
44743
+ # the test passes only if expectedOutputUrl does not contain any query
44744
+ # parameters. expectedOutputUrl is optional when service is specified.
44318
44745
  # Corresponds to the JSON property `expectedOutputUrl`
44319
44746
  # @return [String]
44320
44747
  attr_accessor :expected_output_url
@@ -44351,7 +44778,8 @@ module Google
44351
44778
  attr_accessor :path
44352
44779
 
44353
44780
  # Expected BackendService or BackendBucket resource the given URL should be
44354
- # mapped to. service cannot be set if expectedRedirectResponseCode is set.
44781
+ # mapped to. The service field cannot be set if expectedRedirectResponseCode is
44782
+ # set.
44355
44783
  # Corresponds to the JSON property `service`
44356
44784
  # @return [String]
44357
44785
  attr_accessor :service
@@ -44658,21 +45086,36 @@ module Google
44658
45086
  class UrlMapsValidateRequest
44659
45087
  include Google::Apis::Core::Hashable
44660
45088
 
44661
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
44662
- # * [Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/
44663
- # docs/reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
44664
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
45089
+ # Specifies the load balancer type(s) this validation request is for. Use
45090
+ # EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced
45091
+ # Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load
45092
+ # Balancer. Other load balancer types are not supported. For more information,
45093
+ # refer to Choosing a load balancer. If unspecified, the load balancing scheme
45094
+ # will be inferred from the backend service resources this URL map references.
45095
+ # If that can not be inferred (for example, this URL map only references backend
45096
+ # buckets, or this Url map is for rewrites and redirects only and doesn't
45097
+ # reference any backends), EXTERNAL will be used as the default type. If
45098
+ # specified, the scheme(s) must not conflict with the load balancing scheme of
45099
+ # the backend service resources this Url map references.
45100
+ # Corresponds to the JSON property `loadBalancingSchemes`
45101
+ # @return [Array<String>]
45102
+ attr_accessor :load_balancing_schemes
45103
+
45104
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
45105
+ # Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/
45106
+ # reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
45107
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
44665
45108
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
44666
45109
  # used by internal HTTP(S) load balancers. For a list of supported URL map
44667
- # features by load balancer type, see the Load balancing features: Routing and
44668
- # traffic management table. For a list of supported URL map features for Traffic
44669
- # Director, see the Traffic Director features: Routing and traffic management
44670
- # table. This resource defines mappings from host names and URL paths to either
44671
- # a backend service or a backend bucket. To use the global urlMaps resource, the
44672
- # backend service must have a loadBalancingScheme of either EXTERNAL or
44673
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
44674
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
44675
- # read URL Map Concepts.
45110
+ # features by the load balancer type, see the Load balancing features: Routing
45111
+ # and traffic management table. For a list of supported URL map features for
45112
+ # Traffic Director, see the Traffic Director features: Routing and traffic
45113
+ # management table. This resource defines mappings from hostnames and URL paths
45114
+ # to either a backend service or a backend bucket. To use the global urlMaps
45115
+ # resource, the backend service must have a loadBalancingScheme of either
45116
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
45117
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
45118
+ # information, read URL Map Concepts.
44676
45119
  # Corresponds to the JSON property `resource`
44677
45120
  # @return [Google::Apis::ComputeAlpha::UrlMap]
44678
45121
  attr_accessor :resource
@@ -44683,6 +45126,7 @@ module Google
44683
45126
 
44684
45127
  # Update properties of this object
44685
45128
  def update!(**args)
45129
+ @load_balancing_schemes = args[:load_balancing_schemes] if args.key?(:load_balancing_schemes)
44686
45130
  @resource = args[:resource] if args.key?(:resource)
44687
45131
  end
44688
45132
  end
@@ -44711,16 +45155,16 @@ module Google
44711
45155
  class UrlRewrite
44712
45156
  include Google::Apis::Core::Hashable
44713
45157
 
44714
- # Prior to forwarding the request to the selected service, the request's host
44715
- # header is replaced with contents of hostRewrite. The value must be between 1
44716
- # and 255 characters.
45158
+ # Before forwarding the request to the selected service, the request's host
45159
+ # header is replaced with contents of hostRewrite. The value must be from 1 to
45160
+ # 255 characters.
44717
45161
  # Corresponds to the JSON property `hostRewrite`
44718
45162
  # @return [String]
44719
45163
  attr_accessor :host_rewrite
44720
45164
 
44721
- # Prior to forwarding the request to the selected backend service, the matching
45165
+ # Before forwarding the request to the selected backend service, the matching
44722
45166
  # portion of the request's path is replaced by pathPrefixRewrite. The value must
44723
- # be between 1 and 1024 characters.
45167
+ # be from 1 to 1024 characters.
44724
45168
  # Corresponds to the JSON property `pathPrefixRewrite`
44725
45169
  # @return [String]
44726
45170
  attr_accessor :path_prefix_rewrite
@@ -46437,14 +46881,13 @@ module Google
46437
46881
 
46438
46882
  # In contrast to a single BackendService in HttpRouteAction to which all
46439
46883
  # matching traffic is directed to, WeightedBackendService allows traffic to be
46440
- # split across multiple BackendServices. The volume of traffic for each
46441
- # BackendService is proportional to the weight specified in each
46442
- # WeightedBackendService
46884
+ # split across multiple backend services. The volume of traffic for each backend
46885
+ # service is proportional to the weight specified in each WeightedBackendService
46443
46886
  class WeightedBackendService
46444
46887
  include Google::Apis::Core::Hashable
46445
46888
 
46446
46889
  # The full or partial URL to the default BackendService resource. Before
46447
- # forwarding the request to backendService, the loadbalancer applies any
46890
+ # forwarding the request to backendService, the load balancer applies any
46448
46891
  # relevant headerActions specified as part of this backendServiceWeight.
46449
46892
  # Corresponds to the JSON property `backendService`
46450
46893
  # @return [String]
@@ -46456,12 +46899,12 @@ module Google
46456
46899
  # @return [Google::Apis::ComputeAlpha::HttpHeaderAction]
46457
46900
  attr_accessor :header_action
46458
46901
 
46459
- # Specifies the fraction of traffic sent to backendService, computed as weight /
46460
- # (sum of all weightedBackendService weights in routeAction) . The selection of
46461
- # a backend service is determined only for new traffic. Once a user's request
46462
- # has been directed to a backendService, subsequent requests will be sent to the
46463
- # same backendService as determined by the BackendService's session affinity
46464
- # policy. The value must be between 0 and 1000
46902
+ # Specifies the fraction of traffic sent to a backend service, computed as
46903
+ # weight / (sum of all weightedBackendService weights in routeAction) . The
46904
+ # selection of a backend service is determined only for new traffic. Once a user'
46905
+ # s request has been directed to a backend service, subsequent requests are sent
46906
+ # to the same backend service as determined by the backend service's session
46907
+ # affinity policy. The value must be from 0 to 1000.
46465
46908
  # Corresponds to the JSON property `weight`
46466
46909
  # @return [Fixnum]
46467
46910
  attr_accessor :weight
@@ -46871,31 +47314,31 @@ module Google
46871
47314
 
46872
47315
  # An Identity and Access Management (IAM) policy, which specifies access
46873
47316
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
46874
- # A `binding` binds one or more `members` to a single `role`. Members can be
46875
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
46876
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
46877
- # role or a user-created custom role. For some types of Google Cloud resources,
46878
- # a `binding` can also specify a `condition`, which is a logical expression that
46879
- # allows access to a resource only if the expression evaluates to `true`. A
46880
- # condition can add constraints based on attributes of the request, the resource,
46881
- # or both. To learn which resources support conditions in their IAM policies,
46882
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
46883
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
46884
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
46885
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
46886
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
46887
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
46888
- # title": "expirable access", "description": "Does not grant access after Sep
46889
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
46890
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
46891
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
46892
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
46893
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
46894
- # roles/resourcemanager.organizationViewer condition: title: expirable access
46895
- # description: Does not grant access after Sep 2020 expression: request.time <
46896
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
46897
- # description of IAM and its features, see the [IAM documentation](https://cloud.
46898
- # google.com/iam/docs/).
47317
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
47318
+ # Principals can be user accounts, service accounts, Google groups, and domains (
47319
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
47320
+ # an IAM predefined role or a user-created custom role. For some types of Google
47321
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
47322
+ # logical expression that allows access to a resource only if the expression
47323
+ # evaluates to `true`. A condition can add constraints based on attributes of
47324
+ # the request, the resource, or both. To learn which resources support
47325
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
47326
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
47327
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
47328
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
47329
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
47330
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
47331
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
47332
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
47333
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
47334
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
47335
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
47336
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
47337
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
47338
+ # access description: Does not grant access after Sep 2020 expression: request.
47339
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
47340
+ # a description of IAM and its features, see the [IAM documentation](https://
47341
+ # cloud.google.com/iam/docs/).
46899
47342
  # Corresponds to the JSON property `policy`
46900
47343
  # @return [Google::Apis::ComputeAlpha::Policy]
46901
47344
  attr_accessor :policy