google-api-client 0.36.1 → 0.36.2

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.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  4. data/generated/google/apis/androidenterprise_v1/classes.rb +29 -58
  5. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  6. data/generated/google/apis/androidmanagement_v1/classes.rb +188 -0
  7. data/generated/google/apis/androidmanagement_v1/representations.rb +67 -0
  8. data/generated/google/apis/androidmanagement_v1/service.rb +6 -1
  9. data/generated/google/apis/bigquery_v2.rb +1 -1
  10. data/generated/google/apis/bigquery_v2/classes.rb +6 -0
  11. data/generated/google/apis/bigquery_v2/representations.rb +1 -0
  12. data/generated/google/apis/bigquery_v2/service.rb +19 -2
  13. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  14. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +6 -0
  15. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +1 -0
  16. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  17. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +6 -0
  18. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +1 -0
  19. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  20. data/generated/google/apis/cloudbuild_v1alpha1.rb +34 -0
  21. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +1174 -0
  22. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +435 -0
  23. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +223 -0
  24. data/generated/google/apis/compute_alpha.rb +1 -1
  25. data/generated/google/apis/compute_alpha/classes.rb +234 -240
  26. data/generated/google/apis/compute_alpha/representations.rb +7 -47
  27. data/generated/google/apis/compute_alpha/service.rb +1233 -1068
  28. data/generated/google/apis/compute_beta.rb +1 -1
  29. data/generated/google/apis/compute_beta/classes.rb +936 -164
  30. data/generated/google/apis/compute_beta/representations.rb +371 -0
  31. data/generated/google/apis/compute_beta/service.rb +1394 -899
  32. data/generated/google/apis/compute_v1.rb +1 -1
  33. data/generated/google/apis/compute_v1/classes.rb +479 -147
  34. data/generated/google/apis/compute_v1/representations.rb +127 -0
  35. data/generated/google/apis/compute_v1/service.rb +813 -748
  36. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  37. data/generated/google/apis/datacatalog_v1beta1/classes.rb +9 -7
  38. data/generated/google/apis/datacatalog_v1beta1/representations.rb +1 -0
  39. data/generated/google/apis/datacatalog_v1beta1/service.rb +8 -3
  40. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  41. data/generated/google/apis/dataflow_v1b3/classes.rb +69 -0
  42. data/generated/google/apis/dataflow_v1b3/representations.rb +34 -0
  43. data/generated/google/apis/dataproc_v1.rb +1 -1
  44. data/generated/google/apis/dataproc_v1/classes.rb +73 -43
  45. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  46. data/generated/google/apis/dataproc_v1beta2/classes.rb +73 -43
  47. data/generated/google/apis/dialogflow_v2.rb +1 -1
  48. data/generated/google/apis/dialogflow_v2/classes.rb +44 -11
  49. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  50. data/generated/google/apis/dialogflow_v2beta1/classes.rb +44 -11
  51. data/generated/google/apis/dialogflow_v2beta1/service.rb +20 -0
  52. data/generated/google/apis/dns_v1.rb +1 -1
  53. data/generated/google/apis/dns_v1/classes.rb +70 -0
  54. data/generated/google/apis/dns_v1/representations.rb +32 -0
  55. data/generated/google/apis/dns_v2beta1.rb +1 -1
  56. data/generated/google/apis/dns_v2beta1/classes.rb +70 -0
  57. data/generated/google/apis/dns_v2beta1/representations.rb +32 -0
  58. data/generated/google/apis/docs_v1.rb +1 -1
  59. data/generated/google/apis/docs_v1/classes.rb +152 -0
  60. data/generated/google/apis/docs_v1/representations.rb +56 -0
  61. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  62. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  63. data/generated/google/apis/driveactivity_v2.rb +1 -1
  64. data/generated/google/apis/driveactivity_v2/classes.rb +6 -0
  65. data/generated/google/apis/driveactivity_v2/representations.rb +2 -0
  66. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  67. data/generated/google/apis/firestore_v1.rb +1 -1
  68. data/generated/google/apis/firestore_v1/classes.rb +1 -1
  69. data/generated/google/apis/firestore_v1/service.rb +24 -22
  70. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  71. data/generated/google/apis/firestore_v1beta1/classes.rb +1 -1
  72. data/generated/google/apis/firestore_v1beta1/service.rb +16 -14
  73. data/generated/google/apis/fitness_v1.rb +11 -11
  74. data/generated/google/apis/games_management_v1management.rb +1 -1
  75. data/generated/google/apis/games_management_v1management/service.rb +5 -7
  76. data/generated/google/apis/iam_v1.rb +1 -1
  77. data/generated/google/apis/iam_v1/classes.rb +83 -141
  78. data/generated/google/apis/iam_v1/representations.rb +0 -6
  79. data/generated/google/apis/iam_v1/service.rb +11 -21
  80. data/generated/google/apis/language_v1beta2.rb +1 -1
  81. data/generated/google/apis/language_v1beta2/classes.rb +15 -0
  82. data/generated/google/apis/language_v1beta2/representations.rb +2 -0
  83. data/generated/google/apis/logging_v2.rb +3 -2
  84. data/generated/google/apis/logging_v2/service.rb +2 -1
  85. data/generated/google/apis/{surveys_v2.rb → prod_tt_sasportal_v1alpha1.rb} +9 -15
  86. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +1084 -0
  87. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +503 -0
  88. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +1322 -0
  89. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  90. data/generated/google/apis/recommender_v1beta1/classes.rb +6 -0
  91. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  92. data/generated/google/apis/remotebuildexecution_v1/classes.rb +1 -1
  93. data/generated/google/apis/run_v1alpha1.rb +1 -1
  94. data/generated/google/apis/run_v1alpha1/classes.rb +424 -0
  95. data/generated/google/apis/run_v1alpha1/representations.rb +161 -0
  96. data/generated/google/apis/run_v1alpha1/service.rb +862 -46
  97. data/generated/google/apis/run_v1beta1.rb +1 -1
  98. data/generated/google/apis/run_v1beta1/classes.rb +1 -1
  99. data/generated/google/apis/sasportal_v1alpha1.rb +34 -0
  100. data/generated/google/apis/sasportal_v1alpha1/classes.rb +1084 -0
  101. data/generated/google/apis/sasportal_v1alpha1/representations.rb +503 -0
  102. data/generated/google/apis/sasportal_v1alpha1/service.rb +1322 -0
  103. data/generated/google/apis/securitycenter_v1.rb +1 -1
  104. data/generated/google/apis/securitycenter_v1/classes.rb +18 -0
  105. data/generated/google/apis/securitycenter_v1/representations.rb +3 -0
  106. data/generated/google/apis/securitycenter_v1/service.rb +6 -0
  107. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  108. data/generated/google/apis/servicemanagement_v1/classes.rb +16 -1
  109. data/generated/google/apis/servicemanagement_v1/representations.rb +1 -0
  110. data/generated/google/apis/sheets_v4.rb +1 -1
  111. data/generated/google/apis/sheets_v4/classes.rb +187 -2
  112. data/generated/google/apis/sheets_v4/representations.rb +47 -0
  113. data/generated/google/apis/spanner_v1.rb +1 -1
  114. data/generated/google/apis/spanner_v1/classes.rb +104 -51
  115. data/generated/google/apis/spanner_v1/representations.rb +1 -0
  116. data/generated/google/apis/spanner_v1/service.rb +6 -1
  117. data/generated/google/apis/sql_v1beta4.rb +1 -1
  118. data/generated/google/apis/sql_v1beta4/classes.rb +75 -4
  119. data/generated/google/apis/sql_v1beta4/representations.rb +32 -0
  120. data/generated/google/apis/sql_v1beta4/service.rb +83 -2
  121. data/generated/google/apis/toolresults_v1.rb +31 -0
  122. data/generated/google/apis/toolresults_v1/classes.rb +696 -0
  123. data/generated/google/apis/toolresults_v1/representations.rb +438 -0
  124. data/generated/google/apis/toolresults_v1/service.rb +59 -0
  125. data/generated/google/apis/vision_v1.rb +1 -1
  126. data/generated/google/apis/vision_v1/service.rb +1 -1
  127. data/lib/google/apis/version.rb +1 -1
  128. metadata +19 -7
  129. data/generated/google/apis/surveys_v2/classes.rb +0 -691
  130. data/generated/google/apis/surveys_v2/representations.rb +0 -305
  131. data/generated/google/apis/surveys_v2/service.rb +0 -348
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeV1
27
27
  VERSION = 'V1'
28
- REVISION = '20191025'
28
+ REVISION = '20191125'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -1285,9 +1285,10 @@ module Google
1285
1285
  # @return [String]
1286
1286
  attr_accessor :disk_name
1287
1287
 
1288
- # Specifies the size of the disk in base-2 GB. If not specified, the disk will
1289
- # be the same size as the image (usually 10GB). If specified, the size must be
1290
- # equal to or larger than 10GB.
1288
+ # Specifies the size of the disk in base-2 GB. The size must be at least 10 GB.
1289
+ # If you specify a sourceImage, which is required for boot disks, the default
1290
+ # size is the size of the sourceImage. If you do not specify a sourceImage, the
1291
+ # default disk size is 500 GB.
1291
1292
  # Corresponds to the JSON property `diskSizeGb`
1292
1293
  # @return [Fixnum]
1293
1294
  attr_accessor :disk_size_gb
@@ -1536,6 +1537,15 @@ module Google
1536
1537
  # @return [String]
1537
1538
  attr_accessor :name
1538
1539
 
1540
+ # [Output Only] Target recommended MIG size (number of instances) computed by
1541
+ # autoscaler. Autoscaler calculates recommended MIG size even when autoscaling
1542
+ # policy mode is different from ON. This field is empty when autoscaler is not
1543
+ # connected to the existing managed instance group or autoscaler did not
1544
+ # generate its prediction.
1545
+ # Corresponds to the JSON property `recommendedSize`
1546
+ # @return [Fixnum]
1547
+ attr_accessor :recommended_size
1548
+
1539
1549
  # [Output Only] URL of the region where the instance group resides (for
1540
1550
  # autoscalers living in regional scope).
1541
1551
  # Corresponds to the JSON property `region`
@@ -1589,6 +1599,7 @@ module Google
1589
1599
  @id = args[:id] if args.key?(:id)
1590
1600
  @kind = args[:kind] if args.key?(:kind)
1591
1601
  @name = args[:name] if args.key?(:name)
1602
+ @recommended_size = args[:recommended_size] if args.key?(:recommended_size)
1592
1603
  @region = args[:region] if args.key?(:region)
1593
1604
  @self_link = args[:self_link] if args.key?(:self_link)
1594
1605
  @status = args[:status] if args.key?(:status)
@@ -2033,6 +2044,11 @@ module Google
2033
2044
  # @return [Fixnum]
2034
2045
  attr_accessor :min_num_replicas
2035
2046
 
2047
+ # Defines operating mode for this policy.
2048
+ # Corresponds to the JSON property `mode`
2049
+ # @return [String]
2050
+ attr_accessor :mode
2051
+
2036
2052
  def initialize(**args)
2037
2053
  update!(**args)
2038
2054
  end
@@ -2045,6 +2061,7 @@ module Google
2045
2061
  @load_balancing_utilization = args[:load_balancing_utilization] if args.key?(:load_balancing_utilization)
2046
2062
  @max_num_replicas = args[:max_num_replicas] if args.key?(:max_num_replicas)
2047
2063
  @min_num_replicas = args[:min_num_replicas] if args.key?(:min_num_replicas)
2064
+ @mode = args[:mode] if args.key?(:mode)
2048
2065
  end
2049
2066
  end
2050
2067
 
@@ -2664,6 +2681,8 @@ module Google
2664
2681
  # HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
2665
2682
  # - A global backend service with the load_balancing_scheme set to
2666
2683
  # INTERNAL_SELF_MANAGED.
2684
+ # If sessionAffinity is not NONE, and this field is not set to >MAGLEV or
2685
+ # RING_HASH, session affinity settings will not take effect.
2667
2686
  # Corresponds to the JSON property `localityLbPolicy`
2668
2687
  # @return [String]
2669
2688
  attr_accessor :locality_lb_policy
@@ -2738,8 +2757,9 @@ module Google
2738
2757
  # HTTPS.
2739
2758
  # When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP,
2740
2759
  # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
2741
- # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, possible values are
2742
- # NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.
2760
+ # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED,
2761
+ # possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or
2762
+ # HTTP_COOKIE.
2743
2763
  # Corresponds to the JSON property `sessionAffinity`
2744
2764
  # @return [String]
2745
2765
  attr_accessor :session_affinity
@@ -3258,6 +3278,22 @@ module Google
3258
3278
  # account. For example, `my-other-app@appspot.gserviceaccount.com`.
3259
3279
  # * `group:`emailid``: An email address that represents a Google group. For
3260
3280
  # example, `admins@example.com`.
3281
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
3282
+ # identifier) representing a user that has been recently deleted. For example,`
3283
+ # alice@example.com?uid=123456789012345678901`. If the user is recovered, this
3284
+ # value reverts to `user:`emailid`` and the recovered user retains the role in
3285
+ # the binding.
3286
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
3287
+ # unique identifier) representing a service account that has been recently
3288
+ # deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
3289
+ # 123456789012345678901`. If the service account is undeleted, this value
3290
+ # reverts to `serviceAccount:`emailid`` and the undeleted service account
3291
+ # retains the role in the binding.
3292
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
3293
+ # identifier) representing a Google group that has been recently deleted. For
3294
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
3295
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
3296
+ # retains the role in the binding.
3261
3297
  # * `domain:`domain``: The G Suite domain (primary) that represents all the
3262
3298
  # users of that domain. For example, `google.com` or `example.com`.
3263
3299
  # Corresponds to the JSON property `members`
@@ -5424,6 +5460,171 @@ module Google
5424
5460
  end
5425
5461
  end
5426
5462
 
5463
+ #
5464
+ class ExchangedPeeringRoute
5465
+ include Google::Apis::Core::Hashable
5466
+
5467
+ # The destination range of the route.
5468
+ # Corresponds to the JSON property `destRange`
5469
+ # @return [String]
5470
+ attr_accessor :dest_range
5471
+
5472
+ # True if the peering route has been imported from a peer. The actual import
5473
+ # happens if the field networkPeering.importCustomRoutes is true for this
5474
+ # network, and networkPeering.exportCustomRoutes is true for the peer network,
5475
+ # and the import does not result in a route conflict.
5476
+ # Corresponds to the JSON property `imported`
5477
+ # @return [Boolean]
5478
+ attr_accessor :imported
5479
+ alias_method :imported?, :imported
5480
+
5481
+ # The region of peering route next hop, only applies to dynamic routes.
5482
+ # Corresponds to the JSON property `nextHopRegion`
5483
+ # @return [String]
5484
+ attr_accessor :next_hop_region
5485
+
5486
+ # The priority of the peering route.
5487
+ # Corresponds to the JSON property `priority`
5488
+ # @return [Fixnum]
5489
+ attr_accessor :priority
5490
+
5491
+ # The type of the peering route.
5492
+ # Corresponds to the JSON property `type`
5493
+ # @return [String]
5494
+ attr_accessor :type
5495
+
5496
+ def initialize(**args)
5497
+ update!(**args)
5498
+ end
5499
+
5500
+ # Update properties of this object
5501
+ def update!(**args)
5502
+ @dest_range = args[:dest_range] if args.key?(:dest_range)
5503
+ @imported = args[:imported] if args.key?(:imported)
5504
+ @next_hop_region = args[:next_hop_region] if args.key?(:next_hop_region)
5505
+ @priority = args[:priority] if args.key?(:priority)
5506
+ @type = args[:type] if args.key?(:type)
5507
+ end
5508
+ end
5509
+
5510
+ #
5511
+ class ExchangedPeeringRoutesList
5512
+ include Google::Apis::Core::Hashable
5513
+
5514
+ # [Output Only] Unique identifier for the resource; defined by the server.
5515
+ # Corresponds to the JSON property `id`
5516
+ # @return [String]
5517
+ attr_accessor :id
5518
+
5519
+ # A list of ExchangedPeeringRoute resources.
5520
+ # Corresponds to the JSON property `items`
5521
+ # @return [Array<Google::Apis::ComputeV1::ExchangedPeeringRoute>]
5522
+ attr_accessor :items
5523
+
5524
+ # [Output Only] Type of resource. Always compute#exchangedPeeringRoutesList for
5525
+ # exchanged peering routes lists.
5526
+ # Corresponds to the JSON property `kind`
5527
+ # @return [String]
5528
+ attr_accessor :kind
5529
+
5530
+ # [Output Only] This token allows you to get the next page of results for list
5531
+ # requests. If the number of results is larger than maxResults, use the
5532
+ # nextPageToken as a value for the query parameter pageToken in the next list
5533
+ # request. Subsequent list requests will have their own nextPageToken to
5534
+ # continue paging through the results.
5535
+ # Corresponds to the JSON property `nextPageToken`
5536
+ # @return [String]
5537
+ attr_accessor :next_page_token
5538
+
5539
+ # [Output Only] Server-defined URL for this resource.
5540
+ # Corresponds to the JSON property `selfLink`
5541
+ # @return [String]
5542
+ attr_accessor :self_link
5543
+
5544
+ # [Output Only] Informational warning message.
5545
+ # Corresponds to the JSON property `warning`
5546
+ # @return [Google::Apis::ComputeV1::ExchangedPeeringRoutesList::Warning]
5547
+ attr_accessor :warning
5548
+
5549
+ def initialize(**args)
5550
+ update!(**args)
5551
+ end
5552
+
5553
+ # Update properties of this object
5554
+ def update!(**args)
5555
+ @id = args[:id] if args.key?(:id)
5556
+ @items = args[:items] if args.key?(:items)
5557
+ @kind = args[:kind] if args.key?(:kind)
5558
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
5559
+ @self_link = args[:self_link] if args.key?(:self_link)
5560
+ @warning = args[:warning] if args.key?(:warning)
5561
+ end
5562
+
5563
+ # [Output Only] Informational warning message.
5564
+ class Warning
5565
+ include Google::Apis::Core::Hashable
5566
+
5567
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
5568
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
5569
+ # Corresponds to the JSON property `code`
5570
+ # @return [String]
5571
+ attr_accessor :code
5572
+
5573
+ # [Output Only] Metadata about this warning in key: value format. For example:
5574
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
5575
+ # Corresponds to the JSON property `data`
5576
+ # @return [Array<Google::Apis::ComputeV1::ExchangedPeeringRoutesList::Warning::Datum>]
5577
+ attr_accessor :data
5578
+
5579
+ # [Output Only] A human-readable description of the warning code.
5580
+ # Corresponds to the JSON property `message`
5581
+ # @return [String]
5582
+ attr_accessor :message
5583
+
5584
+ def initialize(**args)
5585
+ update!(**args)
5586
+ end
5587
+
5588
+ # Update properties of this object
5589
+ def update!(**args)
5590
+ @code = args[:code] if args.key?(:code)
5591
+ @data = args[:data] if args.key?(:data)
5592
+ @message = args[:message] if args.key?(:message)
5593
+ end
5594
+
5595
+ #
5596
+ class Datum
5597
+ include Google::Apis::Core::Hashable
5598
+
5599
+ # [Output Only] A key that provides more detail on the warning being returned.
5600
+ # For example, for warnings where there are no results in a list request for a
5601
+ # particular zone, this key might be scope and the key value might be the zone
5602
+ # name. Other examples might be a key indicating a deprecated resource and a
5603
+ # suggested replacement, or a warning about invalid network settings (for
5604
+ # example, if an instance attempts to perform IP forwarding but is not enabled
5605
+ # for IP forwarding).
5606
+ # Corresponds to the JSON property `key`
5607
+ # @return [String]
5608
+ attr_accessor :key
5609
+
5610
+ # [Output Only] A warning data value corresponding to the key.
5611
+ # Corresponds to the JSON property `value`
5612
+ # @return [String]
5613
+ attr_accessor :value
5614
+
5615
+ def initialize(**args)
5616
+ update!(**args)
5617
+ end
5618
+
5619
+ # Update properties of this object
5620
+ def update!(**args)
5621
+ @key = args[:key] if args.key?(:key)
5622
+ @value = args[:value] if args.key?(:value)
5623
+ end
5624
+ end
5625
+ end
5626
+ end
5627
+
5427
5628
  # Represents an expression text. Example:
5428
5629
  # title: "User account presence" description: "Determines whether the request
5429
5630
  # has a user account" expression: "size(request.user) > 0"
@@ -6186,8 +6387,8 @@ module Google
6186
6387
  # @return [String]
6187
6388
  attr_accessor :ip_address
6188
6389
 
6189
- # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP,
6190
- # AH, SCTP or ICMP.
6390
+ # The IP protocol to which this rule applies. For protocol forwarding, valid
6391
+ # options are TCP, UDP, ESP, AH, SCTP or ICMP.
6191
6392
  # For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL,
6192
6393
  # and one of TCP or UDP are valid. For Traffic Director, the load balancing
6193
6394
  # scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S)
@@ -6261,15 +6462,17 @@ module Google
6261
6462
  attr_accessor :load_balancing_scheme
6262
6463
 
6263
6464
  # Opaque filter criteria used by Loadbalancer to restrict routing configuration
6264
- # to a limited set xDS compliant clients. In their xDS requests to Loadbalancer,
6265
- # xDS clients present node metadata. If a match takes place, the relevant
6266
- # routing configuration is made available to those proxies.
6465
+ # to a limited set of xDS compliant clients. In their xDS requests to
6466
+ # Loadbalancer, xDS clients present node metadata. If a match takes place, the
6467
+ # relevant configuration is made available to those proxies. Otherwise, all the
6468
+ # resources (e.g. TargetHttpProxy, UrlMap) referenced by the ForwardingRule will
6469
+ # not be visible to those proxies.
6267
6470
  # For each metadataFilter in this list, if its filterMatchCriteria is set to
6268
6471
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
6269
6472
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
6270
- # all of its filterLabels must match with corresponding labels in the provided
6473
+ # all of its filterLabels must match with corresponding labels provided in the
6271
6474
  # metadata.
6272
- # metadataFilters specified here can be overridden by those specified in the
6475
+ # metadataFilters specified here will be applifed before those specified in the
6273
6476
  # UrlMap that this ForwardingRule references.
6274
6477
  # metadataFilters only applies to Loadbalancers that have their
6275
6478
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
@@ -6305,23 +6508,16 @@ module Google
6305
6508
  # @return [String]
6306
6509
  attr_accessor :network_tier
6307
6510
 
6308
- # This field is deprecated. See the port
6309
- # field.
6310
- # Corresponds to the JSON property `portRange`
6311
- # @return [String]
6312
- attr_accessor :port_range
6313
-
6314
- # List of comma-separated ports. The forwarding rule forwards packets with
6315
- # matching destination ports. If the forwarding rule's loadBalancingScheme is
6316
- # EXTERNAL, and the forwarding rule references a target pool, specifying ports
6317
- # is optional. You can specify an unlimited number of ports, but they must be
6318
- # contiguous. If you omit ports, GCP forwards traffic on any port of the
6319
- # forwarding rule's protocol.
6320
- # If the forwarding rule's loadBalancingScheme is EXTERNAL, and the forwarding
6321
- # rule references a target HTTP proxy, target HTTPS proxy, target TCP proxy,
6322
- # target SSL proxy, or target VPN gateway, you must specify ports using the
6323
- # following constraints:
6324
- #
6511
+ # When the load balancing scheme is EXTERNAL, INTERNAL_SELF_MANAGED and
6512
+ # INTERNAL_MANAGED, you can specify a port_range. Use with a forwarding rule
6513
+ # that points to a target proxy or a target pool. Do not use with a forwarding
6514
+ # rule that points to a backend service. This field is used along with the
6515
+ # target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy,
6516
+ # TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.
6517
+ # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed
6518
+ # to ports in the specified range will be forwarded to target. Forwarding rules
6519
+ # with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
6520
+ # Some types of forwarding target have constraints on the acceptable ports:
6325
6521
  # - TargetHttpProxy: 80, 8080
6326
6522
  # - TargetHttpsProxy: 443
6327
6523
  # - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
@@ -6329,16 +6525,20 @@ module Google
6329
6525
  # - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
6330
6526
  # 1883, 5222
6331
6527
  # - TargetVpnGateway: 500, 4500
6332
- # If the forwarding rule's loadBalancingScheme is INTERNAL, you must specify
6528
+ # Corresponds to the JSON property `portRange`
6529
+ # @return [String]
6530
+ attr_accessor :port_range
6531
+
6532
+ # This field is used along with the backend_service field for internal load
6533
+ # balancing.
6534
+ # When the load balancing scheme is INTERNAL, a list of ports can be configured,
6535
+ # for example, ['80'], ['8000','9000']. Only packets addressed to these ports
6536
+ # are forwarded to the backends configured with the forwarding rule.
6537
+ # If the forwarding rule's loadBalancingScheme is INTERNAL, you can specify
6333
6538
  # ports in one of the following ways:
6334
6539
  # * A list of up to five ports, which can be non-contiguous * Keyword ALL, which
6335
6540
  # causes the forwarding rule to forward traffic on any port of the forwarding
6336
6541
  # rule's protocol.
6337
- # The ports field is used along with the target field for TargetHttpProxy,
6338
- # TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool,
6339
- # TargetInstance.
6340
- # Applicable only when IPProtocol is TCP, UDP, or SCTP. Forwarding rules with
6341
- # the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
6342
6542
  # Corresponds to the JSON property `ports`
6343
6543
  # @return [Array<String>]
6344
6544
  attr_accessor :ports
@@ -6825,32 +7025,34 @@ module Google
6825
7025
  # @return [String]
6826
7026
  attr_accessor :etag
6827
7027
 
6828
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
6829
- # access control policies for Cloud Platform resources.
7028
+ # An Identity and Access Management (IAM) policy, which specifies access
7029
+ # controls for Google Cloud resources.
6830
7030
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
6831
7031
  # members` to a single `role`. Members can be user accounts, service accounts,
6832
7032
  # Google groups, and domains (such as G Suite). A `role` is a named list of
6833
- # permissions (defined by IAM or configured by users). A `binding` can
6834
- # optionally specify a `condition`, which is a logic expression that further
6835
- # constrains the role binding based on attributes about the request and/or
6836
- # target resource.
6837
- # **JSON Example**
7033
+ # permissions; each `role` can be an IAM predefined role or a user-created
7034
+ # custom role.
7035
+ # Optionally, a `binding` can specify a `condition`, which is a logical
7036
+ # expression that allows access to a resource only if the expression evaluates
7037
+ # to `true`. A condition can add constraints based on attributes of the request,
7038
+ # the resource, or both.
7039
+ # **JSON example:**
6838
7040
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
6839
7041
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
6840
7042
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
6841
7043
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
6842
7044
  # "condition": ` "title": "expirable access", "description": "Does not grant
6843
7045
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
6844
- # 00:00.000Z')", ` ` ] `
6845
- # **YAML Example**
7046
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
7047
+ # **YAML example:**
6846
7048
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
6847
7049
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
6848
7050
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
6849
7051
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
6850
7052
  # access description: Does not grant access after Sep 2020 expression: request.
6851
- # time < timestamp('2020-10-01T00:00:00.000Z')
6852
- # For a description of IAM and its features, see the [IAM developer's guide](
6853
- # https://cloud.google.com/iam/docs).
7053
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
7054
+ # For a description of IAM and its features, see the [IAM documentation](https://
7055
+ # cloud.google.com/iam/docs/).
6854
7056
  # Corresponds to the JSON property `policy`
6855
7057
  # @return [Google::Apis::ComputeV1::Policy]
6856
7058
  attr_accessor :policy
@@ -6878,7 +7080,7 @@ module Google
6878
7080
  attr_accessor :kind
6879
7081
 
6880
7082
  # The path to be queried. This can be the default namespace ('/') or a nested
6881
- # namespace ('//') or a specified key ('//')
7083
+ # namespace ('/\/') or a specified key ('/\/\')
6882
7084
  # Corresponds to the JSON property `queryPath`
6883
7085
  # @return [String]
6884
7086
  attr_accessor :query_path
@@ -7986,7 +8188,7 @@ module Google
7986
8188
  attr_accessor :prefix_match
7987
8189
 
7988
8190
  # A header with the contents of headerName must exist. The match takes place
7989
- # whether or not the request's header has a value or not.
8191
+ # whether or not the request's header has a value.
7990
8192
  # Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
7991
8193
  # rangeMatch must be set.
7992
8194
  # Corresponds to the JSON property `presentMatch`
@@ -8302,7 +8504,7 @@ module Google
8302
8504
 
8303
8505
  # The queryParameterMatch matches if the value of the parameter exactly matches
8304
8506
  # the contents of exactMatch.
8305
- # Only one of presentMatch, exactMatch and regexMatch must be set.
8507
+ # Only one of presentMatch, exactMatch or regexMatch must be set.
8306
8508
  # Corresponds to the JSON property `exactMatch`
8307
8509
  # @return [String]
8308
8510
  attr_accessor :exact_match
@@ -8315,7 +8517,7 @@ module Google
8315
8517
 
8316
8518
  # Specifies that the queryParameterMatch matches if the request contains the
8317
8519
  # query parameter, irrespective of whether the parameter has a value or not.
8318
- # Only one of presentMatch, exactMatch and regexMatch must be set.
8520
+ # Only one of presentMatch, exactMatch or regexMatch must be set.
8319
8521
  # Corresponds to the JSON property `presentMatch`
8320
8522
  # @return [Boolean]
8321
8523
  attr_accessor :present_match
@@ -8324,7 +8526,7 @@ module Google
8324
8526
  # The queryParameterMatch matches if the value of the parameter matches the
8325
8527
  # regular expression specified by regexMatch. For the regular expression grammar,
8326
8528
  # please see en.cppreference.com/w/cpp/regex/ecmascript
8327
- # Only one of presentMatch, exactMatch and regexMatch must be set.
8529
+ # Only one of presentMatch, exactMatch or regexMatch must be set.
8328
8530
  # Corresponds to the JSON property `regexMatch`
8329
8531
  # @return [String]
8330
8532
  attr_accessor :regex_match
@@ -8593,7 +8795,8 @@ module Google
8593
8795
  # forwarding the request to the selected backend. If routeAction specifies any
8594
8796
  # weightedBackendServices, service must not be set. Conversely if service is set,
8595
8797
  # routeAction cannot contain any weightedBackendServices.
8596
- # Only one of routeAction or urlRedirect must be set.
8798
+ # Only one of urlRedirect, service or routeAction.weightedBackendService must be
8799
+ # set.
8597
8800
  # Corresponds to the JSON property `routeAction`
8598
8801
  # @return [Google::Apis::ComputeV1::HttpRouteAction]
8599
8802
  attr_accessor :route_action
@@ -8636,10 +8839,10 @@ module Google
8636
8839
  class HttpRouteRuleMatch
8637
8840
  include Google::Apis::Core::Hashable
8638
8841
 
8639
- # For satifying the matchRule condition, the path of the request must exactly
8842
+ # For satisfying the matchRule condition, the path of the request must exactly
8640
8843
  # match the value specified in fullPathMatch after removing any query parameters
8641
8844
  # and anchor that may be part of the original URL.
8642
- # FullPathMatch must be between 1 and 1024 characters.
8845
+ # fullPathMatch must be between 1 and 1024 characters.
8643
8846
  # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
8644
8847
  # Corresponds to the JSON property `fullPathMatch`
8645
8848
  # @return [String]
@@ -8653,30 +8856,30 @@ module Google
8653
8856
 
8654
8857
  # Specifies that prefixMatch and fullPathMatch matches are case sensitive.
8655
8858
  # The default value is false.
8656
- # caseSensitive must not be used with regexMatch.
8859
+ # ignoreCase must not be used with regexMatch.
8657
8860
  # Corresponds to the JSON property `ignoreCase`
8658
8861
  # @return [Boolean]
8659
8862
  attr_accessor :ignore_case
8660
8863
  alias_method :ignore_case?, :ignore_case
8661
8864
 
8662
8865
  # Opaque filter criteria used by Loadbalancer to restrict routing configuration
8663
- # to a limited set xDS compliant clients. In their xDS requests to Loadbalancer,
8664
- # xDS clients present node metadata. If a match takes place, the relevant
8665
- # routing configuration is made available to those proxies.
8866
+ # to a limited set of xDS compliant clients. In their xDS requests to
8867
+ # Loadbalancer, xDS clients present node metadata. If a match takes place, the
8868
+ # relevant routing configuration is made available to those proxies.
8666
8869
  # For each metadataFilter in this list, if its filterMatchCriteria is set to
8667
8870
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
8668
8871
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
8669
- # all of its filterLabels must match with corresponding labels in the provided
8872
+ # all of its filterLabels must match with corresponding labels provided in the
8670
8873
  # metadata.
8671
- # metadataFilters specified here can be overrides those specified in
8672
- # ForwardingRule that refers to this UrlMap.
8874
+ # metadataFilters specified here will be applied after those specified in
8875
+ # ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to.
8673
8876
  # metadataFilters only applies to Loadbalancers that have their
8674
8877
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
8675
8878
  # Corresponds to the JSON property `metadataFilters`
8676
8879
  # @return [Array<Google::Apis::ComputeV1::MetadataFilter>]
8677
8880
  attr_accessor :metadata_filters
8678
8881
 
8679
- # For satifying the matchRule condition, the request's path must begin with the
8882
+ # For satisfying the matchRule condition, the request's path must begin with the
8680
8883
  # specified prefixMatch. prefixMatch must begin with a /.
8681
8884
  # The value must be between 1 and 1024 characters.
8682
8885
  # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
@@ -8690,7 +8893,7 @@ module Google
8690
8893
  # @return [Array<Google::Apis::ComputeV1::HttpQueryParameterMatch>]
8691
8894
  attr_accessor :query_parameter_matches
8692
8895
 
8693
- # For satifying the matchRule condition, the path of the request must satisfy
8896
+ # For satisfying the matchRule condition, the path of the request must satisfy
8694
8897
  # the regular expression specified in regexMatch after removing any query
8695
8898
  # parameters and anchor supplied with the original URL. For regular expression
8696
8899
  # grammar please see en.cppreference.com/w/cpp/regex/ecmascript
@@ -9685,14 +9888,17 @@ module Google
9685
9888
  end
9686
9889
  end
9687
9890
 
9688
- # Represents an unmanaged Instance Group resource.
9689
- # Use unmanaged instance groups if you need to apply load balancing to groups of
9690
- # heterogeneous instances or if you need to manage the instances yourself. For
9691
- # more information, read Instance groups.
9692
- # For zonal unmanaged Instance Group, use instanceGroups resource.
9693
- # For regional unmanaged Instance Group, use regionInstanceGroups resource. (==
9694
- # resource_for beta.instanceGroups ==) (== resource_for v1.instanceGroups ==) (==
9695
- # resource_for beta.regionInstanceGroups ==) (== resource_for v1.
9891
+ # Represents an Instance Group resource.
9892
+ # Instance Groups can be used to configure a target for load balancing.
9893
+ # Instance groups can either be managed or unmanaged.
9894
+ # To create managed instance groups, use the instanceGroupManager or
9895
+ # regionInstanceGroupManager resource instead.
9896
+ # Use zonal unmanaged instance groups if you need to apply load balancing to
9897
+ # groups of heterogeneous instances or if you need to manage the instances
9898
+ # yourself. You cannot create regional unmanaged instance groups.
9899
+ # For more information, read Instance groups.
9900
+ # (== resource_for beta.instanceGroups ==) (== resource_for v1.instanceGroups ==)
9901
+ # (== resource_for beta.regionInstanceGroups ==) (== resource_for v1.
9696
9902
  # regionInstanceGroups ==)
9697
9903
  class InstanceGroup
9698
9904
  include Google::Apis::Core::Hashable
@@ -10584,6 +10790,12 @@ module Google
10584
10790
  attr_accessor :is_stable
10585
10791
  alias_method :is_stable?, :is_stable
10586
10792
 
10793
+ # [Output Only] A status of consistency of Instances' versions with their target
10794
+ # version specified by version field on Instance Group Manager.
10795
+ # Corresponds to the JSON property `versionTarget`
10796
+ # @return [Google::Apis::ComputeV1::InstanceGroupManagerStatusVersionTarget]
10797
+ attr_accessor :version_target
10798
+
10587
10799
  def initialize(**args)
10588
10800
  update!(**args)
10589
10801
  end
@@ -10591,6 +10803,30 @@ module Google
10591
10803
  # Update properties of this object
10592
10804
  def update!(**args)
10593
10805
  @is_stable = args[:is_stable] if args.key?(:is_stable)
10806
+ @version_target = args[:version_target] if args.key?(:version_target)
10807
+ end
10808
+ end
10809
+
10810
+ #
10811
+ class InstanceGroupManagerStatusVersionTarget
10812
+ include Google::Apis::Core::Hashable
10813
+
10814
+ # [Output Only] A bit indicating whether version target has been reached in this
10815
+ # managed instance group, i.e. all instances are in their target version.
10816
+ # Instances' target version are specified by version field on Instance Group
10817
+ # Manager.
10818
+ # Corresponds to the JSON property `isReached`
10819
+ # @return [Boolean]
10820
+ attr_accessor :is_reached
10821
+ alias_method :is_reached?, :is_reached
10822
+
10823
+ def initialize(**args)
10824
+ update!(**args)
10825
+ end
10826
+
10827
+ # Update properties of this object
10828
+ def update!(**args)
10829
+ @is_reached = args[:is_reached] if args.key?(:is_reached)
10594
10830
  end
10595
10831
  end
10596
10832
 
@@ -10598,6 +10834,15 @@ module Google
10598
10834
  class InstanceGroupManagerUpdatePolicy
10599
10835
  include Google::Apis::Core::Hashable
10600
10836
 
10837
+ # The instance redistribution policy for regional managed instance groups.
10838
+ # Valid values are:
10839
+ # - PROACTIVE (default): The group attempts to maintain an even distribution of
10840
+ # VM instances across zones in the region.
10841
+ # - NONE: For non-autoscaled groups, proactive redistribution is disabled.
10842
+ # Corresponds to the JSON property `instanceRedistributionType`
10843
+ # @return [String]
10844
+ attr_accessor :instance_redistribution_type
10845
+
10601
10846
  # Encapsulates numeric value that can be either absolute or relative.
10602
10847
  # Corresponds to the JSON property `maxSurge`
10603
10848
  # @return [Google::Apis::ComputeV1::FixedOrPercent]
@@ -10633,6 +10878,7 @@ module Google
10633
10878
 
10634
10879
  # Update properties of this object
10635
10880
  def update!(**args)
10881
+ @instance_redistribution_type = args[:instance_redistribution_type] if args.key?(:instance_redistribution_type)
10636
10882
  @max_surge = args[:max_surge] if args.key?(:max_surge)
10637
10883
  @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
10638
10884
  @minimal_action = args[:minimal_action] if args.key?(:minimal_action)
@@ -10694,6 +10940,25 @@ module Google
10694
10940
  end
10695
10941
  end
10696
10942
 
10943
+ # InstanceGroupManagers.createInstances
10944
+ class InstanceGroupManagersCreateInstancesRequest
10945
+ include Google::Apis::Core::Hashable
10946
+
10947
+ # [Required] List of specifications of per-instance configs.
10948
+ # Corresponds to the JSON property `instances`
10949
+ # @return [Array<Google::Apis::ComputeV1::PerInstanceConfig>]
10950
+ attr_accessor :instances
10951
+
10952
+ def initialize(**args)
10953
+ update!(**args)
10954
+ end
10955
+
10956
+ # Update properties of this object
10957
+ def update!(**args)
10958
+ @instances = args[:instances] if args.key?(:instances)
10959
+ end
10960
+ end
10961
+
10697
10962
  #
10698
10963
  class InstanceGroupManagersDeleteInstancesRequest
10699
10964
  include Google::Apis::Core::Hashable
@@ -14805,12 +15070,12 @@ module Google
14805
15070
  # Opaque filter criteria used by loadbalancers to restrict routing configuration
14806
15071
  # to a limited set of loadbalancing proxies. Proxies and sidecars involved in
14807
15072
  # loadbalancing would typically present metadata to the loadbalancers which need
14808
- # to match criteria specified here. If a match takes place, the relevant routing
15073
+ # to match criteria specified here. If a match takes place, the relevant
14809
15074
  # configuration is made available to those proxies.
14810
15075
  # For each metadataFilter in this list, if its filterMatchCriteria is set to
14811
15076
  # MATCH_ANY, at least one of the filterLabels must match the corresponding label
14812
15077
  # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
14813
- # all of its filterLabels must match with corresponding labels in the provided
15078
+ # all of its filterLabels must match with corresponding labels provided in the
14814
15079
  # metadata.
14815
15080
  # An example for using metadataFilters would be: if loadbalancing involves
14816
15081
  # Envoys, they will only receive routing configuration when values in
@@ -14958,7 +15223,7 @@ module Google
14958
15223
  # Name of the resource. Provided by the client when the resource is created. The
14959
15224
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
14960
15225
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
14961
- # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
15226
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
14962
15227
  # following characters (except for the last character) must be a dash, lowercase
14963
15228
  # letter, or digit. The last character must be a lowercase letter or digit.
14964
15229
  # Corresponds to the JSON property `name`
@@ -15009,7 +15274,7 @@ module Google
15009
15274
  end
15010
15275
  end
15011
15276
 
15012
- # The network endpoint.
15277
+ # The network endpoint. Next ID: 7
15013
15278
  class NetworkEndpoint
15014
15279
  include Google::Apis::Core::Hashable
15015
15280
 
@@ -15052,7 +15317,7 @@ module Google
15052
15317
  # Represents a collection of network endpoints.
15053
15318
  # For more information read Setting up network endpoint groups in load balancing.
15054
15319
  # (== resource_for v1.networkEndpointGroups ==) (== resource_for beta.
15055
- # networkEndpointGroups ==)
15320
+ # networkEndpointGroups ==) Next ID: 21
15056
15321
  class NetworkEndpointGroup
15057
15322
  include Google::Apis::Core::Hashable
15058
15323
 
@@ -15659,7 +15924,7 @@ module Google
15659
15924
  # @return [Array<Google::Apis::ComputeV1::HealthStatusForNetworkEndpoint>]
15660
15925
  attr_accessor :healths
15661
15926
 
15662
- # The network endpoint.
15927
+ # The network endpoint. Next ID: 7
15663
15928
  # Corresponds to the JSON property `networkEndpoint`
15664
15929
  # @return [Google::Apis::ComputeV1::NetworkEndpoint]
15665
15930
  attr_accessor :network_endpoint
@@ -16082,7 +16347,7 @@ module Google
16082
16347
  # instances physically separated from instances in other projects, or to group
16083
16348
  # your instances together on the same host hardware. For more information, read
16084
16349
  # Sole-tenant nodes. (== resource_for beta.nodeGroups ==) (== resource_for v1.
16085
- # nodeGroups ==) NextID: 16
16350
+ # nodeGroups ==)
16086
16351
  class NodeGroup
16087
16352
  include Google::Apis::Core::Hashable
16088
16353
 
@@ -16714,7 +16979,7 @@ module Google
16714
16979
  # Represent a sole-tenant Node Template resource.
16715
16980
  # You can use a template to define properties for nodes in a node group. For
16716
16981
  # more information, read Creating node groups and instances. (== resource_for
16717
- # beta.nodeTemplates ==) (== resource_for v1.nodeTemplates ==) (== NextID: 16 ==)
16982
+ # beta.nodeTemplates ==) (== resource_for v1.nodeTemplates ==)
16718
16983
  class NodeTemplate
16719
16984
  include Google::Apis::Core::Hashable
16720
16985
 
@@ -18413,10 +18678,9 @@ module Google
18413
18678
  # @return [Array<Google::Apis::ComputeV1::PathRule>]
18414
18679
  attr_accessor :path_rules
18415
18680
 
18416
- # The list of ordered HTTP route rules. Use this list instead of pathRules when
18417
- # advanced route matching and routing actions are desired. The order of
18418
- # specifying routeRules matters: the first rule that matches will cause its
18419
- # specified routing action to take effect.
18681
+ # The list of HTTP route rules. Use this list instead of pathRules when advanced
18682
+ # route matching and routing actions are desired. routeRules are evaluated in
18683
+ # order of priority, from the lowest to highest number.
18420
18684
  # Within a given pathMatcher, only one of pathRules or routeRules must be set.
18421
18685
  # routeRules are not supported in UrlMaps intended for External Load balancers.
18422
18686
  # Corresponds to the JSON property `routeRules`
@@ -18493,32 +18757,68 @@ module Google
18493
18757
  end
18494
18758
  end
18495
18759
 
18496
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
18497
- # access control policies for Cloud Platform resources.
18760
+ #
18761
+ class PerInstanceConfig
18762
+ include Google::Apis::Core::Hashable
18763
+
18764
+ # Fingerprint of this per-instance config. This field may be used in optimistic
18765
+ # locking. It will be ignored when inserting a per-instance config. An up-to-
18766
+ # date fingerprint must be provided in order to update an existing per-instance
18767
+ # config or the field needs to be unset.
18768
+ # Corresponds to the JSON property `fingerprint`
18769
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
18770
+ # @return [String]
18771
+ attr_accessor :fingerprint
18772
+
18773
+ # The name of the per-instance config and the corresponding instance. Serves as
18774
+ # a merge key during UpdatePerInstanceConfigs operation, i.e. if per-instance
18775
+ # config with the same name exists then it will be updated, otherwise a new one
18776
+ # will be created for the VM instance with the same name. An attempt to create a
18777
+ # per-instance config for a VM instance that either doesn't exist or is not part
18778
+ # of the group will result in a failure.
18779
+ # Corresponds to the JSON property `name`
18780
+ # @return [String]
18781
+ attr_accessor :name
18782
+
18783
+ def initialize(**args)
18784
+ update!(**args)
18785
+ end
18786
+
18787
+ # Update properties of this object
18788
+ def update!(**args)
18789
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
18790
+ @name = args[:name] if args.key?(:name)
18791
+ end
18792
+ end
18793
+
18794
+ # An Identity and Access Management (IAM) policy, which specifies access
18795
+ # controls for Google Cloud resources.
18498
18796
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
18499
18797
  # members` to a single `role`. Members can be user accounts, service accounts,
18500
18798
  # Google groups, and domains (such as G Suite). A `role` is a named list of
18501
- # permissions (defined by IAM or configured by users). A `binding` can
18502
- # optionally specify a `condition`, which is a logic expression that further
18503
- # constrains the role binding based on attributes about the request and/or
18504
- # target resource.
18505
- # **JSON Example**
18799
+ # permissions; each `role` can be an IAM predefined role or a user-created
18800
+ # custom role.
18801
+ # Optionally, a `binding` can specify a `condition`, which is a logical
18802
+ # expression that allows access to a resource only if the expression evaluates
18803
+ # to `true`. A condition can add constraints based on attributes of the request,
18804
+ # the resource, or both.
18805
+ # **JSON example:**
18506
18806
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
18507
18807
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
18508
18808
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
18509
18809
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
18510
18810
  # "condition": ` "title": "expirable access", "description": "Does not grant
18511
18811
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
18512
- # 00:00.000Z')", ` ` ] `
18513
- # **YAML Example**
18812
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
18813
+ # **YAML example:**
18514
18814
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
18515
18815
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
18516
18816
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
18517
18817
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
18518
18818
  # access description: Does not grant access after Sep 2020 expression: request.
18519
- # time < timestamp('2020-10-01T00:00:00.000Z')
18520
- # For a description of IAM and its features, see the [IAM developer's guide](
18521
- # https://cloud.google.com/iam/docs).
18819
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
18820
+ # For a description of IAM and its features, see the [IAM documentation](https://
18821
+ # cloud.google.com/iam/docs/).
18522
18822
  class Policy
18523
18823
  include Google::Apis::Core::Hashable
18524
18824
 
@@ -18527,9 +18827,9 @@ module Google
18527
18827
  # @return [Array<Google::Apis::ComputeV1::AuditConfig>]
18528
18828
  attr_accessor :audit_configs
18529
18829
 
18530
- # Associates a list of `members` to a `role`. Optionally may specify a `
18531
- # condition` that determines when binding is in effect. `bindings` with no
18532
- # members will result in an error.
18830
+ # Associates a list of `members` to a `role`. Optionally, may specify a `
18831
+ # condition` that determines how and when the `bindings` are applied. Each of
18832
+ # the `bindings` must contain at least one member.
18533
18833
  # Corresponds to the JSON property `bindings`
18534
18834
  # @return [Array<Google::Apis::ComputeV1::Binding>]
18535
18835
  attr_accessor :bindings
@@ -18541,10 +18841,10 @@ module Google
18541
18841
  # returned in the response to `getIamPolicy`, and systems are expected to put
18542
18842
  # that etag in the request to `setIamPolicy` to ensure that their change will be
18543
18843
  # applied to the same version of the policy.
18544
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
18545
- # policy is overwritten. Due to blind-set semantics of an etag-less policy, '
18546
- # setIamPolicy' will not fail even if either of incoming or stored policy does
18547
- # not meet the version requirements.
18844
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
18845
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
18846
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
18847
+ # conditions in the version `3` policy are lost.
18548
18848
  # Corresponds to the JSON property `etag`
18549
18849
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
18550
18850
  # @return [String]
@@ -18568,15 +18868,20 @@ module Google
18568
18868
  attr_accessor :rules
18569
18869
 
18570
18870
  # Specifies the format of the policy.
18571
- # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
18871
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are
18572
18872
  # rejected.
18573
- # Operations affecting conditional bindings must specify version 3. This can be
18574
- # either setting a conditional policy, modifying a conditional binding, or
18575
- # removing a conditional binding from the stored conditional policy. Operations
18576
- # on non-conditional policies may specify any valid value or leave the field
18577
- # unset.
18578
- # If no etag is provided in the call to `setIamPolicy`, any version compliance
18579
- # checks on the incoming and/or stored policy is skipped.
18873
+ # Any operation that affects conditional role bindings must specify version `3`.
18874
+ # This requirement applies to the following operations:
18875
+ # * Getting a policy that includes a conditional role binding * Adding a
18876
+ # conditional role binding to a policy * Changing a conditional role binding in
18877
+ # a policy * Removing any role binding, with or without a condition, from a
18878
+ # policy that includes conditions
18879
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
18880
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
18881
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
18882
+ # conditions in the version `3` policy are lost.
18883
+ # If a policy does not include any conditions, operations on that policy may
18884
+ # specify any valid version or leave the field unset.
18580
18885
  # Corresponds to the JSON property `version`
18581
18886
  # @return [Fixnum]
18582
18887
  attr_accessor :version
@@ -19515,6 +19820,25 @@ module Google
19515
19820
  end
19516
19821
  end
19517
19822
 
19823
+ # RegionInstanceGroupManagers.createInstances
19824
+ class RegionInstanceGroupManagersCreateInstancesRequest
19825
+ include Google::Apis::Core::Hashable
19826
+
19827
+ # [Required] List of specifications of per-instance configs.
19828
+ # Corresponds to the JSON property `instances`
19829
+ # @return [Array<Google::Apis::ComputeV1::PerInstanceConfig>]
19830
+ attr_accessor :instances
19831
+
19832
+ def initialize(**args)
19833
+ update!(**args)
19834
+ end
19835
+
19836
+ # Update properties of this object
19837
+ def update!(**args)
19838
+ @instances = args[:instances] if args.key?(:instances)
19839
+ end
19840
+ end
19841
+
19518
19842
  #
19519
19843
  class RegionInstanceGroupManagersDeleteInstancesRequest
19520
19844
  include Google::Apis::Core::Hashable
@@ -19964,32 +20288,34 @@ module Google
19964
20288
  # @return [String]
19965
20289
  attr_accessor :etag
19966
20290
 
19967
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
19968
- # access control policies for Cloud Platform resources.
20291
+ # An Identity and Access Management (IAM) policy, which specifies access
20292
+ # controls for Google Cloud resources.
19969
20293
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
19970
20294
  # members` to a single `role`. Members can be user accounts, service accounts,
19971
20295
  # Google groups, and domains (such as G Suite). A `role` is a named list of
19972
- # permissions (defined by IAM or configured by users). A `binding` can
19973
- # optionally specify a `condition`, which is a logic expression that further
19974
- # constrains the role binding based on attributes about the request and/or
19975
- # target resource.
19976
- # **JSON Example**
20296
+ # permissions; each `role` can be an IAM predefined role or a user-created
20297
+ # custom role.
20298
+ # Optionally, a `binding` can specify a `condition`, which is a logical
20299
+ # expression that allows access to a resource only if the expression evaluates
20300
+ # to `true`. A condition can add constraints based on attributes of the request,
20301
+ # the resource, or both.
20302
+ # **JSON example:**
19977
20303
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
19978
20304
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
19979
20305
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
19980
20306
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
19981
20307
  # "condition": ` "title": "expirable access", "description": "Does not grant
19982
20308
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
19983
- # 00:00.000Z')", ` ` ] `
19984
- # **YAML Example**
20309
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
20310
+ # **YAML example:**
19985
20311
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
19986
20312
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
19987
20313
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
19988
20314
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
19989
20315
  # access description: Does not grant access after Sep 2020 expression: request.
19990
- # time < timestamp('2020-10-01T00:00:00.000Z')
19991
- # For a description of IAM and its features, see the [IAM developer's guide](
19992
- # https://cloud.google.com/iam/docs).
20316
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
20317
+ # For a description of IAM and its features, see the [IAM documentation](https://
20318
+ # cloud.google.com/iam/docs/).
19993
20319
  # Corresponds to the JSON property `policy`
19994
20320
  # @return [Google::Apis::ComputeV1::Policy]
19995
20321
  attr_accessor :policy
@@ -23746,7 +24072,9 @@ module Google
23746
24072
  # This SSL certificate resource also contains a private key. You can use SSL
23747
24073
  # keys and certificates to secure connections to a load balancer. For more
23748
24074
  # information, read Creating and Using SSL Certificates. (== resource_for beta.
23749
- # sslCertificates ==) (== resource_for v1.sslCertificates ==)
24075
+ # sslCertificates ==) (== resource_for v1.sslCertificates ==) (== resource_for
24076
+ # beta.regionSslCertificates ==) (== resource_for v1.regionSslCertificates ==)
24077
+ # Next ID: 17
23750
24078
  class SslCertificate
23751
24079
  include Google::Apis::Core::Hashable
23752
24080
 
@@ -25294,11 +25622,12 @@ module Google
25294
25622
  end
25295
25623
 
25296
25624
  # Represents a Target HTTP Proxy resource.
25297
- # A target HTTP proxy is a component of certain types of load balancers. Global
25298
- # forwarding rules reference a target HTTP proxy, and the target proxy then
25299
- # references a URL map. For more information, read Using Target Proxies. (==
25300
- # resource_for beta.targetHttpProxies ==) (== resource_for v1.targetHttpProxies =
25301
- # =)
25625
+ # A target HTTP proxy is a component of GCP HTTP load balancers. Forwarding
25626
+ # rules reference a target HTTP proxy, and the target proxy then references a
25627
+ # URL map. For more information, read Using Target Proxies and Forwarding rule
25628
+ # concepts. (== resource_for beta.targetHttpProxies ==) (== resource_for v1.
25629
+ # targetHttpProxies ==) (== resource_for beta.regionTargetHttpProxies ==) (==
25630
+ # resource_for v1.regionTargetHttpProxies ==)
25302
25631
  class TargetHttpProxy
25303
25632
  include Google::Apis::Core::Hashable
25304
25633
 
@@ -25666,11 +25995,12 @@ module Google
25666
25995
  end
25667
25996
 
25668
25997
  # Represents a Target HTTPS Proxy resource.
25669
- # A target HTTPS proxy is a component of certain types of load balancers. Global
25670
- # forwarding rules reference a target HTTPS proxy, and the target proxy then
25671
- # references a URL map. For more information, read Using Target Proxies. (==
25672
- # resource_for beta.targetHttpsProxies ==) (== resource_for v1.
25673
- # targetHttpsProxies ==)
25998
+ # A target HTTPS proxy is a component of GCP HTTPS load balancers. Forwarding
25999
+ # rules reference a target HTTPS proxy, and the target proxy then references a
26000
+ # URL map. For more information, read Using Target Proxies and Forwarding rule
26001
+ # concepts. (== resource_for beta.targetHttpsProxies ==) (== resource_for v1.
26002
+ # targetHttpsProxies ==) (== resource_for beta.regionTargetHttpsProxies ==) (==
26003
+ # resource_for v1.regionTargetHttpsProxies ==)
25674
26004
  class TargetHttpsProxy
25675
26005
  include Google::Apis::Core::Hashable
25676
26006
 
@@ -29063,7 +29393,7 @@ module Google
29063
29393
  end
29064
29394
  end
29065
29395
 
29066
- # Represents a VPN gateway resource.
29396
+ # Represents a VPN gateway resource. Next ID: 13
29067
29397
  class VpnGateway
29068
29398
  include Google::Apis::Core::Hashable
29069
29399
 
@@ -30602,32 +30932,34 @@ module Google
30602
30932
  # @return [String]
30603
30933
  attr_accessor :etag
30604
30934
 
30605
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
30606
- # access control policies for Cloud Platform resources.
30935
+ # An Identity and Access Management (IAM) policy, which specifies access
30936
+ # controls for Google Cloud resources.
30607
30937
  # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
30608
30938
  # members` to a single `role`. Members can be user accounts, service accounts,
30609
30939
  # Google groups, and domains (such as G Suite). A `role` is a named list of
30610
- # permissions (defined by IAM or configured by users). A `binding` can
30611
- # optionally specify a `condition`, which is a logic expression that further
30612
- # constrains the role binding based on attributes about the request and/or
30613
- # target resource.
30614
- # **JSON Example**
30940
+ # permissions; each `role` can be an IAM predefined role or a user-created
30941
+ # custom role.
30942
+ # Optionally, a `binding` can specify a `condition`, which is a logical
30943
+ # expression that allows access to a resource only if the expression evaluates
30944
+ # to `true`. A condition can add constraints based on attributes of the request,
30945
+ # the resource, or both.
30946
+ # **JSON example:**
30615
30947
  # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
30616
30948
  # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
30617
30949
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
30618
30950
  # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
30619
30951
  # "condition": ` "title": "expirable access", "description": "Does not grant
30620
30952
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
30621
- # 00:00.000Z')", ` ` ] `
30622
- # **YAML Example**
30953
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
30954
+ # **YAML example:**
30623
30955
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
30624
30956
  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
30625
30957
  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
30626
30958
  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
30627
30959
  # access description: Does not grant access after Sep 2020 expression: request.
30628
- # time < timestamp('2020-10-01T00:00:00.000Z')
30629
- # For a description of IAM and its features, see the [IAM developer's guide](
30630
- # https://cloud.google.com/iam/docs).
30960
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
30961
+ # For a description of IAM and its features, see the [IAM documentation](https://
30962
+ # cloud.google.com/iam/docs/).
30631
30963
  # Corresponds to the JSON property `policy`
30632
30964
  # @return [Google::Apis::ComputeV1::Policy]
30633
30965
  attr_accessor :policy