google-apis-compute_alpha 0.16.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -521,7 +521,9 @@ module Google
521
521
  attr_accessor :public_dns_name
522
522
 
523
523
  # The DNS domain name for the public PTR record. You can set this field only if
524
- # the `setPublicPtr` field is enabled.
524
+ # the `setPublicPtr` field is enabled in accessConfig. If this field is
525
+ # unspecified in ipv6AccessConfig, a default PTR record will be createc for
526
+ # first IP in associated external IPv6 range.
525
527
  # Corresponds to the JSON property `publicPtrDomainName`
526
528
  # @return [String]
527
529
  attr_accessor :public_ptr_domain_name
@@ -534,7 +536,9 @@ module Google
534
536
  alias_method :set_public_dns?, :set_public_dns
535
537
 
536
538
  # Specifies whether a public DNS 'PTR' record should be created to map the
537
- # external IP address of the instance to a DNS domain name.
539
+ # external IP address of the instance to a DNS domain name. This field is not
540
+ # used in ipv6AccessConfig. A default PTR record will be created if the VM has
541
+ # external IPv6 range associated.
538
542
  # Corresponds to the JSON property `setPublicPtr`
539
543
  # @return [Boolean]
540
544
  attr_accessor :set_public_ptr
@@ -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