google-apis-compute_v1 0.17.0 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
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: []