google-apis-compute_v1 0.1.0 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 55bf9ec7a0190f324f36b5227031d736d2667cf869174cfa713535b52f184127
4
- data.tar.gz: 642e0cac4cbe6f0ba8b5a6d6fdfe7a2e654773c40d40fd16d297f2db1a29cd5c
3
+ metadata.gz: 683bbfb2a2e68971229566c711bec6132a4c202f90dc10338505a5ce839b4e7c
4
+ data.tar.gz: 58f56cd15cbcc79c8b28805c950e18f237731a2d11c54a5a4183159926239b2f
5
5
  SHA512:
6
- metadata.gz: 4b47ce336557422e1c1351fd85f8cdf1d1e2de62cc472c3ab6e1b793de5cb6c05c71ac47dee25e89b677be7c1e195b1cbe4f8d710189deace35c4e0066cc528c
7
- data.tar.gz: 13427b4180519f35babafc9500913e8c73b9e9cc72fb375ebc6485c3d95fd4c9d12e7714351f9ebfd115d86fd531efa65fed75d4000a37f26f4b74a9a2eb00a2
6
+ metadata.gz: 13e54f6d901ce721e276e8bd540d3493542c72465e7278427b77859add8c52bde7f2a6849dc18fba2c4cea54ac738055078782d70a8a3c9a8c47da930364de19
7
+ data.tar.gz: f934e33b4f6b2961fe492aa4962481079172273af542eec92813397d86a41b10ff9c3f59d1aab553a764e06cddd047848a769dd03ade4dc1ca1a95d386f68ae7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Release history for google-apis-compute_v1
2
2
 
3
+ ### v0.2.0 (2021-01-29)
4
+
5
+ * Regenerated from discovery document revision 20210111
6
+ * Regenerated using generator version 0.1.2
7
+
3
8
  ### v0.1.0 (2021-01-07)
4
9
 
5
10
  * Regenerated using generator version 0.1.1
@@ -1028,6 +1028,30 @@ module Google
1028
1028
  end
1029
1029
  end
1030
1030
 
1031
+ # Specifies options for controlling advanced machine features. Options that
1032
+ # would traditionally be configured in a BIOS belong here. Features that require
1033
+ # operating system support may have corresponding entries in the GuestOsFeatures
1034
+ # of an Image (e.g., whether or not the OS in the Image supports nested
1035
+ # virtualization being enabled or disabled).
1036
+ class AdvancedMachineFeatures
1037
+ include Google::Apis::Core::Hashable
1038
+
1039
+ # Whether to enable nested virtualization or not (default is false).
1040
+ # Corresponds to the JSON property `enableNestedVirtualization`
1041
+ # @return [Boolean]
1042
+ attr_accessor :enable_nested_virtualization
1043
+ alias_method :enable_nested_virtualization?, :enable_nested_virtualization
1044
+
1045
+ def initialize(**args)
1046
+ update!(**args)
1047
+ end
1048
+
1049
+ # Update properties of this object
1050
+ def update!(**args)
1051
+ @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1052
+ end
1053
+ end
1054
+
1031
1055
  # An alias IP range attached to an instance's network interface.
1032
1056
  class AliasIpRange
1033
1057
  include Google::Apis::Core::Hashable
@@ -2299,49 +2323,22 @@ module Google
2299
2323
  class Backend
2300
2324
  include Google::Apis::Core::Hashable
2301
2325
 
2302
- # Specifies the balancing mode for the backend.
2303
- # When choosing a balancing mode, you need to consider the loadBalancingScheme,
2304
- # and protocol for the backend service, as well as the type of backend (instance
2305
- # group or NEG).
2306
- #
2307
- # - If the load balancing mode is CONNECTION, then the load is spread based on
2308
- # how many concurrent connections the backend can handle.
2309
- # You can use the CONNECTION balancing mode if the protocol for the backend
2310
- # service is SSL, TCP, or UDP.
2311
- # If the loadBalancingScheme for the backend service is EXTERNAL (SSL Proxy and
2312
- # TCP Proxy load balancers), you must also specify exactly one of the following
2313
- # parameters: maxConnections (except for regional managed instance groups),
2314
- # maxConnectionsPerInstance, or maxConnectionsPerEndpoint.
2315
- # If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/
2316
- # UDP Load Balancers) or EXTERNAL (Network Load Balancing), you cannot specify
2317
- # any additional parameters.
2318
- #
2319
- # - If the load balancing mode is RATE, the load is spread based on the rate of
2320
- # HTTP requests per second (RPS).
2321
- # You can use the RATE balancing mode if the protocol for the backend service is
2322
- # HTTP, HTTP2, or HTTPS. You must specify exactly one of the following
2323
- # parameters: maxRate (except for regional managed instance groups),
2324
- # maxRatePerInstance, or maxRatePerEndpoint.
2325
- #
2326
- # - If the load balancing mode is UTILIZATION, the load is spread based on the
2327
- # backend utilization of instances in an instance group.
2328
- # You can use the UTILIZATION balancing mode if the loadBalancingScheme of the
2329
- # backend service is EXTERNAL (except Network Load Balancing),
2330
- # INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and the backends are instance
2331
- # groups. There are no restrictions on the backend service protocol.
2326
+ # Specifies how to determine whether the backend of a load balancer can handle
2327
+ # additional traffic or is fully loaded. For usage guidelines, see Connection
2328
+ # balancing mode.
2332
2329
  # Corresponds to the JSON property `balancingMode`
2333
2330
  # @return [String]
2334
2331
  attr_accessor :balancing_mode
2335
2332
 
2336
- # A multiplier applied to the group's maximum servicing capacity (based on
2337
- # UTILIZATION, RATE or CONNECTION). Default value is 1, which means the group
2338
- # will serve up to 100% of its configured capacity (depending on balancingMode).
2339
- # A setting of 0 means the group is completely drained, offering 0% of its
2340
- # available capacity. Valid range is 0.0 and [0.1,1.0]. You cannot configure a
2341
- # setting larger than 0 and smaller than 0.1. You cannot configure a setting of
2342
- # 0 when there is only one backend attached to the backend service.
2343
- # This cannot be used for Internal TCP/UDP Load Balancing and Network Load
2344
- # Balancing.
2333
+ # A multiplier applied to the backend's target capacity of its balancing mode.
2334
+ # The default value is 1, which means the group serves up to 100% of its
2335
+ # configured capacity (depending on balancingMode). A setting of 0 means the
2336
+ # group is completely drained, offering 0% of its available capacity. The valid
2337
+ # ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and
2338
+ # smaller than 0.1. You cannot configure a setting of 0 when there is only one
2339
+ # backend attached to the backend service.
2340
+ # Not supported by:
2341
+ # - Internal TCP/UDP Load Balancing - Network Load Balancing
2345
2342
  # Corresponds to the JSON property `capacityScaler`
2346
2343
  # @return [Float]
2347
2344
  attr_accessor :capacity_scaler
@@ -2379,91 +2376,52 @@ module Google
2379
2376
  # @return [String]
2380
2377
  attr_accessor :group
2381
2378
 
2382
- # Defines a target maximum number of simultaneous connections that the backend
2383
- # can handle. Valid for network endpoint group and instance group backends (
2384
- # except for regional managed instance groups). If the backend's balancingMode
2385
- # is UTILIZATION, this is an optional parameter. If the backend's balancingMode
2386
- # is CONNECTION, and backend is attached to a backend service whose
2387
- # loadBalancingScheme is EXTERNAL (except Network Load Balancing), you must
2388
- # specify either this parameter, maxConnectionsPerInstance, or
2389
- # maxConnectionsPerEndpoint.
2390
- # Not available if the backend's balancingMode is RATE. Cannot be specified for
2391
- # Network Load Balancing or Internal TCP/UDP Load Balancing, even though those
2392
- # load balancers require a balancing mode of CONNECTION.
2379
+ # Defines a target maximum number of simultaneous connections. For usage
2380
+ # guidelines, see Connection balancing mode and Utilization balancing mode. Not
2381
+ # available if the backend's balancingMode is RATE. Not supported by:
2382
+ # - Internal TCP/UDP Load Balancing - Network Load Balancing
2393
2383
  # Corresponds to the JSON property `maxConnections`
2394
2384
  # @return [Fixnum]
2395
2385
  attr_accessor :max_connections
2396
2386
 
2397
- # Defines a target maximum number of simultaneous connections for an endpoint of
2398
- # a NEG. This is multiplied by the number of endpoints in the NEG to implicitly
2399
- # calculate a maximum number of target maximum simultaneous connections for the
2400
- # NEG. If the backend's balancingMode is CONNECTION, and backend is attached to
2401
- # a backend service whose loadBalancingScheme is EXTERNAL (except Network Load
2402
- # Balancing), you must specify either this parameter, maxConnections, or
2403
- # maxConnectionsPerInstance.
2404
- # Not available if the backend's balancingMode is RATE. Cannot be specified for
2405
- # Network Load Balancing or Internal TCP/UDP Load Balancing, even though those
2406
- # load balancers require a balancing mode of CONNECTION.
2387
+ # Defines a target maximum number of simultaneous connections. For usage
2388
+ # guidelines, see Connection balancing mode and Utilization balancing mode.
2389
+ # Not available if the backend's balancingMode is RATE. Not supported by:
2390
+ # - Internal TCP/UDP Load Balancing - Network Load Balancing.
2407
2391
  # Corresponds to the JSON property `maxConnectionsPerEndpoint`
2408
2392
  # @return [Fixnum]
2409
2393
  attr_accessor :max_connections_per_endpoint
2410
2394
 
2411
- # Defines a target maximum number of simultaneous connections for a single VM in
2412
- # a backend instance group. This is multiplied by the number of instances in the
2413
- # instance group to implicitly calculate a target maximum number of simultaneous
2414
- # connections for the whole instance group. If the backend's balancingMode is
2415
- # UTILIZATION, this is an optional parameter. If the backend's balancingMode is
2416
- # CONNECTION, and backend is attached to a backend service whose
2417
- # loadBalancingScheme is EXTERNAL (except Network Load Balancing), you must
2418
- # specify either this parameter, maxConnections, or maxConnectionsPerEndpoint.
2419
- # Not available if the backend's balancingMode is RATE. Cannot be specified for
2420
- # Network Load Balancing or Internal TCP/UDP Load Balancing, even though those
2421
- # load balancers require a balancing mode of CONNECTION.
2395
+ # Defines a target maximum number of simultaneous connections. For usage
2396
+ # guidelines, see Connection balancing mode and Utilization balancing mode.
2397
+ # Not available if the backend's balancingMode is RATE. Not supported by:
2398
+ # - Internal TCP/UDP Load Balancing - Network Load Balancing.
2422
2399
  # Corresponds to the JSON property `maxConnectionsPerInstance`
2423
2400
  # @return [Fixnum]
2424
2401
  attr_accessor :max_connections_per_instance
2425
2402
 
2426
- # Defines a maximum number of HTTP requests per second (RPS) that the backend
2427
- # can handle. Valid for network endpoint group and instance group backends (
2428
- # except for regional managed instance groups). Must not be defined if the
2429
- # backend is a managed instance group that uses autoscaling based on load
2430
- # balancing.
2431
- # If the backend's balancingMode is UTILIZATION, this is an optional parameter.
2432
- # If the backend's balancingMode is RATE, you must specify maxRate,
2433
- # maxRatePerInstance, or maxRatePerEndpoint.
2403
+ # Defines a maximum number of HTTP requests per second (RPS). For usage
2404
+ # guidelines, see Rate balancing mode and Utilization balancing mode.
2434
2405
  # Not available if the backend's balancingMode is CONNECTION.
2435
2406
  # Corresponds to the JSON property `maxRate`
2436
2407
  # @return [Fixnum]
2437
2408
  attr_accessor :max_rate
2438
2409
 
2439
- # Defines a maximum target for requests per second (RPS) for an endpoint of a
2440
- # NEG. This is multiplied by the number of endpoints in the NEG to implicitly
2441
- # calculate a target maximum rate for the NEG.
2442
- # If the backend's balancingMode is RATE, you must specify either this parameter,
2443
- # maxRate (except for regional managed instance groups), or maxRatePerInstance.
2410
+ # Defines a maximum target for requests per second (RPS). For usage guidelines,
2411
+ # see Rate balancing mode and Utilization balancing mode.
2444
2412
  # Not available if the backend's balancingMode is CONNECTION.
2445
2413
  # Corresponds to the JSON property `maxRatePerEndpoint`
2446
2414
  # @return [Float]
2447
2415
  attr_accessor :max_rate_per_endpoint
2448
2416
 
2449
- # Defines a maximum target for requests per second (RPS) for a single VM in a
2450
- # backend instance group. This is multiplied by the number of instances in the
2451
- # instance group to implicitly calculate a target maximum rate for the whole
2452
- # instance group.
2453
- # If the backend's balancingMode is UTILIZATION, this is an optional parameter.
2454
- # If the backend's balancingMode is RATE, you must specify either this parameter,
2455
- # maxRate (except for regional managed instance groups), or maxRatePerEndpoint.
2417
+ # Defines a maximum target for requests per second (RPS). For usage guidelines,
2418
+ # see Rate balancing mode and Utilization balancing mode.
2456
2419
  # Not available if the backend's balancingMode is CONNECTION.
2457
2420
  # Corresponds to the JSON property `maxRatePerInstance`
2458
2421
  # @return [Float]
2459
2422
  attr_accessor :max_rate_per_instance
2460
2423
 
2461
- # Defines the maximum average backend utilization of a backend VM in an instance
2462
- # group. The valid range is [0.0, 1.0]. This is an optional parameter if the
2463
- # backend's balancingMode is UTILIZATION.
2464
- # This parameter can be used in conjunction with maxRate, maxRatePerInstance,
2465
- # maxConnections (except for regional managed instance groups), or
2466
- # maxConnectionsPerInstance.
2424
+ #
2467
2425
  # Corresponds to the JSON property `maxUtilization`
2468
2426
  # @return [Float]
2469
2427
  attr_accessor :max_utilization
@@ -3048,7 +3006,8 @@ module Google
3048
3006
 
3049
3007
  # The backend service timeout has a different meaning depending on the type of
3050
3008
  # load balancer. For more information see, Backend service settings The default
3051
- # is 30 seconds.
3009
+ # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
3010
+ # seconds.
3052
3011
  # Corresponds to the JSON property `timeoutSec`
3053
3012
  # @return [Fixnum]
3054
3013
  attr_accessor :timeout_sec
@@ -4441,9 +4400,9 @@ module Google
4441
4400
  class ConnectionDraining
4442
4401
  include Google::Apis::Core::Hashable
4443
4402
 
4444
- # The amount of time in seconds to allow existing connections to persist while
4445
- # on unhealthy backend VMs. Only applicable if the protocol is not UDP. The
4446
- # valid range is [0, 3600].
4403
+ # Configures a duration timeout for existing requests on a removed backend
4404
+ # instance. For supported load balancers and protocols, as described in Enabling
4405
+ # connection draining.
4447
4406
  # Corresponds to the JSON property `drainingTimeoutSec`
4448
4407
  # @return [Fixnum]
4449
4408
  attr_accessor :draining_timeout_sec
@@ -4554,8 +4513,7 @@ module Google
4554
4513
  attr_accessor :allow_methods
4555
4514
 
4556
4515
  # Specifies the regualar expression patterns that match allowed origins. For
4557
- # regular expression grammar please see en.cppreference.com/w/cpp/regex/
4558
- # ecmascript
4516
+ # regular expression grammar please see github.com/google/re2/wiki/Syntax
4559
4517
  # An origin is allowed if it matches either an item in allowOrigins or an item
4560
4518
  # in allowOriginRegexes.
4561
4519
  # Corresponds to the JSON property `allowOriginRegexes`
@@ -4822,6 +4780,12 @@ module Google
4822
4780
  # @return [Array<String>]
4823
4781
  attr_accessor :licenses
4824
4782
 
4783
+ # An opaque location hint used to place the disk close to other resources. This
4784
+ # field is for use by internal tools that use the public API.
4785
+ # Corresponds to the JSON property `locationHint`
4786
+ # @return [String]
4787
+ attr_accessor :location_hint
4788
+
4825
4789
  # Name of the resource. Provided by the client when the resource is created. The
4826
4790
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
4827
4791
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -4863,6 +4827,12 @@ module Google
4863
4827
  # @return [Array<String>]
4864
4828
  attr_accessor :resource_policies
4865
4829
 
4830
+ # [Output Only] Reserved for future use.
4831
+ # Corresponds to the JSON property `satisfiesPzs`
4832
+ # @return [Boolean]
4833
+ attr_accessor :satisfies_pzs
4834
+ alias_method :satisfies_pzs?, :satisfies_pzs
4835
+
4866
4836
  # [Output Only] Server-defined fully-qualified URL for this resource.
4867
4837
  # Corresponds to the JSON property `selfLink`
4868
4838
  # @return [String]
@@ -4955,9 +4925,22 @@ module Google
4955
4925
  # @return [String]
4956
4926
  attr_accessor :source_snapshot_id
4957
4927
 
4958
- # [Output Only] The status of disk creation. CREATING: Disk is provisioning.
4959
- # RESTORING: Source data is being copied into the disk. FAILED: Disk creation
4960
- # failed. READY: Disk is ready for use. DELETING: Disk is deleting.
4928
+ # The full Google Cloud Storage URI where the disk image is stored. This file
4929
+ # must be a gzip-compressed tarball whose name ends in .tar.gz or virtual
4930
+ # machine disk whose name ends in vmdk. Valid URIs may start with gs:// or https:
4931
+ # //storage.googleapis.com/. This flag is not optimized for creating multiple
4932
+ # disks from a source storage object. To create many disks from a source storage
4933
+ # object, use gcloud compute images import instead.
4934
+ # Corresponds to the JSON property `sourceStorageObject`
4935
+ # @return [String]
4936
+ attr_accessor :source_storage_object
4937
+
4938
+ # [Output Only] The status of disk creation.
4939
+ # - CREATING: Disk is provisioning.
4940
+ # - RESTORING: Source data is being copied into the disk.
4941
+ # - FAILED: Disk creation failed.
4942
+ # - READY: Disk is ready for use.
4943
+ # - DELETING: Disk is deleting.
4961
4944
  # Corresponds to the JSON property `status`
4962
4945
  # @return [String]
4963
4946
  attr_accessor :status
@@ -5000,12 +4983,14 @@ module Google
5000
4983
  @last_detach_timestamp = args[:last_detach_timestamp] if args.key?(:last_detach_timestamp)
5001
4984
  @license_codes = args[:license_codes] if args.key?(:license_codes)
5002
4985
  @licenses = args[:licenses] if args.key?(:licenses)
4986
+ @location_hint = args[:location_hint] if args.key?(:location_hint)
5003
4987
  @name = args[:name] if args.key?(:name)
5004
4988
  @options = args[:options] if args.key?(:options)
5005
4989
  @physical_block_size_bytes = args[:physical_block_size_bytes] if args.key?(:physical_block_size_bytes)
5006
4990
  @region = args[:region] if args.key?(:region)
5007
4991
  @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
5008
4992
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
4993
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
5009
4994
  @self_link = args[:self_link] if args.key?(:self_link)
5010
4995
  @size_gb = args[:size_gb] if args.key?(:size_gb)
5011
4996
  @source_disk = args[:source_disk] if args.key?(:source_disk)
@@ -5016,6 +5001,7 @@ module Google
5016
5001
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
5017
5002
  @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key)
5018
5003
  @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
5004
+ @source_storage_object = args[:source_storage_object] if args.key?(:source_storage_object)
5019
5005
  @status = args[:status] if args.key?(:status)
5020
5006
  @type = args[:type] if args.key?(:type)
5021
5007
  @users = args[:users] if args.key?(:users)
@@ -6924,6 +6910,475 @@ module Google
6924
6910
  end
6925
6911
  end
6926
6912
 
6913
+ #
6914
+ class FirewallPoliciesListAssociationsResponse
6915
+ include Google::Apis::Core::Hashable
6916
+
6917
+ # A list of associations.
6918
+ # Corresponds to the JSON property `associations`
6919
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyAssociation>]
6920
+ attr_accessor :associations
6921
+
6922
+ # [Output Only] Type of firewallPolicy associations. Always compute#
6923
+ # FirewallPoliciesListAssociations for lists of firewallPolicy associations.
6924
+ # Corresponds to the JSON property `kind`
6925
+ # @return [String]
6926
+ attr_accessor :kind
6927
+
6928
+ def initialize(**args)
6929
+ update!(**args)
6930
+ end
6931
+
6932
+ # Update properties of this object
6933
+ def update!(**args)
6934
+ @associations = args[:associations] if args.key?(:associations)
6935
+ @kind = args[:kind] if args.key?(:kind)
6936
+ end
6937
+ end
6938
+
6939
+ # Represents a Firewall Policy resource. (== resource_for `$api_version`.
6940
+ # firewallPolicies ==)
6941
+ class FirewallPolicy
6942
+ include Google::Apis::Core::Hashable
6943
+
6944
+ # A list of associations that belong to this firewall policy.
6945
+ # Corresponds to the JSON property `associations`
6946
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyAssociation>]
6947
+ attr_accessor :associations
6948
+
6949
+ # [Output Only] Creation timestamp in RFC3339 text format.
6950
+ # Corresponds to the JSON property `creationTimestamp`
6951
+ # @return [String]
6952
+ attr_accessor :creation_timestamp
6953
+
6954
+ # An optional description of this resource. Provide this property when you
6955
+ # create the resource.
6956
+ # Corresponds to the JSON property `description`
6957
+ # @return [String]
6958
+ attr_accessor :description
6959
+
6960
+ # User-provided name of the Organization firewall plicy. The name should be
6961
+ # unique in the organization in which the firewall policy is created. The name
6962
+ # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
6963
+ # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
6964
+ # [a-z0-9])?` which means the first character must be a lowercase letter, and
6965
+ # all following characters must be a dash, lowercase letter, or digit, except
6966
+ # the last character, which cannot be a dash.
6967
+ # Corresponds to the JSON property `displayName`
6968
+ # @return [String]
6969
+ attr_accessor :display_name
6970
+
6971
+ # Specifies a fingerprint for this resource, which is essentially a hash of the
6972
+ # metadata's contents and used for optimistic locking. The fingerprint is
6973
+ # initially generated by Compute Engine and changes after every request to
6974
+ # modify or update metadata. You must always provide an up-to-date fingerprint
6975
+ # hash in order to update or change metadata, otherwise the request will fail
6976
+ # with error 412 conditionNotMet.
6977
+ # To see the latest fingerprint, make get() request to the firewall policy.
6978
+ # Corresponds to the JSON property `fingerprint`
6979
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
6980
+ # @return [String]
6981
+ attr_accessor :fingerprint
6982
+
6983
+ # [Output Only] The unique identifier for the resource. This identifier is
6984
+ # defined by the server.
6985
+ # Corresponds to the JSON property `id`
6986
+ # @return [Fixnum]
6987
+ attr_accessor :id
6988
+
6989
+ # [Output only] Type of the resource. Always compute#firewallPolicyfor firewall
6990
+ # policies
6991
+ # Corresponds to the JSON property `kind`
6992
+ # @return [String]
6993
+ attr_accessor :kind
6994
+
6995
+ # [Output Only] Name of the resource. It is a numeric ID allocated by GCP which
6996
+ # uniquely identifies the Firewall Policy.
6997
+ # Corresponds to the JSON property `name`
6998
+ # @return [String]
6999
+ attr_accessor :name
7000
+
7001
+ # [Output Only] The parent of the firewall policy.
7002
+ # Corresponds to the JSON property `parent`
7003
+ # @return [String]
7004
+ attr_accessor :parent
7005
+
7006
+ # [Output Only] Total count of all firewall policy rule tuples. A firewall
7007
+ # policy can not exceed a set number of tuples.
7008
+ # Corresponds to the JSON property `ruleTupleCount`
7009
+ # @return [Fixnum]
7010
+ attr_accessor :rule_tuple_count
7011
+
7012
+ # A list of rules that belong to this policy. There must always be a default
7013
+ # rule (rule with priority 2147483647 and match "*"). If no rules are provided
7014
+ # when creating a firewall policy, a default rule with action "allow" will be
7015
+ # added.
7016
+ # Corresponds to the JSON property `rules`
7017
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
7018
+ attr_accessor :rules
7019
+
7020
+ # [Output Only] Server-defined URL for the resource.
7021
+ # Corresponds to the JSON property `selfLink`
7022
+ # @return [String]
7023
+ attr_accessor :self_link
7024
+
7025
+ # [Output Only] Server-defined URL for this resource with the resource id.
7026
+ # Corresponds to the JSON property `selfLinkWithId`
7027
+ # @return [String]
7028
+ attr_accessor :self_link_with_id
7029
+
7030
+ def initialize(**args)
7031
+ update!(**args)
7032
+ end
7033
+
7034
+ # Update properties of this object
7035
+ def update!(**args)
7036
+ @associations = args[:associations] if args.key?(:associations)
7037
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
7038
+ @description = args[:description] if args.key?(:description)
7039
+ @display_name = args[:display_name] if args.key?(:display_name)
7040
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
7041
+ @id = args[:id] if args.key?(:id)
7042
+ @kind = args[:kind] if args.key?(:kind)
7043
+ @name = args[:name] if args.key?(:name)
7044
+ @parent = args[:parent] if args.key?(:parent)
7045
+ @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
7046
+ @rules = args[:rules] if args.key?(:rules)
7047
+ @self_link = args[:self_link] if args.key?(:self_link)
7048
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
7049
+ end
7050
+ end
7051
+
7052
+ #
7053
+ class FirewallPolicyAssociation
7054
+ include Google::Apis::Core::Hashable
7055
+
7056
+ # The target that the firewall policy is attached to.
7057
+ # Corresponds to the JSON property `attachmentTarget`
7058
+ # @return [String]
7059
+ attr_accessor :attachment_target
7060
+
7061
+ # [Output Only] The display name of the firewall policy of the association.
7062
+ # Corresponds to the JSON property `displayName`
7063
+ # @return [String]
7064
+ attr_accessor :display_name
7065
+
7066
+ # [Output Only] The firewall policy ID of the association.
7067
+ # Corresponds to the JSON property `firewallPolicyId`
7068
+ # @return [String]
7069
+ attr_accessor :firewall_policy_id
7070
+
7071
+ # The name for an association.
7072
+ # Corresponds to the JSON property `name`
7073
+ # @return [String]
7074
+ attr_accessor :name
7075
+
7076
+ def initialize(**args)
7077
+ update!(**args)
7078
+ end
7079
+
7080
+ # Update properties of this object
7081
+ def update!(**args)
7082
+ @attachment_target = args[:attachment_target] if args.key?(:attachment_target)
7083
+ @display_name = args[:display_name] if args.key?(:display_name)
7084
+ @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
7085
+ @name = args[:name] if args.key?(:name)
7086
+ end
7087
+ end
7088
+
7089
+ #
7090
+ class FirewallPolicyList
7091
+ include Google::Apis::Core::Hashable
7092
+
7093
+ # [Output Only] Unique identifier for the resource; defined by the server.
7094
+ # Corresponds to the JSON property `id`
7095
+ # @return [String]
7096
+ attr_accessor :id
7097
+
7098
+ # A list of FirewallPolicy resources.
7099
+ # Corresponds to the JSON property `items`
7100
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicy>]
7101
+ attr_accessor :items
7102
+
7103
+ # [Output Only] Type of resource. Always compute#firewallPolicyList for listsof
7104
+ # FirewallPolicies
7105
+ # Corresponds to the JSON property `kind`
7106
+ # @return [String]
7107
+ attr_accessor :kind
7108
+
7109
+ # [Output Only] This token allows you to get the next page of results for list
7110
+ # requests. If the number of results is larger than maxResults, use the
7111
+ # nextPageToken as a value for the query parameter pageToken in the next list
7112
+ # request. Subsequent list requests will have their own nextPageToken to
7113
+ # continue paging through the results.
7114
+ # Corresponds to the JSON property `nextPageToken`
7115
+ # @return [String]
7116
+ attr_accessor :next_page_token
7117
+
7118
+ # [Output Only] Informational warning message.
7119
+ # Corresponds to the JSON property `warning`
7120
+ # @return [Google::Apis::ComputeV1::FirewallPolicyList::Warning]
7121
+ attr_accessor :warning
7122
+
7123
+ def initialize(**args)
7124
+ update!(**args)
7125
+ end
7126
+
7127
+ # Update properties of this object
7128
+ def update!(**args)
7129
+ @id = args[:id] if args.key?(:id)
7130
+ @items = args[:items] if args.key?(:items)
7131
+ @kind = args[:kind] if args.key?(:kind)
7132
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
7133
+ @warning = args[:warning] if args.key?(:warning)
7134
+ end
7135
+
7136
+ # [Output Only] Informational warning message.
7137
+ class Warning
7138
+ include Google::Apis::Core::Hashable
7139
+
7140
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
7141
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
7142
+ # Corresponds to the JSON property `code`
7143
+ # @return [String]
7144
+ attr_accessor :code
7145
+
7146
+ # [Output Only] Metadata about this warning in key: value format. For example:
7147
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
7148
+ # Corresponds to the JSON property `data`
7149
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyList::Warning::Datum>]
7150
+ attr_accessor :data
7151
+
7152
+ # [Output Only] A human-readable description of the warning code.
7153
+ # Corresponds to the JSON property `message`
7154
+ # @return [String]
7155
+ attr_accessor :message
7156
+
7157
+ def initialize(**args)
7158
+ update!(**args)
7159
+ end
7160
+
7161
+ # Update properties of this object
7162
+ def update!(**args)
7163
+ @code = args[:code] if args.key?(:code)
7164
+ @data = args[:data] if args.key?(:data)
7165
+ @message = args[:message] if args.key?(:message)
7166
+ end
7167
+
7168
+ #
7169
+ class Datum
7170
+ include Google::Apis::Core::Hashable
7171
+
7172
+ # [Output Only] A key that provides more detail on the warning being returned.
7173
+ # For example, for warnings where there are no results in a list request for a
7174
+ # particular zone, this key might be scope and the key value might be the zone
7175
+ # name. Other examples might be a key indicating a deprecated resource and a
7176
+ # suggested replacement, or a warning about invalid network settings (for
7177
+ # example, if an instance attempts to perform IP forwarding but is not enabled
7178
+ # for IP forwarding).
7179
+ # Corresponds to the JSON property `key`
7180
+ # @return [String]
7181
+ attr_accessor :key
7182
+
7183
+ # [Output Only] A warning data value corresponding to the key.
7184
+ # Corresponds to the JSON property `value`
7185
+ # @return [String]
7186
+ attr_accessor :value
7187
+
7188
+ def initialize(**args)
7189
+ update!(**args)
7190
+ end
7191
+
7192
+ # Update properties of this object
7193
+ def update!(**args)
7194
+ @key = args[:key] if args.key?(:key)
7195
+ @value = args[:value] if args.key?(:value)
7196
+ end
7197
+ end
7198
+ end
7199
+ end
7200
+
7201
+ # Represents a rule that describes one or more match conditions along with the
7202
+ # action to be taken when traffic matches this condition (allow or deny).
7203
+ class FirewallPolicyRule
7204
+ include Google::Apis::Core::Hashable
7205
+
7206
+ # The Action to perform when the client connection triggers the rule. Can
7207
+ # currently be either "allow" or "deny()" where valid values for status are 403,
7208
+ # 404, and 502.
7209
+ # Corresponds to the JSON property `action`
7210
+ # @return [String]
7211
+ attr_accessor :action
7212
+
7213
+ # An optional description of this resource. Provide this property when you
7214
+ # create the resource.
7215
+ # Corresponds to the JSON property `description`
7216
+ # @return [String]
7217
+ attr_accessor :description
7218
+
7219
+ # The direction in which this rule applies.
7220
+ # Corresponds to the JSON property `direction`
7221
+ # @return [String]
7222
+ attr_accessor :direction
7223
+
7224
+ # Denotes whether the firewall policy rule is disabled. When set to true, the
7225
+ # firewall policy rule is not enforced and traffic behaves as if it did not
7226
+ # exist. If this is unspecified, the firewall policy rule will be enabled.
7227
+ # Corresponds to the JSON property `disabled`
7228
+ # @return [Boolean]
7229
+ attr_accessor :disabled
7230
+ alias_method :disabled?, :disabled
7231
+
7232
+ # Denotes whether to enable logging for a particular rule. If logging is enabled,
7233
+ # logs will be exported to the configured export destination in Stackdriver.
7234
+ # Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging
7235
+ # on "goto_next" rules.
7236
+ # Corresponds to the JSON property `enableLogging`
7237
+ # @return [Boolean]
7238
+ attr_accessor :enable_logging
7239
+ alias_method :enable_logging?, :enable_logging
7240
+
7241
+ # [Output only] Type of the resource. Always compute#firewallPolicyRule for
7242
+ # firewall policy rules
7243
+ # Corresponds to the JSON property `kind`
7244
+ # @return [String]
7245
+ attr_accessor :kind
7246
+
7247
+ # Represents a match condition that incoming traffic is evaluated against.
7248
+ # Exactly one field must be specified.
7249
+ # Corresponds to the JSON property `match`
7250
+ # @return [Google::Apis::ComputeV1::FirewallPolicyRuleMatcher]
7251
+ attr_accessor :match
7252
+
7253
+ # An integer indicating the priority of a rule in the list. The priority must be
7254
+ # a positive value between 0 and 2147483647. Rules are evaluated from highest to
7255
+ # lowest priority where 0 is the highest priority and 2147483647 is the lowest
7256
+ # prority.
7257
+ # Corresponds to the JSON property `priority`
7258
+ # @return [Fixnum]
7259
+ attr_accessor :priority
7260
+
7261
+ # [Output Only] Calculation of the complexity of a single firewall policy rule.
7262
+ # Corresponds to the JSON property `ruleTupleCount`
7263
+ # @return [Fixnum]
7264
+ attr_accessor :rule_tuple_count
7265
+
7266
+ # A list of network resource URLs to which this rule applies. This field allows
7267
+ # you to control which network's VMs get this rule. If this field is left blank,
7268
+ # all VMs within the organization will receive the rule.
7269
+ # Corresponds to the JSON property `targetResources`
7270
+ # @return [Array<String>]
7271
+ attr_accessor :target_resources
7272
+
7273
+ # A list of secure labels that controls which instances the firewall rule
7274
+ # applies to. If targetSecureLabel are specified, then the firewall rule applies
7275
+ # only to instances in the VPC network that have one of those secure labels.
7276
+ # targetSecureLabel may not be set at the same time as targetServiceAccounts. If
7277
+ # neither targetServiceAccounts nor targetSecureLabel are specified, the
7278
+ # firewall rule applies to all instances on the specified network. Maximum
7279
+ # number of target label values allowed is 256.
7280
+ # Corresponds to the JSON property `targetSecureLabels`
7281
+ # @return [Array<String>]
7282
+ attr_accessor :target_secure_labels
7283
+
7284
+ # A list of service accounts indicating the sets of instances that are applied
7285
+ # with this rule.
7286
+ # Corresponds to the JSON property `targetServiceAccounts`
7287
+ # @return [Array<String>]
7288
+ attr_accessor :target_service_accounts
7289
+
7290
+ def initialize(**args)
7291
+ update!(**args)
7292
+ end
7293
+
7294
+ # Update properties of this object
7295
+ def update!(**args)
7296
+ @action = args[:action] if args.key?(:action)
7297
+ @description = args[:description] if args.key?(:description)
7298
+ @direction = args[:direction] if args.key?(:direction)
7299
+ @disabled = args[:disabled] if args.key?(:disabled)
7300
+ @enable_logging = args[:enable_logging] if args.key?(:enable_logging)
7301
+ @kind = args[:kind] if args.key?(:kind)
7302
+ @match = args[:match] if args.key?(:match)
7303
+ @priority = args[:priority] if args.key?(:priority)
7304
+ @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
7305
+ @target_resources = args[:target_resources] if args.key?(:target_resources)
7306
+ @target_secure_labels = args[:target_secure_labels] if args.key?(:target_secure_labels)
7307
+ @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
7308
+ end
7309
+ end
7310
+
7311
+ # Represents a match condition that incoming traffic is evaluated against.
7312
+ # Exactly one field must be specified.
7313
+ class FirewallPolicyRuleMatcher
7314
+ include Google::Apis::Core::Hashable
7315
+
7316
+ # CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is
7317
+ # 256.
7318
+ # Corresponds to the JSON property `destIpRanges`
7319
+ # @return [Array<String>]
7320
+ attr_accessor :dest_ip_ranges
7321
+
7322
+ # Pairs of IP protocols and ports that the rule should match.
7323
+ # Corresponds to the JSON property `layer4Configs`
7324
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRuleMatcherLayer4Config>]
7325
+ attr_accessor :layer4_configs
7326
+
7327
+ # CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 256.
7328
+ # Corresponds to the JSON property `srcIpRanges`
7329
+ # @return [Array<String>]
7330
+ attr_accessor :src_ip_ranges
7331
+
7332
+ # List of firewall label values, which should be matched at the source of the
7333
+ # traffic. Maximum number of source label values allowed is 256.
7334
+ # Corresponds to the JSON property `srcSecureLabels`
7335
+ # @return [Array<String>]
7336
+ attr_accessor :src_secure_labels
7337
+
7338
+ def initialize(**args)
7339
+ update!(**args)
7340
+ end
7341
+
7342
+ # Update properties of this object
7343
+ def update!(**args)
7344
+ @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
7345
+ @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
7346
+ @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
7347
+ @src_secure_labels = args[:src_secure_labels] if args.key?(:src_secure_labels)
7348
+ end
7349
+ end
7350
+
7351
+ #
7352
+ class FirewallPolicyRuleMatcherLayer4Config
7353
+ include Google::Apis::Core::Hashable
7354
+
7355
+ # The IP protocol to which this rule applies. The protocol type is required when
7356
+ # creating a firewall rule. This value can either be one of the following well
7357
+ # known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP
7358
+ # protocol number.
7359
+ # Corresponds to the JSON property `ipProtocol`
7360
+ # @return [String]
7361
+ attr_accessor :ip_protocol
7362
+
7363
+ # An optional list of ports to which this rule applies. This field is only
7364
+ # applicable for UDP or TCP protocol. Each entry must be either an integer or a
7365
+ # range. If not specified, this rule applies to connections through any port.
7366
+ # Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
7367
+ # Corresponds to the JSON property `ports`
7368
+ # @return [Array<String>]
7369
+ attr_accessor :ports
7370
+
7371
+ def initialize(**args)
7372
+ update!(**args)
7373
+ end
7374
+
7375
+ # Update properties of this object
7376
+ def update!(**args)
7377
+ @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
7378
+ @ports = args[:ports] if args.key?(:ports)
7379
+ end
7380
+ end
7381
+
6927
7382
  # Encapsulates numeric value that can be either absolute or relative.
6928
7383
  class FixedOrPercent
6929
7384
  include Google::Apis::Core::Hashable
@@ -6998,8 +7453,6 @@ module Google
6998
7453
  # ip_address_specifications).
6999
7454
  # Must be set to `0.0.0.0` when the target is targetGrpcProxy that has
7000
7455
  # validateForProxyless field set to true.
7001
- # For Private Service Connect forwarding rules that forward traffic to Google
7002
- # APIs, IP address must be provided.
7003
7456
  # Corresponds to the JSON property `IPAddress`
7004
7457
  # @return [String]
7005
7458
  attr_accessor :ip_address
@@ -7100,6 +7553,26 @@ module Google
7100
7553
  # @return [String]
7101
7554
  attr_accessor :kind
7102
7555
 
7556
+ # A fingerprint for the labels being applied to this resource, which is
7557
+ # essentially a hash of the labels set used for optimistic locking. The
7558
+ # fingerprint is initially generated by Compute Engine and changes after every
7559
+ # request to modify or update labels. You must always provide an up-to-date
7560
+ # fingerprint hash in order to update or change labels, otherwise the request
7561
+ # will fail with error 412 conditionNotMet.
7562
+ # To see the latest fingerprint, make a get() request to retrieve a
7563
+ # ForwardingRule.
7564
+ # Corresponds to the JSON property `labelFingerprint`
7565
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
7566
+ # @return [String]
7567
+ attr_accessor :label_fingerprint
7568
+
7569
+ # Labels for this resource. These can only be added or modified by the setLabels
7570
+ # method. Each label key/value pair must comply with RFC1035. Label values may
7571
+ # be empty.
7572
+ # Corresponds to the JSON property `labels`
7573
+ # @return [Hash<String,String>]
7574
+ attr_accessor :labels
7575
+
7103
7576
  # Specifies the forwarding rule type.
7104
7577
  #
7105
7578
  # - EXTERNAL is used for:
@@ -7152,8 +7625,6 @@ module Google
7152
7625
  # For Internal TCP/UDP Load Balancing, this field identifies the network that
7153
7626
  # the load balanced IP should belong to for this Forwarding Rule. If this field
7154
7627
  # is not specified, the default network will be used.
7155
- # For Private Service Connect forwarding rules that forward traffic to Google
7156
- # APIs, a network must be provided.
7157
7628
  # Corresponds to the JSON property `network`
7158
7629
  # @return [String]
7159
7630
  attr_accessor :network
@@ -7251,15 +7722,6 @@ module Google
7251
7722
  # resource. The forwarded traffic must be of a type appropriate to the target
7252
7723
  # object. For more information, see the "Target" column in [Port specifications](
7253
7724
  # /load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
7254
- # For Private Service Connect forwarding rules that forward traffic to Google
7255
- # APIs, provide the name of a supported Google API bundle. Currently, the
7256
- # supported Google API bundles include:
7257
- #
7258
- # - vpc-sc - GCP APIs that support VPC Service Controls. For more information
7259
- # about which APIs support VPC Service Controls, refer to VPC-SC supported
7260
- # products and limitations.
7261
- # - all-apis - All GCP APIs. For more information about which APIs are supported
7262
- # with this bundle, refer to Private Google Access-specific domains and VIPs.
7263
7725
  # Corresponds to the JSON property `target`
7264
7726
  # @return [String]
7265
7727
  attr_accessor :target
@@ -7282,6 +7744,8 @@ module Google
7282
7744
  @ip_version = args[:ip_version] if args.key?(:ip_version)
7283
7745
  @is_mirroring_collector = args[:is_mirroring_collector] if args.key?(:is_mirroring_collector)
7284
7746
  @kind = args[:kind] if args.key?(:kind)
7747
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
7748
+ @labels = args[:labels] if args.key?(:labels)
7285
7749
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
7286
7750
  @metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters)
7287
7751
  @name = args[:name] if args.key?(:name)
@@ -7741,6 +8205,69 @@ module Google
7741
8205
  end
7742
8206
  end
7743
8207
 
8208
+ #
8209
+ class GlobalOrganizationSetPolicyRequest
8210
+ include Google::Apis::Core::Hashable
8211
+
8212
+ # Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
8213
+ # policy' to specify bindings.
8214
+ # Corresponds to the JSON property `bindings`
8215
+ # @return [Array<Google::Apis::ComputeV1::Binding>]
8216
+ attr_accessor :bindings
8217
+
8218
+ # Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
8219
+ # policy' to specify the etag.
8220
+ # Corresponds to the JSON property `etag`
8221
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
8222
+ # @return [String]
8223
+ attr_accessor :etag
8224
+
8225
+ # An Identity and Access Management (IAM) policy, which specifies access
8226
+ # controls for Google Cloud resources.
8227
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
8228
+ # members` to a single `role`. Members can be user accounts, service accounts,
8229
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
8230
+ # permissions; each `role` can be an IAM predefined role or a user-created
8231
+ # custom role.
8232
+ # For some types of Google Cloud resources, a `binding` can also specify a `
8233
+ # condition`, which is a logical expression that allows access to a resource
8234
+ # only if the expression evaluates to `true`. A condition can add constraints
8235
+ # based on attributes of the request, the resource, or both. To learn which
8236
+ # resources support conditions in their IAM policies, see the [IAM documentation]
8237
+ # (https://cloud.google.com/iam/help/conditions/resource-policies).
8238
+ # **JSON example:**
8239
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
8240
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
8241
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
8242
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
8243
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
8244
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
8245
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
8246
+ # **YAML example:**
8247
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
8248
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
8249
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
8250
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
8251
+ # access description: Does not grant access after Sep 2020 expression: request.
8252
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
8253
+ # For a description of IAM and its features, see the [IAM documentation](https://
8254
+ # cloud.google.com/iam/docs/).
8255
+ # Corresponds to the JSON property `policy`
8256
+ # @return [Google::Apis::ComputeV1::Policy]
8257
+ attr_accessor :policy
8258
+
8259
+ def initialize(**args)
8260
+ update!(**args)
8261
+ end
8262
+
8263
+ # Update properties of this object
8264
+ def update!(**args)
8265
+ @bindings = args[:bindings] if args.key?(:bindings)
8266
+ @etag = args[:etag] if args.key?(:etag)
8267
+ @policy = args[:policy] if args.key?(:policy)
8268
+ end
8269
+ end
8270
+
7744
8271
  #
7745
8272
  class GlobalSetLabelsRequest
7746
8273
  include Google::Apis::Core::Hashable
@@ -9309,8 +9836,8 @@ module Google
9309
9836
  attr_accessor :range_match
9310
9837
 
9311
9838
  # The value of the header must match the regular expression specified in
9312
- # regexMatch. For regular expression grammar, please see: en.cppreference.com/w/
9313
- # cpp/regex/ecmascript
9839
+ # regexMatch. For regular expression grammar, please see: github.com/google/re2/
9840
+ # wiki/Syntax
9314
9841
  # For matching against a port specified in the HTTP request, use a headerMatch
9315
9842
  # with headerName set to PORT and a regular expression that satisfies the
9316
9843
  # RFC2616 Host header's port specifier.
@@ -9633,7 +10160,7 @@ module Google
9633
10160
 
9634
10161
  # The queryParameterMatch matches if the value of the parameter matches the
9635
10162
  # regular expression specified by regexMatch. For the regular expression grammar,
9636
- # please see en.cppreference.com/w/cpp/regex/ecmascript
10163
+ # please see github.com/google/re2/wiki/Syntax
9637
10164
  # Only one of presentMatch, exactMatch or regexMatch must be set.
9638
10165
  # Note that regexMatch only applies when the loadBalancingScheme is set to
9639
10166
  # INTERNAL_SELF_MANAGED.
@@ -10023,7 +10550,7 @@ module Google
10023
10550
  # For satisfying the matchRule condition, the path of the request must satisfy
10024
10551
  # the regular expression specified in regexMatch after removing any query
10025
10552
  # parameters and anchor supplied with the original URL. For regular expression
10026
- # grammar please see en.cppreference.com/w/cpp/regex/ecmascript
10553
+ # grammar please see github.com/google/re2/wiki/Syntax
10027
10554
  # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
10028
10555
  # Note that regexMatch only applies to Loadbalancers that have their
10029
10556
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
@@ -10724,6 +11251,15 @@ module Google
10724
11251
  class Instance
10725
11252
  include Google::Apis::Core::Hashable
10726
11253
 
11254
+ # Specifies options for controlling advanced machine features. Options that
11255
+ # would traditionally be configured in a BIOS belong here. Features that require
11256
+ # operating system support may have corresponding entries in the GuestOsFeatures
11257
+ # of an Image (e.g., whether or not the OS in the Image supports nested
11258
+ # virtualization being enabled or disabled).
11259
+ # Corresponds to the JSON property `advancedMachineFeatures`
11260
+ # @return [Google::Apis::ComputeV1::AdvancedMachineFeatures]
11261
+ attr_accessor :advanced_machine_features
11262
+
10727
11263
  # Allows this instance to send and receive packets with non-matching destination
10728
11264
  # or source IPs. This is required if you plan to use this instance to forward
10729
11265
  # routes. For more information, see Enabling IP Forwarding.
@@ -10900,6 +11436,12 @@ module Google
10900
11436
  # @return [Array<String>]
10901
11437
  attr_accessor :resource_policies
10902
11438
 
11439
+ # [Output Only] Reserved for future use.
11440
+ # Corresponds to the JSON property `satisfiesPzs`
11441
+ # @return [Boolean]
11442
+ attr_accessor :satisfies_pzs
11443
+ alias_method :satisfies_pzs?, :satisfies_pzs
11444
+
10903
11445
  # Sets the scheduling options for an Instance. NextID: 13
10904
11446
  # Corresponds to the JSON property `scheduling`
10905
11447
  # @return [Google::Apis::ComputeV1::Scheduling]
@@ -10968,6 +11510,7 @@ module Google
10968
11510
 
10969
11511
  # Update properties of this object
10970
11512
  def update!(**args)
11513
+ @advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features)
10971
11514
  @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward)
10972
11515
  @confidential_instance_config = args[:confidential_instance_config] if args.key?(:confidential_instance_config)
10973
11516
  @cpu_platform = args[:cpu_platform] if args.key?(:cpu_platform)
@@ -10994,6 +11537,7 @@ module Google
10994
11537
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
10995
11538
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
10996
11539
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
11540
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
10997
11541
  @scheduling = args[:scheduling] if args.key?(:scheduling)
10998
11542
  @self_link = args[:self_link] if args.key?(:self_link)
10999
11543
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
@@ -13430,6 +13974,15 @@ module Google
13430
13974
  class InstanceProperties
13431
13975
  include Google::Apis::Core::Hashable
13432
13976
 
13977
+ # Specifies options for controlling advanced machine features. Options that
13978
+ # would traditionally be configured in a BIOS belong here. Features that require
13979
+ # operating system support may have corresponding entries in the GuestOsFeatures
13980
+ # of an Image (e.g., whether or not the OS in the Image supports nested
13981
+ # virtualization being enabled or disabled).
13982
+ # Corresponds to the JSON property `advancedMachineFeatures`
13983
+ # @return [Google::Apis::ComputeV1::AdvancedMachineFeatures]
13984
+ attr_accessor :advanced_machine_features
13985
+
13433
13986
  # Enables instances created based on these properties to send packets with
13434
13987
  # source IP addresses other than their own and receive packets with destination
13435
13988
  # IP addresses other than their own. If these instances will be used as an IP
@@ -13539,6 +14092,7 @@ module Google
13539
14092
 
13540
14093
  # Update properties of this object
13541
14094
  def update!(**args)
14095
+ @advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features)
13542
14096
  @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward)
13543
14097
  @confidential_instance_config = args[:confidential_instance_config] if args.key?(:confidential_instance_config)
13544
14098
  @description = args[:description] if args.key?(:description)
@@ -17233,9 +17787,8 @@ module Google
17233
17787
  # @return [String]
17234
17788
  attr_accessor :ip_address
17235
17789
 
17236
- # Optional port number of network endpoint. If not specified and the
17237
- # NetworkEndpointGroup.network_endpoint_type is GCE_IP_PORT, the defaultPort for
17238
- # the network endpoint group will be used.
17790
+ # Optional port number of network endpoint. If not specified, the defaultPort
17791
+ # for the network endpoint group will be used.
17239
17792
  # Corresponds to the JSON property `port`
17240
17793
  # @return [Fixnum]
17241
17794
  attr_accessor :port
@@ -22548,6 +23101,12 @@ module Google
22548
23101
  # @return [String]
22549
23102
  attr_accessor :status
22550
23103
 
23104
+ # [Output Only] Reserved for future use.
23105
+ # Corresponds to the JSON property `supportsPzs`
23106
+ # @return [Boolean]
23107
+ attr_accessor :supports_pzs
23108
+ alias_method :supports_pzs?, :supports_pzs
23109
+
22551
23110
  # [Output Only] A list of zones available in this region, in the form of
22552
23111
  # resource URLs.
22553
23112
  # Corresponds to the JSON property `zones`
@@ -22569,6 +23128,7 @@ module Google
22569
23128
  @quotas = args[:quotas] if args.key?(:quotas)
22570
23129
  @self_link = args[:self_link] if args.key?(:self_link)
22571
23130
  @status = args[:status] if args.key?(:status)
23131
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
22572
23132
  @zones = args[:zones] if args.key?(:zones)
22573
23133
  end
22574
23134
  end
@@ -27640,6 +28200,12 @@ module Google
27640
28200
  # @return [Array<String>]
27641
28201
  attr_accessor :licenses
27642
28202
 
28203
+ # An opaque location hint used to place the snapshot close to other resources.
28204
+ # This field is for use by internal tools that use the public API.
28205
+ # Corresponds to the JSON property `locationHint`
28206
+ # @return [String]
28207
+ attr_accessor :location_hint
28208
+
27643
28209
  # Name of the resource; provided by the client when the resource is created. The
27644
28210
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
27645
28211
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -27650,6 +28216,12 @@ module Google
27650
28216
  # @return [String]
27651
28217
  attr_accessor :name
27652
28218
 
28219
+ # [Output Only] Reserved for future use.
28220
+ # Corresponds to the JSON property `satisfiesPzs`
28221
+ # @return [Boolean]
28222
+ attr_accessor :satisfies_pzs
28223
+ alias_method :satisfies_pzs?, :satisfies_pzs
28224
+
27653
28225
  # [Output Only] Server-defined URL for the resource.
27654
28226
  # Corresponds to the JSON property `selfLink`
27655
28227
  # @return [String]
@@ -27731,7 +28303,9 @@ module Google
27731
28303
  @labels = args[:labels] if args.key?(:labels)
27732
28304
  @license_codes = args[:license_codes] if args.key?(:license_codes)
27733
28305
  @licenses = args[:licenses] if args.key?(:licenses)
28306
+ @location_hint = args[:location_hint] if args.key?(:location_hint)
27734
28307
  @name = args[:name] if args.key?(:name)
28308
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
27735
28309
  @self_link = args[:self_link] if args.key?(:self_link)
27736
28310
  @snapshot_encryption_key = args[:snapshot_encryption_key] if args.key?(:snapshot_encryption_key)
27737
28311
  @source_disk = args[:source_disk] if args.key?(:source_disk)
@@ -28262,8 +28836,9 @@ module Google
28262
28836
  # @return [Hash<String,String>]
28263
28837
  attr_accessor :domain_status
28264
28838
 
28265
- # The domains for which a managed SSL certificate will be generated. Currently
28266
- # only single-domain certs are supported.
28839
+ # The domains for which a managed SSL certificate will be generated. Each Google-
28840
+ # managed SSL certificate supports up to the [maximum number of domains per
28841
+ # Google-managed SSL certificate](/load-balancing/docs/quotas#ssl_certificates).
28267
28842
  # Corresponds to the JSON property `domains`
28268
28843
  # @return [Array<String>]
28269
28844
  attr_accessor :domains
@@ -29554,9 +30129,10 @@ module Google
29554
30129
 
29555
30130
  # Represents a Target gRPC Proxy resource.
29556
30131
  # A target gRPC proxy is a component of load balancers intended for load
29557
- # balancing gRPC traffic. Global forwarding rules reference a target gRPC proxy.
29558
- # The Target gRPC Proxy references a URL map which specifies how traffic routes
29559
- # to gRPC backend services. (== resource_for `$api_version`.targetGrpcProxies ==)
30132
+ # balancing gRPC traffic. Only global forwarding rules with load balancing
30133
+ # scheme INTERNAL_SELF_MANAGED can reference a target gRPC proxy. The target
30134
+ # gRPC Proxy references a URL map that specifies how traffic is routed to gRPC
30135
+ # backend services. (== resource_for `$api_version`.targetGrpcProxies ==)
29560
30136
  class TargetGrpcProxy
29561
30137
  include Google::Apis::Core::Hashable
29562
30138
 
@@ -30350,7 +30926,6 @@ module Google
30350
30926
  # possible.
30351
30927
  # - When quic-override is set to DISABLE, the load balancer doesn't use QUIC.
30352
30928
  # - If the quic-override flag is not specified, NONE is implied.
30353
- # -
30354
30929
  # Corresponds to the JSON property `quicOverride`
30355
30930
  # @return [String]
30356
30931
  attr_accessor :quic_override
@@ -31137,8 +31712,7 @@ module Google
31137
31712
  attr_accessor :failover_ratio
31138
31713
 
31139
31714
  # The URL of the HttpHealthCheck resource. A member instance in this pool is
31140
- # considered healthy if and only if the health checks pass. An empty list means
31141
- # all member instances will be considered healthy at all times. Only legacy
31715
+ # considered healthy if and only if the health checks pass. Only legacy
31142
31716
  # HttpHealthChecks are supported. Only one health check may be specified.
31143
31717
  # Corresponds to the JSON property `healthChecks`
31144
31718
  # @return [Array<String>]
@@ -32606,17 +33180,46 @@ module Google
32606
33180
  class TestFailure
32607
33181
  include Google::Apis::Core::Hashable
32608
33182
 
33183
+ # The actual output URL evaluated by load balancer containing the scheme, host,
33184
+ # path and query parameters.
33185
+ # Corresponds to the JSON property `actualOutputUrl`
33186
+ # @return [String]
33187
+ attr_accessor :actual_output_url
33188
+
33189
+ # Actual HTTP status code for rule with `urlRedirect` calculated by load
33190
+ # balancer
33191
+ # Corresponds to the JSON property `actualRedirectResponseCode`
33192
+ # @return [Fixnum]
33193
+ attr_accessor :actual_redirect_response_code
33194
+
32609
33195
  # BackendService or BackendBucket returned by load balancer.
32610
33196
  # Corresponds to the JSON property `actualService`
32611
33197
  # @return [String]
32612
33198
  attr_accessor :actual_service
32613
33199
 
33200
+ # The expected output URL evaluated by load balancer containing the scheme, host,
33201
+ # path and query parameters.
33202
+ # Corresponds to the JSON property `expectedOutputUrl`
33203
+ # @return [String]
33204
+ attr_accessor :expected_output_url
33205
+
33206
+ # Expected HTTP status code for rule with `urlRedirect` calculated by load
33207
+ # balancer
33208
+ # Corresponds to the JSON property `expectedRedirectResponseCode`
33209
+ # @return [Fixnum]
33210
+ attr_accessor :expected_redirect_response_code
33211
+
32614
33212
  # Expected BackendService or BackendBucket resource the given URL should be
32615
33213
  # mapped to.
32616
33214
  # Corresponds to the JSON property `expectedService`
32617
33215
  # @return [String]
32618
33216
  attr_accessor :expected_service
32619
33217
 
33218
+ # HTTP headers of the request.
33219
+ # Corresponds to the JSON property `headers`
33220
+ # @return [Array<Google::Apis::ComputeV1::UrlMapTestHeader>]
33221
+ attr_accessor :headers
33222
+
32620
33223
  # Host portion of the URL.
32621
33224
  # Corresponds to the JSON property `host`
32622
33225
  # @return [String]
@@ -32633,8 +33236,13 @@ module Google
32633
33236
 
32634
33237
  # Update properties of this object
32635
33238
  def update!(**args)
33239
+ @actual_output_url = args[:actual_output_url] if args.key?(:actual_output_url)
33240
+ @actual_redirect_response_code = args[:actual_redirect_response_code] if args.key?(:actual_redirect_response_code)
32636
33241
  @actual_service = args[:actual_service] if args.key?(:actual_service)
33242
+ @expected_output_url = args[:expected_output_url] if args.key?(:expected_output_url)
33243
+ @expected_redirect_response_code = args[:expected_redirect_response_code] if args.key?(:expected_redirect_response_code)
32637
33244
  @expected_service = args[:expected_service] if args.key?(:expected_service)
33245
+ @headers = args[:headers] if args.key?(:headers)
32638
33246
  @host = args[:host] if args.key?(:host)
32639
33247
  @path = args[:path] if args.key?(:path)
32640
33248
  end
@@ -32984,6 +33592,37 @@ module Google
32984
33592
  # @return [String]
32985
33593
  attr_accessor :description
32986
33594
 
33595
+ # The expected output URL evaluated by load balancer containing the scheme, host,
33596
+ # path and query parameters.
33597
+ # For rules that forward requests to backends, the test passes only when
33598
+ # expectedOutputUrl matches the request forwarded by load balancer to backends.
33599
+ # For rules with urlRewrite, the test verifies that the forwarded request
33600
+ # matches hostRewrite and pathPrefixRewrite in the urlRewrite action. When
33601
+ # service is specified, expectedOutputUrl`s scheme is ignored.
33602
+ # For rules with urlRedirect, the test passes only if expectedOutputUrl matches
33603
+ # the URL in the load balancer's redirect response. If urlRedirect specifies
33604
+ # https_redirect, the test passes only if the scheme in expectedOutputUrl is
33605
+ # also set to https. If urlRedirect specifies strip_query, the test passes only
33606
+ # if expectedOutputUrl does not contain any query parameters.
33607
+ # expectedOutputUrl is optional when service is specified.
33608
+ # Corresponds to the JSON property `expectedOutputUrl`
33609
+ # @return [String]
33610
+ attr_accessor :expected_output_url
33611
+
33612
+ # For rules with urlRedirect, the test passes only if
33613
+ # expectedRedirectResponseCode matches the HTTP status code in load balancer's
33614
+ # redirect response.
33615
+ # expectedRedirectResponseCode cannot be set when service is set.
33616
+ # Corresponds to the JSON property `expectedRedirectResponseCode`
33617
+ # @return [Fixnum]
33618
+ attr_accessor :expected_redirect_response_code
33619
+
33620
+ # HTTP headers for this request. If headers contains a host header, then host
33621
+ # must also match the header value.
33622
+ # Corresponds to the JSON property `headers`
33623
+ # @return [Array<Google::Apis::ComputeV1::UrlMapTestHeader>]
33624
+ attr_accessor :headers
33625
+
32987
33626
  # Host portion of the URL. If headers contains a host header, then host must
32988
33627
  # also match the header value.
32989
33628
  # Corresponds to the JSON property `host`
@@ -33009,12 +33648,40 @@ module Google
33009
33648
  # Update properties of this object
33010
33649
  def update!(**args)
33011
33650
  @description = args[:description] if args.key?(:description)
33651
+ @expected_output_url = args[:expected_output_url] if args.key?(:expected_output_url)
33652
+ @expected_redirect_response_code = args[:expected_redirect_response_code] if args.key?(:expected_redirect_response_code)
33653
+ @headers = args[:headers] if args.key?(:headers)
33012
33654
  @host = args[:host] if args.key?(:host)
33013
33655
  @path = args[:path] if args.key?(:path)
33014
33656
  @service = args[:service] if args.key?(:service)
33015
33657
  end
33016
33658
  end
33017
33659
 
33660
+ # HTTP headers used in UrlMapTests.
33661
+ class UrlMapTestHeader
33662
+ include Google::Apis::Core::Hashable
33663
+
33664
+ # Header name.
33665
+ # Corresponds to the JSON property `name`
33666
+ # @return [String]
33667
+ attr_accessor :name
33668
+
33669
+ # Header value.
33670
+ # Corresponds to the JSON property `value`
33671
+ # @return [String]
33672
+ attr_accessor :value
33673
+
33674
+ def initialize(**args)
33675
+ update!(**args)
33676
+ end
33677
+
33678
+ # Update properties of this object
33679
+ def update!(**args)
33680
+ @name = args[:name] if args.key?(:name)
33681
+ @value = args[:value] if args.key?(:value)
33682
+ end
33683
+ end
33684
+
33018
33685
  # Message representing the validation result for a UrlMap.
33019
33686
  class UrlMapValidationResult
33020
33687
  include Google::Apis::Core::Hashable
@@ -35201,6 +35868,12 @@ module Google
35201
35868
  # @return [String]
35202
35869
  attr_accessor :status
35203
35870
 
35871
+ # [Output Only] Reserved for future use.
35872
+ # Corresponds to the JSON property `supportsPzs`
35873
+ # @return [Boolean]
35874
+ attr_accessor :supports_pzs
35875
+ alias_method :supports_pzs?, :supports_pzs
35876
+
35204
35877
  def initialize(**args)
35205
35878
  update!(**args)
35206
35879
  end
@@ -35217,6 +35890,7 @@ module Google
35217
35890
  @region = args[:region] if args.key?(:region)
35218
35891
  @self_link = args[:self_link] if args.key?(:self_link)
35219
35892
  @status = args[:status] if args.key?(:status)
35893
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
35220
35894
  end
35221
35895
  end
35222
35896