google-apis-compute_v1 0.17.0 → 0.18.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: 39a14e55b9d65de38db67f7ce946ec462a47297cc6af3ce9e472ff8d43c6112b
4
- data.tar.gz: b24a79b03c90d811d2402f89275210e42b00cac0eb3467477fb37c7eea055e48
3
+ metadata.gz: 5c8fa2ccddf8f26af70da31cb8bed01e1971772b58bc184c00182ecff7d707ea
4
+ data.tar.gz: adb3948cc45e239263790937f70157efdf04f35cadd66e34e2c769f55b794e8b
5
5
  SHA512:
6
- metadata.gz: 11170129f91736308faeec97c2ee199861c01563d69c1baa09a8d767a8eb047f6bbcd2fe8d125f07fd71288a14c07511b4fd86ad350583f5730f32946f493200
7
- data.tar.gz: e5286337dffc2e824ab0c916fb7cde7fd9645b81fe156a839bef0bfc1237dcfd6f791afa4a1c054e5d9da9ff0e39f682bd77ac4616d732e2ea85d44fc4f6170a
6
+ metadata.gz: 53ff0b06b28cb07d4ffcd4942765da8bf7a0caabbee49618cb2ac5633427ea1d7a1f4e4dc9e0756c1f2ce4ebd41fe10392dda3b26e8867e19040da728e150d95
7
+ data.tar.gz: 05442f42ec59b90effdde980265f2bf0581075858ee42a130844f09244f9f6a3648e2ff579e55edc5348bdf400e584e5aa1c5844fb6cc29cba47b5e1b630e421
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release history for google-apis-compute_v1
2
2
 
3
+ ### v0.18.0 (2021-10-02)
4
+
5
+ * Regenerated from discovery document revision 20210918
6
+
3
7
  ### v0.17.0 (2021-09-13)
4
8
 
5
9
  * Regenerated from discovery document revision 20210907
@@ -3191,6 +3191,13 @@ module Google
3191
3191
  # @return [String]
3192
3192
  attr_accessor :session_affinity
3193
3193
 
3194
+ # Subsetting configuration for this BackendService. Currently this is applicable
3195
+ # only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
3196
+ # Traffic Director.
3197
+ # Corresponds to the JSON property `subsetting`
3198
+ # @return [Google::Apis::ComputeV1::Subsetting]
3199
+ attr_accessor :subsetting
3200
+
3194
3201
  # Not supported when the backend service is referenced by a URL map that is
3195
3202
  # bound to target gRPC proxy that has validateForProxyless field set to true.
3196
3203
  # Instead, use maxStreamDuration.
@@ -3236,6 +3243,7 @@ module Google
3236
3243
  @security_settings = args[:security_settings] if args.key?(:security_settings)
3237
3244
  @self_link = args[:self_link] if args.key?(:self_link)
3238
3245
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3246
+ @subsetting = args[:subsetting] if args.key?(:subsetting)
3239
3247
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
3240
3248
  end
3241
3249
  end
@@ -4968,30 +4976,39 @@ module Google
4968
4976
  class CustomerEncryptionKey
4969
4977
  include Google::Apis::Core::Hashable
4970
4978
 
4971
- # The name of the encryption key that is stored in Google Cloud KMS.
4979
+ # The name of the encryption key that is stored in Google Cloud KMS. For example:
4980
+ # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/
4981
+ # cryptoKeys/key
4972
4982
  # Corresponds to the JSON property `kmsKeyName`
4973
4983
  # @return [String]
4974
4984
  attr_accessor :kms_key_name
4975
4985
 
4976
4986
  # The service account being used for the encryption request for the given KMS
4977
- # key. If absent, the Compute Engine default service account is used.
4987
+ # key. If absent, the Compute Engine default service account is used. For
4988
+ # example: "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/
4978
4989
  # Corresponds to the JSON property `kmsKeyServiceAccount`
4979
4990
  # @return [String]
4980
4991
  attr_accessor :kms_key_service_account
4981
4992
 
4982
4993
  # Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
4983
- # base64 to either encrypt or decrypt this resource.
4994
+ # base64 to either encrypt or decrypt this resource. You can provide either the
4995
+ # rawKey or the rsaEncryptedKey. For example: "rawKey": "
4996
+ # SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0="
4984
4997
  # Corresponds to the JSON property `rawKey`
4985
4998
  # @return [String]
4986
4999
  attr_accessor :raw_key
4987
5000
 
4988
5001
  # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied
4989
- # encryption key to either encrypt or decrypt this resource. The key must meet
4990
- # the following requirements before you can provide it to Compute Engine: 1. The
4991
- # key is wrapped using a RSA public key certificate provided by Google. 2. After
4992
- # being wrapped, the key must be encoded in RFC 4648 base64 encoding. Gets the
4993
- # RSA public key certificate provided by Google at: https://cloud-certs.storage.
4994
- # googleapis.com/google-cloud-csek-ingress.pem
5002
+ # encryption key to either encrypt or decrypt this resource. You can provide
5003
+ # either the rawKey or the rsaEncryptedKey. For example: "rsaEncryptedKey": "
5004
+ # ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH
5005
+ # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD
5006
+ # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" The
5007
+ # key must meet the following requirements before you can provide it to Compute
5008
+ # Engine: 1. The key is wrapped using a RSA public key certificate provided by
5009
+ # Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64
5010
+ # encoding. Gets the RSA public key certificate provided by Google at: https://
5011
+ # cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem
4995
5012
  # Corresponds to the JSON property `rsaEncryptedKey`
4996
5013
  # @return [String]
4997
5014
  attr_accessor :rsa_encrypted_key
@@ -5026,7 +5043,8 @@ module Google
5026
5043
  attr_accessor :disk_encryption_key
5027
5044
 
5028
5045
  # Specifies a valid partial or full URL to an existing Persistent Disk resource.
5029
- # This field is only applicable for persistent disks.
5046
+ # This field is only applicable for persistent disks. For example: "source": "/
5047
+ # compute/v1/projects/project_id/zones/zone/disks/ disk_name
5030
5048
  # Corresponds to the JSON property `source`
5031
5049
  # @return [String]
5032
5050
  attr_accessor :source
@@ -6988,7 +7006,7 @@ module Google
6988
7006
 
6989
7007
  # Name of the resource; provided by the client when the resource is created. The
6990
7008
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
6991
- # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
7009
+ # name must be 1-63 characters long and match the regular expression [a-z]([-a-
6992
7010
  # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
6993
7011
  # following characters (except for the last character) must be a dash, lowercase
6994
7012
  # letter, or digit. The last character must be a lowercase letter or digit.
@@ -15278,6 +15296,14 @@ module Google
15278
15296
  # @return [Fixnum]
15279
15297
  attr_accessor :requested_link_count
15280
15298
 
15299
+ # [Output Only] Set to true if the resource satisfies the zone separation
15300
+ # organization policy constraints and false otherwise. Defaults to false if the
15301
+ # field is not present.
15302
+ # Corresponds to the JSON property `satisfiesPzs`
15303
+ # @return [Boolean]
15304
+ attr_accessor :satisfies_pzs
15305
+ alias_method :satisfies_pzs?, :satisfies_pzs
15306
+
15281
15307
  # [Output Only] Server-defined URL for the resource.
15282
15308
  # Corresponds to the JSON property `selfLink`
15283
15309
  # @return [String]
@@ -15320,6 +15346,7 @@ module Google
15320
15346
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
15321
15347
  @provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
15322
15348
  @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
15349
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
15323
15350
  @self_link = args[:self_link] if args.key?(:self_link)
15324
15351
  @state = args[:state] if args.key?(:state)
15325
15352
  end
@@ -15526,6 +15553,14 @@ module Google
15526
15553
  # @return [String]
15527
15554
  attr_accessor :router
15528
15555
 
15556
+ # [Output Only] Set to true if the resource satisfies the zone separation
15557
+ # organization policy constraints and false otherwise. Defaults to false if the
15558
+ # field is not present.
15559
+ # Corresponds to the JSON property `satisfiesPzs`
15560
+ # @return [Boolean]
15561
+ attr_accessor :satisfies_pzs
15562
+ alias_method :satisfies_pzs?, :satisfies_pzs
15563
+
15529
15564
  # [Output Only] Server-defined URL for the resource.
15530
15565
  # Corresponds to the JSON property `selfLink`
15531
15566
  # @return [String]
@@ -15595,6 +15630,7 @@ module Google
15595
15630
  @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
15596
15631
  @region = args[:region] if args.key?(:region)
15597
15632
  @router = args[:router] if args.key?(:router)
15633
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
15598
15634
  @self_link = args[:self_link] if args.key?(:self_link)
15599
15635
  @state = args[:state] if args.key?(:state)
15600
15636
  @type = args[:type] if args.key?(:type)
@@ -16422,6 +16458,13 @@ module Google
16422
16458
  # @return [String]
16423
16459
  attr_accessor :status
16424
16460
 
16461
+ # [Output Only] Set to true for locations that support physical zone separation.
16462
+ # Defaults to false if the field is not present.
16463
+ # Corresponds to the JSON property `supportsPzs`
16464
+ # @return [Boolean]
16465
+ attr_accessor :supports_pzs
16466
+ alias_method :supports_pzs?, :supports_pzs
16467
+
16425
16468
  def initialize(**args)
16426
16469
  update!(**args)
16427
16470
  end
@@ -16443,6 +16486,7 @@ module Google
16443
16486
  @region_infos = args[:region_infos] if args.key?(:region_infos)
16444
16487
  @self_link = args[:self_link] if args.key?(:self_link)
16445
16488
  @status = args[:status] if args.key?(:status)
16489
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
16446
16490
  end
16447
16491
  end
16448
16492
 
@@ -27258,6 +27302,11 @@ module Google
27258
27302
  class Route
27259
27303
  include Google::Apis::Core::Hashable
27260
27304
 
27305
+ # [Output Only] AS path.
27306
+ # Corresponds to the JSON property `asPaths`
27307
+ # @return [Array<Google::Apis::ComputeV1::RouteAsPath>]
27308
+ attr_accessor :as_paths
27309
+
27261
27310
  # [Output Only] Creation timestamp in RFC3339 text format.
27262
27311
  # Corresponds to the JSON property `creationTimestamp`
27263
27312
  # @return [String]
@@ -27355,6 +27404,15 @@ module Google
27355
27404
  # @return [Fixnum]
27356
27405
  attr_accessor :priority
27357
27406
 
27407
+ # [Output Only] The type of this route, which can be one of the following values:
27408
+ # - 'TRANSIT' for a transit route that this router learned from another Cloud
27409
+ # Router and will readvertise to one of its BGP peers - 'SUBNET' for a route
27410
+ # from a subnet of the VPC - 'BGP' for a route learned from a BGP peer of this
27411
+ # router - 'STATIC' for a static route
27412
+ # Corresponds to the JSON property `routeType`
27413
+ # @return [String]
27414
+ attr_accessor :route_type
27415
+
27358
27416
  # [Output Only] Server-defined fully-qualified URL for this resource.
27359
27417
  # Corresponds to the JSON property `selfLink`
27360
27418
  # @return [String]
@@ -27377,6 +27435,7 @@ module Google
27377
27435
 
27378
27436
  # Update properties of this object
27379
27437
  def update!(**args)
27438
+ @as_paths = args[:as_paths] if args.key?(:as_paths)
27380
27439
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
27381
27440
  @description = args[:description] if args.key?(:description)
27382
27441
  @dest_range = args[:dest_range] if args.key?(:dest_range)
@@ -27392,6 +27451,7 @@ module Google
27392
27451
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
27393
27452
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
27394
27453
  @priority = args[:priority] if args.key?(:priority)
27454
+ @route_type = args[:route_type] if args.key?(:route_type)
27395
27455
  @self_link = args[:self_link] if args.key?(:self_link)
27396
27456
  @tags = args[:tags] if args.key?(:tags)
27397
27457
  @warnings = args[:warnings] if args.key?(:warnings)
@@ -27462,6 +27522,37 @@ module Google
27462
27522
  end
27463
27523
  end
27464
27524
 
27525
+ #
27526
+ class RouteAsPath
27527
+ include Google::Apis::Core::Hashable
27528
+
27529
+ # [Output Only] The AS numbers of the AS Path.
27530
+ # Corresponds to the JSON property `asLists`
27531
+ # @return [Array<Fixnum>]
27532
+ attr_accessor :as_lists
27533
+
27534
+ # [Output Only] The type of the AS Path, which can be one of the following
27535
+ # values: - 'AS_SET': unordered set of autonomous systems that the route in has
27536
+ # traversed - 'AS_SEQUENCE': ordered set of autonomous systems that the route
27537
+ # has traversed - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems
27538
+ # in the local confederation that the route has traversed - 'AS_CONFED_SET':
27539
+ # unordered set of Member Autonomous Systems in the local confederation that the
27540
+ # route has traversed
27541
+ # Corresponds to the JSON property `pathSegmentType`
27542
+ # @return [String]
27543
+ attr_accessor :path_segment_type
27544
+
27545
+ def initialize(**args)
27546
+ update!(**args)
27547
+ end
27548
+
27549
+ # Update properties of this object
27550
+ def update!(**args)
27551
+ @as_lists = args[:as_lists] if args.key?(:as_lists)
27552
+ @path_segment_type = args[:path_segment_type] if args.key?(:path_segment_type)
27553
+ end
27554
+ end
27555
+
27465
27556
  # Contains a list of Route resources.
27466
27557
  class RouteList
27467
27558
  include Google::Apis::Core::Hashable
@@ -28334,6 +28425,11 @@ module Google
28334
28425
  # @return [Array<String>]
28335
28426
  attr_accessor :nat_ips
28336
28427
 
28428
+ # A list of rules associated with this NAT.
28429
+ # Corresponds to the JSON property `rules`
28430
+ # @return [Array<Google::Apis::ComputeV1::RouterNatRule>]
28431
+ attr_accessor :rules
28432
+
28337
28433
  # Specify the Nat option, which can take one of the following values: -
28338
28434
  # ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are
28339
28435
  # allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP
@@ -28360,6 +28456,12 @@ module Google
28360
28456
  # @return [Fixnum]
28361
28457
  attr_accessor :tcp_established_idle_timeout_sec
28362
28458
 
28459
+ # Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults
28460
+ # to 120s if not set.
28461
+ # Corresponds to the JSON property `tcpTimeWaitTimeoutSec`
28462
+ # @return [Fixnum]
28463
+ attr_accessor :tcp_time_wait_timeout_sec
28464
+
28363
28465
  # Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not
28364
28466
  # set.
28365
28467
  # Corresponds to the JSON property `tcpTransitoryIdleTimeoutSec`
@@ -28385,9 +28487,11 @@ module Google
28385
28487
  @name = args[:name] if args.key?(:name)
28386
28488
  @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
28387
28489
  @nat_ips = args[:nat_ips] if args.key?(:nat_ips)
28490
+ @rules = args[:rules] if args.key?(:rules)
28388
28491
  @source_subnetwork_ip_ranges_to_nat = args[:source_subnetwork_ip_ranges_to_nat] if args.key?(:source_subnetwork_ip_ranges_to_nat)
28389
28492
  @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
28390
28493
  @tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec)
28494
+ @tcp_time_wait_timeout_sec = args[:tcp_time_wait_timeout_sec] if args.key?(:tcp_time_wait_timeout_sec)
28391
28495
  @tcp_transitory_idle_timeout_sec = args[:tcp_transitory_idle_timeout_sec] if args.key?(:tcp_transitory_idle_timeout_sec)
28392
28496
  @udp_idle_timeout_sec = args[:udp_idle_timeout_sec] if args.key?(:udp_idle_timeout_sec)
28393
28497
  end
@@ -28423,6 +28527,80 @@ module Google
28423
28527
  end
28424
28528
  end
28425
28529
 
28530
+ #
28531
+ class RouterNatRule
28532
+ include Google::Apis::Core::Hashable
28533
+
28534
+ # The action to be enforced for traffic that matches this rule.
28535
+ # Corresponds to the JSON property `action`
28536
+ # @return [Google::Apis::ComputeV1::RouterNatRuleAction]
28537
+ attr_accessor :action
28538
+
28539
+ # An optional description of this rule.
28540
+ # Corresponds to the JSON property `description`
28541
+ # @return [String]
28542
+ attr_accessor :description
28543
+
28544
+ # CEL expression that specifies the match condition that egress traffic from a
28545
+ # VM is evaluated against. If it evaluates to true, the corresponding `action`
28546
+ # is enforced. The following examples are valid match expressions for public NAT:
28547
+ # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
28548
+ # 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
28549
+ # following example is a valid match expression for private NAT: "nexthop.hub ==
28550
+ # '/projects/my-project/global/hub/hub-1'"
28551
+ # Corresponds to the JSON property `match`
28552
+ # @return [String]
28553
+ attr_accessor :match
28554
+
28555
+ # An integer uniquely identifying a rule in the list. The rule number must be a
28556
+ # positive value between 0 and 65000, and must be unique among rules within a
28557
+ # NAT.
28558
+ # Corresponds to the JSON property `ruleNumber`
28559
+ # @return [Fixnum]
28560
+ attr_accessor :rule_number
28561
+
28562
+ def initialize(**args)
28563
+ update!(**args)
28564
+ end
28565
+
28566
+ # Update properties of this object
28567
+ def update!(**args)
28568
+ @action = args[:action] if args.key?(:action)
28569
+ @description = args[:description] if args.key?(:description)
28570
+ @match = args[:match] if args.key?(:match)
28571
+ @rule_number = args[:rule_number] if args.key?(:rule_number)
28572
+ end
28573
+ end
28574
+
28575
+ #
28576
+ class RouterNatRuleAction
28577
+ include Google::Apis::Core::Hashable
28578
+
28579
+ # A list of URLs of the IP resources used for this NAT rule. These IP addresses
28580
+ # must be valid static external IP addresses assigned to the project. This field
28581
+ # is used for public NAT.
28582
+ # Corresponds to the JSON property `sourceNatActiveIps`
28583
+ # @return [Array<String>]
28584
+ attr_accessor :source_nat_active_ips
28585
+
28586
+ # A list of URLs of the IP resources to be drained. These IPs must be valid
28587
+ # static external IPs that have been assigned to the NAT. These IPs should be
28588
+ # used for updating/patching a NAT rule only. This field is used for public NAT.
28589
+ # Corresponds to the JSON property `sourceNatDrainIps`
28590
+ # @return [Array<String>]
28591
+ attr_accessor :source_nat_drain_ips
28592
+
28593
+ def initialize(**args)
28594
+ update!(**args)
28595
+ end
28596
+
28597
+ # Update properties of this object
28598
+ def update!(**args)
28599
+ @source_nat_active_ips = args[:source_nat_active_ips] if args.key?(:source_nat_active_ips)
28600
+ @source_nat_drain_ips = args[:source_nat_drain_ips] if args.key?(:source_nat_drain_ips)
28601
+ end
28602
+ end
28603
+
28426
28604
  # Defines the IP ranges that want to use NAT for a subnetwork.
28427
28605
  class RouterNatSubnetworkToNat
28428
28606
  include Google::Apis::Core::Hashable
@@ -28622,6 +28800,11 @@ module Google
28622
28800
  # @return [Fixnum]
28623
28801
  attr_accessor :num_vm_endpoints_with_nat_mappings
28624
28802
 
28803
+ # Status of rules in this NAT.
28804
+ # Corresponds to the JSON property `ruleStatus`
28805
+ # @return [Array<Google::Apis::ComputeV1::RouterStatusNatStatusNatRuleStatus>]
28806
+ attr_accessor :rule_status
28807
+
28625
28808
  # A list of fully qualified URLs of reserved IP address resources.
28626
28809
  # Corresponds to the JSON property `userAllocatedNatIpResources`
28627
28810
  # @return [Array<String>]
@@ -28645,11 +28828,58 @@ module Google
28645
28828
  @min_extra_nat_ips_needed = args[:min_extra_nat_ips_needed] if args.key?(:min_extra_nat_ips_needed)
28646
28829
  @name = args[:name] if args.key?(:name)
28647
28830
  @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
28831
+ @rule_status = args[:rule_status] if args.key?(:rule_status)
28648
28832
  @user_allocated_nat_ip_resources = args[:user_allocated_nat_ip_resources] if args.key?(:user_allocated_nat_ip_resources)
28649
28833
  @user_allocated_nat_ips = args[:user_allocated_nat_ips] if args.key?(:user_allocated_nat_ips)
28650
28834
  end
28651
28835
  end
28652
28836
 
28837
+ # Status of a NAT Rule contained in this NAT.
28838
+ class RouterStatusNatStatusNatRuleStatus
28839
+ include Google::Apis::Core::Hashable
28840
+
28841
+ # A list of active IPs for NAT. Example: ["1.1.1.1", "179.12.26.133"].
28842
+ # Corresponds to the JSON property `activeNatIps`
28843
+ # @return [Array<String>]
28844
+ attr_accessor :active_nat_ips
28845
+
28846
+ # A list of IPs for NAT that are in drain mode. Example: ["1.1.1.1", "179.12.26.
28847
+ # 133"].
28848
+ # Corresponds to the JSON property `drainNatIps`
28849
+ # @return [Array<String>]
28850
+ attr_accessor :drain_nat_ips
28851
+
28852
+ # The number of extra IPs to allocate. This will be greater than 0 only if the
28853
+ # existing IPs in this NAT Rule are NOT enough to allow all configured VMs to
28854
+ # use NAT.
28855
+ # Corresponds to the JSON property `minExtraIpsNeeded`
28856
+ # @return [Fixnum]
28857
+ attr_accessor :min_extra_ips_needed
28858
+
28859
+ # Number of VM endpoints (i.e., NICs) that have NAT Mappings from this NAT Rule.
28860
+ # Corresponds to the JSON property `numVmEndpointsWithNatMappings`
28861
+ # @return [Fixnum]
28862
+ attr_accessor :num_vm_endpoints_with_nat_mappings
28863
+
28864
+ # Rule number of the rule.
28865
+ # Corresponds to the JSON property `ruleNumber`
28866
+ # @return [Fixnum]
28867
+ attr_accessor :rule_number
28868
+
28869
+ def initialize(**args)
28870
+ update!(**args)
28871
+ end
28872
+
28873
+ # Update properties of this object
28874
+ def update!(**args)
28875
+ @active_nat_ips = args[:active_nat_ips] if args.key?(:active_nat_ips)
28876
+ @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
28877
+ @min_extra_ips_needed = args[:min_extra_ips_needed] if args.key?(:min_extra_ips_needed)
28878
+ @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
28879
+ @rule_number = args[:rule_number] if args.key?(:rule_number)
28880
+ end
28881
+ end
28882
+
28653
28883
  #
28654
28884
  class RouterStatusResponse
28655
28885
  include Google::Apis::Core::Hashable
@@ -32266,6 +32496,27 @@ module Google
32266
32496
  end
32267
32497
  end
32268
32498
 
32499
+ # Subsetting configuration for this BackendService. Currently this is applicable
32500
+ # only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
32501
+ # Traffic Director.
32502
+ class Subsetting
32503
+ include Google::Apis::Core::Hashable
32504
+
32505
+ #
32506
+ # Corresponds to the JSON property `policy`
32507
+ # @return [String]
32508
+ attr_accessor :policy
32509
+
32510
+ def initialize(**args)
32511
+ update!(**args)
32512
+ end
32513
+
32514
+ # Update properties of this object
32515
+ def update!(**args)
32516
+ @policy = args[:policy] if args.key?(:policy)
32517
+ end
32518
+ end
32519
+
32269
32520
  #
32270
32521
  class TcpHealthCheck
32271
32522
  include Google::Apis::Core::Hashable
@@ -16,13 +16,13 @@ module Google
16
16
  module Apis
17
17
  module ComputeV1
18
18
  # Version of the google-apis-compute_v1 gem
19
- GEM_VERSION = "0.17.0"
19
+ GEM_VERSION = "0.18.0"
20
20
 
21
21
  # Version of the code generator used to generate this client
22
22
  GENERATOR_VERSION = "0.4.0"
23
23
 
24
24
  # Revision of the discovery document this client was generated from
25
- REVISION = "20210907"
25
+ REVISION = "20210918"
26
26
  end
27
27
  end
28
28
  end
@@ -3658,6 +3658,12 @@ module Google
3658
3658
  include Google::Apis::Core::JsonObjectSupport
3659
3659
  end
3660
3660
 
3661
+ class RouteAsPath
3662
+ class Representation < Google::Apis::Core::JsonRepresentation; end
3663
+
3664
+ include Google::Apis::Core::JsonObjectSupport
3665
+ end
3666
+
3661
3667
  class RouteList
3662
3668
  class Representation < Google::Apis::Core::JsonRepresentation; end
3663
3669
 
@@ -3760,6 +3766,18 @@ module Google
3760
3766
  include Google::Apis::Core::JsonObjectSupport
3761
3767
  end
3762
3768
 
3769
+ class RouterNatRule
3770
+ class Representation < Google::Apis::Core::JsonRepresentation; end
3771
+
3772
+ include Google::Apis::Core::JsonObjectSupport
3773
+ end
3774
+
3775
+ class RouterNatRuleAction
3776
+ class Representation < Google::Apis::Core::JsonRepresentation; end
3777
+
3778
+ include Google::Apis::Core::JsonObjectSupport
3779
+ end
3780
+
3763
3781
  class RouterNatSubnetworkToNat
3764
3782
  class Representation < Google::Apis::Core::JsonRepresentation; end
3765
3783
 
@@ -3784,6 +3802,12 @@ module Google
3784
3802
  include Google::Apis::Core::JsonObjectSupport
3785
3803
  end
3786
3804
 
3805
+ class RouterStatusNatStatusNatRuleStatus
3806
+ class Representation < Google::Apis::Core::JsonRepresentation; end
3807
+
3808
+ include Google::Apis::Core::JsonObjectSupport
3809
+ end
3810
+
3787
3811
  class RouterStatusResponse
3788
3812
  class Representation < Google::Apis::Core::JsonRepresentation; end
3789
3813
 
@@ -4306,6 +4330,12 @@ module Google
4306
4330
  include Google::Apis::Core::JsonObjectSupport
4307
4331
  end
4308
4332
 
4333
+ class Subsetting
4334
+ class Representation < Google::Apis::Core::JsonRepresentation; end
4335
+
4336
+ include Google::Apis::Core::JsonObjectSupport
4337
+ end
4338
+
4309
4339
  class TcpHealthCheck
4310
4340
  class Representation < Google::Apis::Core::JsonRepresentation; end
4311
4341
 
@@ -5886,6 +5916,8 @@ module Google
5886
5916
 
5887
5917
  property :self_link, as: 'selfLink'
5888
5918
  property :session_affinity, as: 'sessionAffinity'
5919
+ property :subsetting, as: 'subsetting', class: Google::Apis::ComputeV1::Subsetting, decorator: Google::Apis::ComputeV1::Subsetting::Representation
5920
+
5889
5921
  property :timeout_sec, as: 'timeoutSec'
5890
5922
  end
5891
5923
  end
@@ -8799,6 +8831,7 @@ module Google
8799
8831
  property :peer_ip_address, as: 'peerIpAddress'
8800
8832
  property :provisioned_link_count, as: 'provisionedLinkCount'
8801
8833
  property :requested_link_count, as: 'requestedLinkCount'
8834
+ property :satisfies_pzs, as: 'satisfiesPzs'
8802
8835
  property :self_link, as: 'selfLink'
8803
8836
  property :state, as: 'state'
8804
8837
  end
@@ -8833,6 +8866,7 @@ module Google
8833
8866
 
8834
8867
  property :region, as: 'region'
8835
8868
  property :router, as: 'router'
8869
+ property :satisfies_pzs, as: 'satisfiesPzs'
8836
8870
  property :self_link, as: 'selfLink'
8837
8871
  property :state, as: 'state'
8838
8872
  property :type, as: 'type'
@@ -9061,6 +9095,7 @@ module Google
9061
9095
 
9062
9096
  property :self_link, as: 'selfLink'
9063
9097
  property :status, as: 'status'
9098
+ property :supports_pzs, as: 'supportsPzs'
9064
9099
  end
9065
9100
  end
9066
9101
 
@@ -11897,6 +11932,8 @@ module Google
11897
11932
  class Route
11898
11933
  # @private
11899
11934
  class Representation < Google::Apis::Core::JsonRepresentation
11935
+ collection :as_paths, as: 'asPaths', class: Google::Apis::ComputeV1::RouteAsPath, decorator: Google::Apis::ComputeV1::RouteAsPath::Representation
11936
+
11900
11937
  property :creation_timestamp, as: 'creationTimestamp'
11901
11938
  property :description, as: 'description'
11902
11939
  property :dest_range, as: 'destRange'
@@ -11912,6 +11949,7 @@ module Google
11912
11949
  property :next_hop_peering, as: 'nextHopPeering'
11913
11950
  property :next_hop_vpn_tunnel, as: 'nextHopVpnTunnel'
11914
11951
  property :priority, as: 'priority'
11952
+ property :route_type, as: 'routeType'
11915
11953
  property :self_link, as: 'selfLink'
11916
11954
  collection :tags, as: 'tags'
11917
11955
  collection :warnings, as: 'warnings', class: Google::Apis::ComputeV1::Route::Warning, decorator: Google::Apis::ComputeV1::Route::Warning::Representation
@@ -11937,6 +11975,14 @@ module Google
11937
11975
  end
11938
11976
  end
11939
11977
 
11978
+ class RouteAsPath
11979
+ # @private
11980
+ class Representation < Google::Apis::Core::JsonRepresentation
11981
+ collection :as_lists, as: 'asLists'
11982
+ property :path_segment_type, as: 'pathSegmentType'
11983
+ end
11984
+ end
11985
+
11940
11986
  class RouteList
11941
11987
  # @private
11942
11988
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -12134,10 +12180,13 @@ module Google
12134
12180
  property :name, as: 'name'
12135
12181
  property :nat_ip_allocate_option, as: 'natIpAllocateOption'
12136
12182
  collection :nat_ips, as: 'natIps'
12183
+ collection :rules, as: 'rules', class: Google::Apis::ComputeV1::RouterNatRule, decorator: Google::Apis::ComputeV1::RouterNatRule::Representation
12184
+
12137
12185
  property :source_subnetwork_ip_ranges_to_nat, as: 'sourceSubnetworkIpRangesToNat'
12138
12186
  collection :subnetworks, as: 'subnetworks', class: Google::Apis::ComputeV1::RouterNatSubnetworkToNat, decorator: Google::Apis::ComputeV1::RouterNatSubnetworkToNat::Representation
12139
12187
 
12140
12188
  property :tcp_established_idle_timeout_sec, as: 'tcpEstablishedIdleTimeoutSec'
12189
+ property :tcp_time_wait_timeout_sec, as: 'tcpTimeWaitTimeoutSec'
12141
12190
  property :tcp_transitory_idle_timeout_sec, as: 'tcpTransitoryIdleTimeoutSec'
12142
12191
  property :udp_idle_timeout_sec, as: 'udpIdleTimeoutSec'
12143
12192
  end
@@ -12151,6 +12200,25 @@ module Google
12151
12200
  end
12152
12201
  end
12153
12202
 
12203
+ class RouterNatRule
12204
+ # @private
12205
+ class Representation < Google::Apis::Core::JsonRepresentation
12206
+ property :action, as: 'action', class: Google::Apis::ComputeV1::RouterNatRuleAction, decorator: Google::Apis::ComputeV1::RouterNatRuleAction::Representation
12207
+
12208
+ property :description, as: 'description'
12209
+ property :match, as: 'match'
12210
+ property :rule_number, as: 'ruleNumber'
12211
+ end
12212
+ end
12213
+
12214
+ class RouterNatRuleAction
12215
+ # @private
12216
+ class Representation < Google::Apis::Core::JsonRepresentation
12217
+ collection :source_nat_active_ips, as: 'sourceNatActiveIps'
12218
+ collection :source_nat_drain_ips, as: 'sourceNatDrainIps'
12219
+ end
12220
+ end
12221
+
12154
12222
  class RouterNatSubnetworkToNat
12155
12223
  # @private
12156
12224
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -12202,11 +12270,24 @@ module Google
12202
12270
  property :min_extra_nat_ips_needed, as: 'minExtraNatIpsNeeded'
12203
12271
  property :name, as: 'name'
12204
12272
  property :num_vm_endpoints_with_nat_mappings, as: 'numVmEndpointsWithNatMappings'
12273
+ collection :rule_status, as: 'ruleStatus', class: Google::Apis::ComputeV1::RouterStatusNatStatusNatRuleStatus, decorator: Google::Apis::ComputeV1::RouterStatusNatStatusNatRuleStatus::Representation
12274
+
12205
12275
  collection :user_allocated_nat_ip_resources, as: 'userAllocatedNatIpResources'
12206
12276
  collection :user_allocated_nat_ips, as: 'userAllocatedNatIps'
12207
12277
  end
12208
12278
  end
12209
12279
 
12280
+ class RouterStatusNatStatusNatRuleStatus
12281
+ # @private
12282
+ class Representation < Google::Apis::Core::JsonRepresentation
12283
+ collection :active_nat_ips, as: 'activeNatIps'
12284
+ collection :drain_nat_ips, as: 'drainNatIps'
12285
+ property :min_extra_ips_needed, as: 'minExtraIpsNeeded'
12286
+ property :num_vm_endpoints_with_nat_mappings, as: 'numVmEndpointsWithNatMappings'
12287
+ property :rule_number, as: 'ruleNumber'
12288
+ end
12289
+ end
12290
+
12210
12291
  class RouterStatusResponse
12211
12292
  # @private
12212
12293
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -13127,6 +13208,13 @@ module Google
13127
13208
  end
13128
13209
  end
13129
13210
 
13211
+ class Subsetting
13212
+ # @private
13213
+ class Representation < Google::Apis::Core::JsonRepresentation
13214
+ property :policy, as: 'policy'
13215
+ end
13216
+ end
13217
+
13130
13218
  class TcpHealthCheck
13131
13219
  # @private
13132
13220
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -5765,8 +5765,7 @@ module Google
5765
5765
  execute_or_queue_command(command, &block)
5766
5766
  end
5767
5767
 
5768
- # Retrieves the specified Operations resource. Gets a list of operations by
5769
- # making a `list()` request.
5768
+ # Retrieves the specified Operations resource.
5770
5769
  # @param [String] project
5771
5770
  # Project ID for this request.
5772
5771
  # @param [String] operation
@@ -8714,7 +8713,11 @@ module Google
8714
8713
  # the instances in the group are still in the process of being patched. You must
8715
8714
  # separately verify the status of the individual instances with the
8716
8715
  # listManagedInstances method. This method supports PATCH semantics and uses the
8717
- # JSON merge patch format and processing rules.
8716
+ # JSON merge patch format and processing rules. If you update your group to
8717
+ # specify a new template or instance configuration, it's possible that your
8718
+ # intended specification for each VM in the group is different from the current
8719
+ # state of that VM. To learn how to apply an updated configuration to the VMs in
8720
+ # a MIG, see Updating instances in a MIG.
8718
8721
  # @param [String] project
8719
8722
  # Project ID for this request.
8720
8723
  # @param [String] zone
@@ -10114,8 +10117,9 @@ module Google
10114
10117
  execute_or_queue_command(command, &block)
10115
10118
  end
10116
10119
 
10117
- # Retrieves aggregated list of all of the instances in your project across all
10118
- # regions and zones.
10120
+ # Retrieves an aggregated list of all of the instances in your project across
10121
+ # all regions and zones. The performance of this method degrades when a filter
10122
+ # is specified on a project that has a very large number of instances.
10119
10123
  # @param [String] project
10120
10124
  # Project ID for this request.
10121
10125
  # @param [String] filter
@@ -20810,7 +20814,11 @@ module Google
20810
20814
  # the instances in the group are still in the process of being patched. You must
20811
20815
  # separately verify the status of the individual instances with the
20812
20816
  # listmanagedinstances method. This method supports PATCH semantics and uses the
20813
- # JSON merge patch format and processing rules.
20817
+ # JSON merge patch format and processing rules. If you update your group to
20818
+ # specify a new template or instance configuration, it's possible that your
20819
+ # intended specification for each VM in the group is different from the current
20820
+ # state of that VM. To learn how to apply an updated configuration to the VMs in
20821
+ # a MIG, see Updating instances in a MIG.
20814
20822
  # @param [String] project
20815
20823
  # Project ID for this request.
20816
20824
  # @param [String] region
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-apis-compute_v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-20 00:00:00.000000000 Z
11
+ date: 2021-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-apis-core
@@ -58,7 +58,7 @@ licenses:
58
58
  metadata:
59
59
  bug_tracker_uri: https://github.com/googleapis/google-api-ruby-client/issues
60
60
  changelog_uri: https://github.com/googleapis/google-api-ruby-client/tree/master/generated/google-apis-compute_v1/CHANGELOG.md
61
- documentation_uri: https://googleapis.dev/ruby/google-apis-compute_v1/v0.17.0
61
+ documentation_uri: https://googleapis.dev/ruby/google-apis-compute_v1/v0.18.0
62
62
  source_code_uri: https://github.com/googleapis/google-api-ruby-client/tree/master/generated/google-apis-compute_v1
63
63
  post_install_message:
64
64
  rdoc_options: []