google-api-client 0.51.0 → 0.52.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release-please.yml +23 -45
  3. data/CHANGELOG.md +100 -0
  4. data/README.md +2 -2
  5. data/generated/google/apis/admin_datatransfer_v1.rb +2 -2
  6. data/generated/google/apis/admin_datatransfer_v1/classes.rb +6 -16
  7. data/generated/google/apis/admin_datatransfer_v1/service.rb +3 -3
  8. data/generated/google/apis/admin_directory_v1.rb +2 -2
  9. data/generated/google/apis/admin_directory_v1/classes.rb +453 -321
  10. data/generated/google/apis/admin_directory_v1/representations.rb +15 -15
  11. data/generated/google/apis/admin_directory_v1/service.rb +323 -183
  12. data/generated/google/apis/admin_reports_v1.rb +2 -2
  13. data/generated/google/apis/admin_reports_v1/classes.rb +48 -43
  14. data/generated/google/apis/admin_reports_v1/service.rb +198 -179
  15. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  16. data/generated/google/apis/analytics_v3/service.rb +1 -1
  17. data/generated/google/apis/analyticsadmin_v1alpha.rb +1 -1
  18. data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +2 -2
  19. data/generated/google/apis/analyticsadmin_v1alpha/service.rb +5 -12
  20. data/generated/google/apis/analyticsdata_v1alpha.rb +1 -1
  21. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +11 -11
  22. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  23. data/generated/google/apis/apigateway_v1beta.rb +1 -1
  24. data/generated/google/apis/apigateway_v1beta/classes.rb +3 -9
  25. data/generated/google/apis/apigateway_v1beta/representations.rb +0 -1
  26. data/generated/google/apis/apigee_v1.rb +1 -1
  27. data/generated/google/apis/apigee_v1/classes.rb +71 -0
  28. data/generated/google/apis/apigee_v1/representations.rb +42 -0
  29. data/generated/google/apis/apigee_v1/service.rb +206 -0
  30. data/generated/google/apis/appengine_v1.rb +1 -1
  31. data/generated/google/apis/appengine_v1/classes.rb +7 -0
  32. data/generated/google/apis/appengine_v1/representations.rb +1 -0
  33. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  34. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +2 -2
  35. data/generated/google/apis/artifactregistry_v1beta1/service.rb +4 -1
  36. data/generated/google/apis/artifactregistry_v1beta2.rb +1 -1
  37. data/generated/google/apis/artifactregistry_v1beta2/classes.rb +2 -2
  38. data/generated/google/apis/artifactregistry_v1beta2/service.rb +4 -1
  39. data/generated/google/apis/cloudasset_v1.rb +1 -1
  40. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  41. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  42. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  43. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  44. data/generated/google/apis/cloudfunctions_v1/classes.rb +6 -0
  45. data/generated/google/apis/cloudfunctions_v1/representations.rb +1 -0
  46. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  47. data/generated/google/apis/cloudidentity_v1/classes.rb +240 -0
  48. data/generated/google/apis/cloudidentity_v1/representations.rb +125 -0
  49. data/generated/google/apis/cloudidentity_v1/service.rb +202 -2
  50. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  51. data/generated/google/apis/cloudidentity_v1beta1/service.rb +8 -2
  52. data/generated/google/apis/cloudkms_v1.rb +1 -1
  53. data/generated/google/apis/cloudkms_v1/classes.rb +0 -6
  54. data/generated/google/apis/cloudkms_v1/representations.rb +0 -1
  55. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  56. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +19 -0
  57. data/generated/google/apis/cloudscheduler_v1beta1/representations.rb +2 -0
  58. data/generated/google/apis/cloudscheduler_v1beta1/service.rb +12 -2
  59. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  60. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +59 -0
  61. data/generated/google/apis/cloudtasks_v2beta2/representations.rb +19 -0
  62. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  63. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +102 -0
  64. data/generated/google/apis/cloudtasks_v2beta3/representations.rb +35 -0
  65. data/generated/google/apis/cloudtasks_v2beta3/service.rb +16 -2
  66. data/generated/google/apis/composer_v1beta1.rb +1 -1
  67. data/generated/google/apis/composer_v1beta1/classes.rb +64 -0
  68. data/generated/google/apis/composer_v1beta1/representations.rb +18 -0
  69. data/generated/google/apis/compute_alpha.rb +1 -1
  70. data/generated/google/apis/compute_alpha/classes.rb +1071 -341
  71. data/generated/google/apis/compute_alpha/representations.rb +248 -19
  72. data/generated/google/apis/compute_alpha/service.rb +291 -15
  73. data/generated/google/apis/compute_beta.rb +1 -1
  74. data/generated/google/apis/compute_beta/classes.rb +926 -283
  75. data/generated/google/apis/compute_beta/representations.rb +221 -18
  76. data/generated/google/apis/compute_beta/service.rb +24 -15
  77. data/generated/google/apis/compute_v1.rb +1 -1
  78. data/generated/google/apis/compute_v1/classes.rb +419 -158
  79. data/generated/google/apis/compute_v1/representations.rb +55 -0
  80. data/generated/google/apis/compute_v1/service.rb +9 -7
  81. data/generated/google/apis/container_v1.rb +1 -1
  82. data/generated/google/apis/container_v1/classes.rb +48 -9
  83. data/generated/google/apis/container_v1/representations.rb +17 -0
  84. data/generated/google/apis/container_v1/service.rb +4 -2
  85. data/generated/google/apis/container_v1beta1.rb +1 -1
  86. data/generated/google/apis/container_v1beta1/classes.rb +24 -13
  87. data/generated/google/apis/container_v1beta1/representations.rb +2 -0
  88. data/generated/google/apis/container_v1beta1/service.rb +6 -2
  89. data/generated/google/apis/content_v2_1.rb +1 -1
  90. data/generated/google/apis/content_v2_1/classes.rb +16 -7
  91. data/generated/google/apis/content_v2_1/representations.rb +1 -0
  92. data/generated/google/apis/datamigration_v1beta1.rb +1 -1
  93. data/generated/google/apis/datamigration_v1beta1/classes.rb +0 -6
  94. data/generated/google/apis/datamigration_v1beta1/representations.rb +0 -1
  95. data/generated/google/apis/deploymentmanager_alpha.rb +6 -5
  96. data/generated/google/apis/deploymentmanager_alpha/classes.rb +276 -644
  97. data/generated/google/apis/deploymentmanager_alpha/representations.rb +10 -143
  98. data/generated/google/apis/deploymentmanager_alpha/service.rb +247 -398
  99. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  100. data/generated/google/apis/deploymentmanager_v2/service.rb +5 -25
  101. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  102. data/generated/google/apis/deploymentmanager_v2beta/service.rb +8 -40
  103. data/generated/google/apis/dialogflow_v2.rb +1 -1
  104. data/generated/google/apis/dialogflow_v2/classes.rb +692 -0
  105. data/generated/google/apis/dialogflow_v2/representations.rb +326 -0
  106. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  107. data/generated/google/apis/dialogflow_v2beta1/classes.rb +692 -0
  108. data/generated/google/apis/dialogflow_v2beta1/representations.rb +326 -0
  109. data/generated/google/apis/{bigqueryreservation_v1alpha2.rb → dialogflow_v3.rb} +13 -12
  110. data/generated/google/apis/dialogflow_v3/classes.rb +8943 -0
  111. data/generated/google/apis/dialogflow_v3/representations.rb +3773 -0
  112. data/generated/google/apis/dialogflow_v3/service.rb +3006 -0
  113. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  114. data/generated/google/apis/dialogflow_v3beta1/classes.rb +784 -0
  115. data/generated/google/apis/dialogflow_v3beta1/representations.rb +360 -0
  116. data/generated/google/apis/dialogflow_v3beta1/service.rb +173 -0
  117. data/generated/google/apis/dlp_v2.rb +1 -1
  118. data/generated/google/apis/dlp_v2/service.rb +294 -1
  119. data/generated/google/apis/dns_v1.rb +1 -1
  120. data/generated/google/apis/dns_v1/classes.rb +65 -0
  121. data/generated/google/apis/dns_v1/representations.rb +32 -0
  122. data/generated/google/apis/documentai_v1beta2.rb +1 -1
  123. data/generated/google/apis/documentai_v1beta2/classes.rb +220 -102
  124. data/generated/google/apis/documentai_v1beta2/representations.rb +105 -9
  125. data/generated/google/apis/documentai_v1beta3.rb +1 -1
  126. data/generated/google/apis/documentai_v1beta3/classes.rb +241 -117
  127. data/generated/google/apis/documentai_v1beta3/representations.rb +105 -9
  128. data/generated/google/apis/documentai_v1beta3/service.rb +81 -2
  129. data/generated/google/apis/eventarc_v1beta1.rb +1 -1
  130. data/generated/google/apis/eventarc_v1beta1/classes.rb +8 -9
  131. data/generated/google/apis/eventarc_v1beta1/service.rb +25 -5
  132. data/generated/google/apis/file_v1.rb +1 -1
  133. data/generated/google/apis/file_v1/classes.rb +61 -0
  134. data/generated/google/apis/file_v1/representations.rb +19 -0
  135. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  136. data/generated/google/apis/genomics_v2alpha1/classes.rb +11 -7
  137. data/generated/google/apis/healthcare_v1.rb +1 -1
  138. data/generated/google/apis/healthcare_v1/classes.rb +0 -6
  139. data/generated/google/apis/healthcare_v1/representations.rb +0 -1
  140. data/generated/google/apis/healthcare_v1/service.rb +13 -12
  141. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  142. data/generated/google/apis/healthcare_v1beta1/classes.rb +45 -19
  143. data/generated/google/apis/healthcare_v1beta1/representations.rb +3 -1
  144. data/generated/google/apis/healthcare_v1beta1/service.rb +37 -37
  145. data/generated/google/apis/iap_v1.rb +1 -1
  146. data/generated/google/apis/iap_v1/classes.rb +0 -6
  147. data/generated/google/apis/iap_v1/representations.rb +0 -1
  148. data/generated/google/apis/iap_v1beta1.rb +1 -1
  149. data/generated/google/apis/iap_v1beta1/classes.rb +0 -6
  150. data/generated/google/apis/iap_v1beta1/representations.rb +0 -1
  151. data/generated/google/apis/metastore_v1beta.rb +35 -0
  152. data/generated/google/apis/metastore_v1beta/classes.rb +1151 -0
  153. data/generated/google/apis/metastore_v1beta/representations.rb +479 -0
  154. data/generated/google/apis/metastore_v1beta/service.rb +800 -0
  155. data/generated/google/apis/ml_v1.rb +1 -1
  156. data/generated/google/apis/ml_v1/classes.rb +51 -18
  157. data/generated/google/apis/ml_v1/representations.rb +16 -0
  158. data/generated/google/apis/monitoring_v3.rb +1 -1
  159. data/generated/google/apis/monitoring_v3/classes.rb +8 -4
  160. data/generated/google/apis/privateca_v1beta1.rb +1 -1
  161. data/generated/google/apis/privateca_v1beta1/classes.rb +2 -1
  162. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  163. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +37 -0
  164. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +18 -0
  165. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  166. data/generated/google/apis/recommender_v1beta1/service.rb +317 -0
  167. data/generated/google/apis/redis_v1.rb +1 -1
  168. data/generated/google/apis/redis_v1/classes.rb +2 -2
  169. data/generated/google/apis/redis_v1beta1.rb +1 -1
  170. data/generated/google/apis/redis_v1beta1/classes.rb +2 -2
  171. data/generated/google/apis/safebrowsing_v4.rb +1 -1
  172. data/generated/google/apis/safebrowsing_v4/classes.rb +277 -277
  173. data/generated/google/apis/safebrowsing_v4/representations.rb +128 -128
  174. data/generated/google/apis/safebrowsing_v4/service.rb +44 -44
  175. data/generated/google/apis/searchconsole_v1.rb +1 -1
  176. data/generated/google/apis/searchconsole_v1/classes.rb +7 -0
  177. data/generated/google/apis/searchconsole_v1/representations.rb +1 -0
  178. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  179. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +11 -10
  180. data/generated/google/apis/servicecontrol_v1.rb +3 -3
  181. data/generated/google/apis/servicecontrol_v1/service.rb +2 -2
  182. data/generated/google/apis/servicecontrol_v2.rb +3 -3
  183. data/generated/google/apis/servicecontrol_v2/service.rb +2 -2
  184. data/generated/google/apis/servicedirectory_v1.rb +35 -0
  185. data/generated/google/apis/servicedirectory_v1/classes.rb +721 -0
  186. data/generated/google/apis/servicedirectory_v1/representations.rb +304 -0
  187. data/generated/google/apis/servicedirectory_v1/service.rb +957 -0
  188. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  189. data/generated/google/apis/servicenetworking_v1/classes.rb +1 -1
  190. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  191. data/generated/google/apis/servicenetworking_v1beta/classes.rb +1 -1
  192. data/generated/google/apis/serviceusage_v1.rb +1 -1
  193. data/generated/google/apis/serviceusage_v1/classes.rb +11 -10
  194. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  195. data/generated/google/apis/serviceusage_v1beta1/classes.rb +11 -10
  196. data/generated/google/apis/slides_v1.rb +1 -1
  197. data/generated/google/apis/slides_v1/classes.rb +9 -3
  198. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  199. data/generated/google/apis/speech_v1p1beta1/classes.rb +0 -22
  200. data/generated/google/apis/speech_v1p1beta1/representations.rb +0 -2
  201. data/generated/google/apis/testing_v1.rb +1 -1
  202. data/generated/google/apis/testing_v1/classes.rb +1 -1
  203. data/generated/google/apis/trafficdirector_v2.rb +2 -2
  204. data/generated/google/apis/trafficdirector_v2/service.rb +1 -1
  205. data/generated/google/apis/transcoder_v1beta1.rb +1 -1
  206. data/generated/google/apis/transcoder_v1beta1/classes.rb +12 -2
  207. data/generated/google/apis/transcoder_v1beta1/representations.rb +1 -0
  208. data/generated/google/apis/translate_v3.rb +1 -1
  209. data/generated/google/apis/translate_v3/classes.rb +1 -1
  210. data/generated/google/apis/translate_v3beta1.rb +1 -1
  211. data/generated/google/apis/translate_v3beta1/classes.rb +1 -1
  212. data/generated/google/apis/workflows_v1beta.rb +1 -1
  213. data/generated/google/apis/workflows_v1beta/classes.rb +4 -4
  214. data/lib/google/apis/version.rb +1 -1
  215. metadata +15 -7
  216. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +0 -426
  217. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +0 -195
  218. data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +0 -622
@@ -8553,8 +8553,9 @@ module Google
8553
8553
  execute_or_queue_command(command, &block)
8554
8554
  end
8555
8555
 
8556
- # Modifies the autohealing policies. [Deprecated] This method is deprecated.
8557
- # Please use Patch instead.
8556
+ # Motifies the autohealing policy for the instances in this managed instance
8557
+ # group. [Deprecated] This method is deprecated. Use instanceGroupManagers.patch
8558
+ # instead.
8558
8559
  # @param [String] project
8559
8560
  # Project ID for this request.
8560
8561
  # @param [String] zone
@@ -8610,7 +8611,8 @@ module Google
8610
8611
 
8611
8612
  # Specifies the instance template to use when creating new instances in this
8612
8613
  # group. The templates for existing instances in the group do not change unless
8613
- # you recreate them.
8614
+ # you run recreateInstances, run applyUpdatesToInstances, or set the group's
8615
+ # updatePolicy.type to PROACTIVE.
8614
8616
  # @param [String] project
8615
8617
  # Project ID for this request.
8616
8618
  # @param [String] zone
@@ -10613,9 +10615,9 @@ module Google
10613
10615
  # - projects/project/global/instanceTemplates/instanceTemplate
10614
10616
  # - global/instanceTemplates/instanceTemplate
10615
10617
  # @param [String] source_machine_image
10616
- # Specifies instance machine to create the instance.
10618
+ # Specifies the machine image to use to create the instance.
10617
10619
  # This field is optional. It can be a full or partial URL. For example, the
10618
- # following are all valid URLs to an instance template:
10620
+ # following are all valid URLs to a machine image:
10619
10621
  # - https://www.googleapis.com/compute/v1/projects/project/global/global/
10620
10622
  # machineImages/machineImage
10621
10623
  # - projects/project/global/global/machineImages/machineImage
@@ -16774,7 +16776,7 @@ module Google
16774
16776
  # @param [Boolean] replace_existing_association
16775
16777
  # Indicates whether or not to replace it if an association of the attachment
16776
16778
  # already exists. This is false by default, in which case an error will be
16777
- # returned if an assocation already exists.
16779
+ # returned if an association already exists.
16778
16780
  # @param [String] request_id
16779
16781
  # An optional request ID to identify requests. Specify a unique request ID so
16780
16782
  # that if you must retry your request, the server will know to ignore the
@@ -21783,9 +21785,9 @@ module Google
21783
21785
  execute_or_queue_command(command, &block)
21784
21786
  end
21785
21787
 
21786
- # Insert or patch (for the ones that already exist) per-instance configs for the
21787
- # managed instance group. perInstanceConfig.instance serves as a key used to
21788
- # distinguish whether to perform insert or patch.
21788
+ # Inserts or patches per-instance configs for the managed instance group.
21789
+ # perInstanceConfig.name serves as a key used to distinguish whether to perform
21790
+ # insert or patch.
21789
21791
  # @param [String] project
21790
21792
  # Project ID for this request.
21791
21793
  # @param [String] region
@@ -21965,7 +21967,8 @@ module Google
21965
21967
  end
21966
21968
 
21967
21969
  # Modifies the autohealing policy for the instances in this managed instance
21968
- # group. [Deprecated] This method is deprecated. Please use Patch instead.
21970
+ # group. [Deprecated] This method is deprecated. Use regionInstanceGroupManagers.
21971
+ # patch instead.
21969
21972
  # @param [String] project
21970
21973
  # Project ID for this request.
21971
21974
  # @param [String] region
@@ -22229,9 +22232,9 @@ module Google
22229
22232
  execute_or_queue_command(command, &block)
22230
22233
  end
22231
22234
 
22232
- # Insert or update (for the ones that already exist) per-instance configs for
22233
- # the managed instance group. perInstanceConfig.instance serves as a key used to
22234
- # distinguish whether to perform insert or patch.
22235
+ # Inserts or updates per-instance configs for the managed instance group.
22236
+ # perInstanceConfig.name serves as a key used to distinguish whether to perform
22237
+ # insert or patch.
22235
22238
  # @param [String] project
22236
22239
  # Project ID for this request.
22237
22240
  # @param [String] region
@@ -24192,6 +24195,8 @@ module Google
24192
24195
 
24193
24196
  # Initiates a cache invalidation operation, invalidating the specified path,
24194
24197
  # scoped to the specified UrlMap.
24198
+ # For more information, see [Invalidating cached content](/cdn/docs/invalidating-
24199
+ # cached-content).
24195
24200
  # @param [String] project
24196
24201
  # Project ID for this request.
24197
24202
  # @param [String] region
@@ -26724,7 +26729,9 @@ module Google
26724
26729
  execute_or_queue_command(command, &block)
26725
26730
  end
26726
26731
 
26727
- # Patches the specified policy with the data included in the request.
26732
+ # Patches the specified policy with the data included in the request. This
26733
+ # cannot be used to be update the rules in the policy. Please use the per rule
26734
+ # methods like addRule, patchRule, and removeRule instead.
26728
26735
  # @param [String] project
26729
26736
  # Project ID for this request.
26730
26737
  # @param [String] security_policy
@@ -28499,7 +28506,7 @@ module Google
28499
28506
  end
28500
28507
 
28501
28508
  # Patches the specified subnetwork with the data included in the request. Only
28502
- # certain fields can up updated with a patch request as indicated in the field
28509
+ # certain fields can be updated with a patch request as indicated in the field
28503
28510
  # descriptions. You must specify the current fingerprint of the subnetwork
28504
28511
  # resource being patched.
28505
28512
  # @param [String] project
@@ -32344,6 +32351,8 @@ module Google
32344
32351
 
32345
32352
  # Initiates a cache invalidation operation, invalidating the specified path,
32346
32353
  # scoped to the specified UrlMap.
32354
+ # For more information, see [Invalidating cached content](/cdn/docs/invalidating-
32355
+ # cached-content).
32347
32356
  # @param [String] project
32348
32357
  # Project ID for this request.
32349
32358
  # @param [String] url_map
@@ -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 = '20201102'
28
+ REVISION = '20201122'
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'
@@ -1592,10 +1592,10 @@ module Google
1592
1592
  attr_accessor :name
1593
1593
 
1594
1594
  # [Output Only] Target recommended MIG size (number of instances) computed by
1595
- # autoscaler. Autoscaler calculates recommended MIG size even when autoscaling
1596
- # policy mode is different from ON. This field is empty when autoscaler is not
1597
- # connected to the existing managed instance group or autoscaler did not
1598
- # generate its prediction.
1595
+ # autoscaler. Autoscaler calculates the recommended MIG size even when the
1596
+ # autoscaling policy mode is different from ON. This field is empty when
1597
+ # autoscaler is not connected to an existing managed instance group or
1598
+ # autoscaler did not generate its prediction.
1599
1599
  # Corresponds to the JSON property `recommendedSize`
1600
1600
  # @return [Fixnum]
1601
1601
  attr_accessor :recommended_size
@@ -1630,7 +1630,8 @@ module Google
1630
1630
  # @return [Array<Google::Apis::ComputeV1::AutoscalerStatusDetails>]
1631
1631
  attr_accessor :status_details
1632
1632
 
1633
- # URL of the managed instance group that this autoscaler will scale.
1633
+ # URL of the managed instance group that this autoscaler will scale. This field
1634
+ # is required when creating an autoscaler.
1634
1635
  # Corresponds to the JSON property `target`
1635
1636
  # @return [String]
1636
1637
  attr_accessor :target
@@ -1937,7 +1938,7 @@ module Google
1937
1938
  # - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in
1938
1939
  # the group won't change automatically. The autoscaling configuration is
1939
1940
  # preserved.
1940
- # - MODE_ONLY_UP (WARNING): Autoscaling is in the "Autoscale only up" mode. The
1941
+ # - MODE_ONLY_UP (WARNING): Autoscaling is in the "Autoscale only out" mode. The
1941
1942
  # autoscaler can add instances but not remove any.
1942
1943
  # - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be
1943
1944
  # autoscaled because it has more than one backend service attached to it.
@@ -2063,11 +2064,10 @@ module Google
2063
2064
  class AutoscalingPolicy
2064
2065
  include Google::Apis::Core::Hashable
2065
2066
 
2066
- # The number of seconds that the autoscaler should wait before it starts
2067
- # collecting information from a new instance. This prevents the autoscaler from
2068
- # collecting information when the instance is initializing, during which the
2069
- # collected usage would not be reliable. The default time autoscaler waits is 60
2070
- # seconds.
2067
+ # The number of seconds that the autoscaler waits before it starts collecting
2068
+ # information from a new instance. This prevents the autoscaler from collecting
2069
+ # information when the instance is initializing, during which the collected
2070
+ # usage would not be reliable. The default time autoscaler waits is 60 seconds.
2071
2071
  # Virtual machine initialization times might vary because of numerous factors.
2072
2072
  # We recommend that you test how long an instance may take to initialize. To do
2073
2073
  # this, create an instance and time the startup process.
@@ -2090,15 +2090,15 @@ module Google
2090
2090
  # @return [Google::Apis::ComputeV1::AutoscalingPolicyLoadBalancingUtilization]
2091
2091
  attr_accessor :load_balancing_utilization
2092
2092
 
2093
- # The maximum number of instances that the autoscaler can scale up to. This is
2093
+ # The maximum number of instances that the autoscaler can scale out to. This is
2094
2094
  # required when creating or updating an autoscaler. The maximum number of
2095
- # replicas should not be lower than minimal number of replicas.
2095
+ # replicas must not be lower than minimal number of replicas.
2096
2096
  # Corresponds to the JSON property `maxNumReplicas`
2097
2097
  # @return [Fixnum]
2098
2098
  attr_accessor :max_num_replicas
2099
2099
 
2100
- # The minimum number of replicas that the autoscaler can scale down to. This
2101
- # cannot be less than 0. If not provided, autoscaler will choose a default value
2100
+ # The minimum number of replicas that the autoscaler can scale in to. This
2101
+ # cannot be less than 0. If not provided, autoscaler chooses a default value
2102
2102
  # depending on maximum number of instances allowed.
2103
2103
  # Corresponds to the JSON property `minNumReplicas`
2104
2104
  # @return [Fixnum]
@@ -2137,13 +2137,13 @@ module Google
2137
2137
  class AutoscalingPolicyCpuUtilization
2138
2138
  include Google::Apis::Core::Hashable
2139
2139
 
2140
- # The target CPU utilization that the autoscaler should maintain. Must be a
2141
- # float value in the range (0, 1]. If not specified, the default is 0.6.
2142
- # If the CPU level is below the target utilization, the autoscaler scales down
2143
- # the number of instances until it reaches the minimum number of instances you
2140
+ # The target CPU utilization that the autoscaler maintains. Must be a float
2141
+ # value in the range (0, 1]. If not specified, the default is 0.6.
2142
+ # If the CPU level is below the target utilization, the autoscaler scales in the
2143
+ # number of instances until it reaches the minimum number of instances you
2144
2144
  # specified or until the average CPU of your instances reaches the target
2145
2145
  # utilization.
2146
- # If the average CPU is above the target utilization, the autoscaler scales up
2146
+ # If the average CPU is above the target utilization, the autoscaler scales out
2147
2147
  # until it reaches the maximum number of instances you specified or until the
2148
2148
  # average utilization reaches the target utilization.
2149
2149
  # Corresponds to the JSON property `utilizationTarget`
@@ -2185,11 +2185,11 @@ module Google
2185
2185
  # to scale upon. This is called a per-group metric for the purpose of
2186
2186
  # autoscaling.
2187
2187
  # If not specified, the type defaults to gce_instance.
2188
- # You should provide a filter that is selective enough to pick just one
2189
- # TimeSeries for the autoscaled group or for each of the instances (if you are
2190
- # using gce_instance resource type). If multiple TimeSeries are returned upon
2191
- # the query execution, the autoscaler will sum their respective values to obtain
2192
- # its scaling value.
2188
+ # Try to provide a filter that is selective enough to pick just one TimeSeries
2189
+ # for the autoscaled group or for each of the instances (if you are using
2190
+ # gce_instance resource type). If multiple TimeSeries are returned upon the
2191
+ # query execution, the autoscaler will sum their respective values to obtain its
2192
+ # scaling value.
2193
2193
  # Corresponds to the JSON property `filter`
2194
2194
  # @return [String]
2195
2195
  attr_accessor :filter
@@ -2203,9 +2203,9 @@ module Google
2203
2203
 
2204
2204
  # If scaling is based on a per-group metric value that represents the total
2205
2205
  # amount of work to be done or resource usage, set this value to an amount
2206
- # assigned for a single instance of the scaled group. Autoscaler will keep the
2207
- # number of instances proportional to the value of this metric, the metric
2208
- # itself should not change value due to group resizing.
2206
+ # assigned for a single instance of the scaled group. Autoscaler keeps the
2207
+ # number of instances proportional to the value of this metric. The metric
2208
+ # itself does not change value due to group resizing.
2209
2209
  # A good metric to use with the target is for example pubsub.googleapis.com/
2210
2210
  # subscription/num_undelivered_messages or a custom metric exporting the total
2211
2211
  # number of requests coming to your instances.
@@ -2216,12 +2216,12 @@ module Google
2216
2216
  # @return [Float]
2217
2217
  attr_accessor :single_instance_assignment
2218
2218
 
2219
- # The target value of the metric that autoscaler should maintain. This must be a
2219
+ # The target value of the metric that autoscaler maintains. This must be a
2220
2220
  # positive value. A utilization metric scales number of virtual machines
2221
2221
  # handling requests to increase or decrease proportionally to the metric.
2222
2222
  # For example, a good metric to use as a utilization_target is https://www.
2223
2223
  # googleapis.com/compute/v1/instance/network/received_bytes_count. The
2224
- # autoscaler will work to keep this value constant for each of the instances.
2224
+ # autoscaler works to keep this value constant for each of the instances.
2225
2225
  # Corresponds to the JSON property `utilizationTarget`
2226
2226
  # @return [Float]
2227
2227
  attr_accessor :utilization_target
@@ -2251,7 +2251,7 @@ module Google
2251
2251
  include Google::Apis::Core::Hashable
2252
2252
 
2253
2253
  # Fraction of backend capacity utilization (set in HTTP(S) load balancing
2254
- # configuration) that autoscaler should maintain. Must be a positive float value.
2254
+ # configuration) that the autoscaler maintains. Must be a positive float value.
2255
2255
  # If not defined, the default is 0.8.
2256
2256
  # Corresponds to the JSON property `utilizationTarget`
2257
2257
  # @return [Float]
@@ -2278,8 +2278,8 @@ module Google
2278
2278
  # @return [Google::Apis::ComputeV1::FixedOrPercent]
2279
2279
  attr_accessor :max_scaled_in_replicas
2280
2280
 
2281
- # How long back autoscaling should look when computing recommendations to
2282
- # include directives regarding slower scale in, as described above.
2281
+ # How far back autoscaling looks when computing recommendations to include
2282
+ # directives regarding slower scale in, as described above.
2283
2283
  # Corresponds to the JSON property `timeWindowSec`
2284
2284
  # @return [Fixnum]
2285
2285
  attr_accessor :time_window_sec
@@ -2313,21 +2313,22 @@ module Google
2313
2313
  # parameters: maxConnections (except for regional managed instance groups),
2314
2314
  # maxConnectionsPerInstance, or maxConnectionsPerEndpoint.
2315
2315
  # If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/
2316
- # UDP load balancers), you cannot specify any additional parameters.
2316
+ # UDP Load Balancers) or EXTERNAL (Network Load Balancing), you cannot specify
2317
+ # any additional parameters.
2317
2318
  #
2318
2319
  # - If the load balancing mode is RATE, the load is spread based on the rate of
2319
2320
  # HTTP requests per second (RPS).
2320
2321
  # You can use the RATE balancing mode if the protocol for the backend service is
2321
- # HTTP or HTTPS. You must specify exactly one of the following parameters:
2322
- # maxRate (except for regional managed instance groups), maxRatePerInstance, or
2323
- # maxRatePerEndpoint.
2322
+ # HTTP, HTTP2, or HTTPS. You must specify exactly one of the following
2323
+ # parameters: maxRate (except for regional managed instance groups),
2324
+ # maxRatePerInstance, or maxRatePerEndpoint.
2324
2325
  #
2325
2326
  # - If the load balancing mode is UTILIZATION, the load is spread based on the
2326
2327
  # backend utilization of instances in an instance group.
2327
2328
  # You can use the UTILIZATION balancing mode if the loadBalancingScheme of the
2328
- # backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and
2329
- # the backends are instance groups. There are no restrictions on the backend
2330
- # service protocol.
2329
+ # backend service is EXTERNAL (except Network Load Balancing),
2330
+ # INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and the backends are instance
2331
+ # groups. There are no restrictions on the backend service protocol.
2331
2332
  # Corresponds to the JSON property `balancingMode`
2332
2333
  # @return [String]
2333
2334
  attr_accessor :balancing_mode
@@ -2339,7 +2340,8 @@ module Google
2339
2340
  # available capacity. Valid range is 0.0 and [0.1,1.0]. You cannot configure a
2340
2341
  # setting larger than 0 and smaller than 0.1. You cannot configure a setting of
2341
2342
  # 0 when there is only one backend attached to the backend service.
2342
- # This cannot be used for internal load balancing.
2343
+ # This cannot be used for Internal TCP/UDP Load Balancing and Network Load
2344
+ # Balancing.
2343
2345
  # Corresponds to the JSON property `capacityScaler`
2344
2346
  # @return [Float]
2345
2347
  attr_accessor :capacity_scaler
@@ -2361,14 +2363,16 @@ module Google
2361
2363
  # resource. The type of backend that a backend service supports depends on the
2362
2364
  # backend service's loadBalancingScheme.
2363
2365
  #
2364
- # - When the loadBalancingScheme for the backend service is EXTERNAL,
2365
- # INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, the backend can be either an
2366
- # instance group or a NEG. The backends on the backend service must be either
2367
- # all instance groups or all NEGs. You cannot mix instance group and NEG
2368
- # backends on the same backend service.
2369
- # - When the loadBalancingScheme for the backend service is INTERNAL, the
2370
- # backend must be an instance group in the same region as the backend service.
2371
- # NEGs are not supported.
2366
+ # - When the loadBalancingScheme for the backend service is EXTERNAL (except
2367
+ # Network Load Balancing), INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED , the
2368
+ # backend can be either an instance group or a NEG. The backends on the backend
2369
+ # service must be either all instance groups or all NEGs. You cannot mix
2370
+ # instance group and NEG backends on the same backend service.
2371
+ # - When the loadBalancingScheme for the backend service is EXTERNAL for Network
2372
+ # Load Balancing or INTERNAL for Internal TCP/UDP Load Balancing, the backend
2373
+ # must be an instance group. NEGs are not supported.
2374
+ # For regional services, the backend must be in the same region as the backend
2375
+ # service.
2372
2376
  # You must use the fully-qualified URL (starting with https://www.googleapis.com/
2373
2377
  # ) to specify the instance group or NEG. Partial URLs are not supported.
2374
2378
  # Corresponds to the JSON property `group`
@@ -2380,11 +2384,12 @@ module Google
2380
2384
  # except for regional managed instance groups). If the backend's balancingMode
2381
2385
  # is UTILIZATION, this is an optional parameter. If the backend's balancingMode
2382
2386
  # is CONNECTION, and backend is attached to a backend service whose
2383
- # loadBalancingScheme is EXTERNAL, you must specify either this parameter,
2384
- # maxConnectionsPerInstance, or maxConnectionsPerEndpoint.
2385
- # Not available if the backend's balancingMode is RATE. If the
2386
- # loadBalancingScheme is INTERNAL, then maxConnections is not supported, even
2387
- # though the backend requires a balancing mode of CONNECTION.
2387
+ # loadBalancingScheme is EXTERNAL (except Network Load Balancing), you must
2388
+ # specify either this parameter, maxConnectionsPerInstance, or
2389
+ # maxConnectionsPerEndpoint.
2390
+ # Not available if the backend's balancingMode is RATE. Cannot be specified for
2391
+ # Network Load Balancing or Internal TCP/UDP Load Balancing, even though those
2392
+ # load balancers require a balancing mode of CONNECTION.
2388
2393
  # Corresponds to the JSON property `maxConnections`
2389
2394
  # @return [Fixnum]
2390
2395
  attr_accessor :max_connections
@@ -2392,12 +2397,13 @@ module Google
2392
2397
  # Defines a target maximum number of simultaneous connections for an endpoint of
2393
2398
  # a NEG. This is multiplied by the number of endpoints in the NEG to implicitly
2394
2399
  # calculate a maximum number of target maximum simultaneous connections for the
2395
- # NEG. If the backend's balancingMode is CONNECTION, and the backend is attached
2396
- # to a backend service whose loadBalancingScheme is EXTERNAL, you must specify
2397
- # either this parameter, maxConnections, or maxConnectionsPerInstance.
2398
- # Not available if the backend's balancingMode is RATE. Internal TCP/UDP load
2399
- # balancing does not support setting maxConnectionsPerEndpoint even though its
2400
- # backends require a balancing mode of CONNECTION.
2400
+ # NEG. If the backend's balancingMode is CONNECTION, and backend is attached to
2401
+ # a backend service whose loadBalancingScheme is EXTERNAL (except Network Load
2402
+ # Balancing), you must specify either this parameter, maxConnections, or
2403
+ # maxConnectionsPerInstance.
2404
+ # Not available if the backend's balancingMode is RATE. Cannot be specified for
2405
+ # Network Load Balancing or Internal TCP/UDP Load Balancing, even though those
2406
+ # load balancers require a balancing mode of CONNECTION.
2401
2407
  # Corresponds to the JSON property `maxConnectionsPerEndpoint`
2402
2408
  # @return [Fixnum]
2403
2409
  attr_accessor :max_connections_per_endpoint
@@ -2408,11 +2414,11 @@ module Google
2408
2414
  # connections for the whole instance group. If the backend's balancingMode is
2409
2415
  # UTILIZATION, this is an optional parameter. If the backend's balancingMode is
2410
2416
  # CONNECTION, and backend is attached to a backend service whose
2411
- # loadBalancingScheme is EXTERNAL, you must specify either this parameter,
2412
- # maxConnections, or maxConnectionsPerEndpoint.
2413
- # Not available if the backend's balancingMode is RATE. Internal TCP/UDP load
2414
- # balancing does not support setting maxConnectionsPerInstance even though its
2415
- # backends require a balancing mode of CONNECTION.
2417
+ # loadBalancingScheme is EXTERNAL (except Network Load Balancing), you must
2418
+ # specify either this parameter, maxConnections, or maxConnectionsPerEndpoint.
2419
+ # Not available if the backend's balancingMode is RATE. Cannot be specified for
2420
+ # Network Load Balancing or Internal TCP/UDP Load Balancing, even though those
2421
+ # load balancers require a balancing mode of CONNECTION.
2416
2422
  # Corresponds to the JSON property `maxConnectionsPerInstance`
2417
2423
  # @return [Fixnum]
2418
2424
  attr_accessor :max_connections_per_instance
@@ -2504,6 +2510,11 @@ module Google
2504
2510
  # @return [String]
2505
2511
  attr_accessor :creation_timestamp
2506
2512
 
2513
+ # Headers that the HTTP/S load balancer should add to proxied responses.
2514
+ # Corresponds to the JSON property `customResponseHeaders`
2515
+ # @return [Array<String>]
2516
+ attr_accessor :custom_response_headers
2517
+
2507
2518
  # An optional textual description of the resource; provided by the client when
2508
2519
  # the resource is created.
2509
2520
  # Corresponds to the JSON property `description`
@@ -2550,6 +2561,7 @@ module Google
2550
2561
  @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
2551
2562
  @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
2552
2563
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
2564
+ @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
2553
2565
  @description = args[:description] if args.key?(:description)
2554
2566
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
2555
2567
  @id = args[:id] if args.key?(:id)
@@ -2563,6 +2575,55 @@ module Google
2563
2575
  class BackendBucketCdnPolicy
2564
2576
  include Google::Apis::Core::Hashable
2565
2577
 
2578
+ # Specifies the cache setting for all responses from this backend. The possible
2579
+ # values are:
2580
+ # USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache
2581
+ # content. Responses without these headers will not be cached at Google's edge,
2582
+ # and will require a full trip to the origin on every request, potentially
2583
+ # impacting performance and increasing load on the origin server.
2584
+ # FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-
2585
+ # cache" directives in Cache-Control response headers. Warning: this may result
2586
+ # in Cloud CDN caching private, per-user (user identifiable) content.
2587
+ # CACHE_ALL_STATIC Automatically cache static content, including common image
2588
+ # formats, media (video and audio), and web assets (JavaScript and CSS).
2589
+ # Requests and responses that are marked as uncacheable, as well as dynamic
2590
+ # content (including HTML), will not be cached.
2591
+ # Corresponds to the JSON property `cacheMode`
2592
+ # @return [String]
2593
+ attr_accessor :cache_mode
2594
+
2595
+ # Specifies a separate client (e.g. browser client) TTL, separate from the TTL
2596
+ # for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL
2597
+ # for both Cloud CDN and the client-facing response. The maximum allowed value
2598
+ # is 86400s (1 day).
2599
+ # Corresponds to the JSON property `clientTtl`
2600
+ # @return [Fixnum]
2601
+ attr_accessor :client_ttl
2602
+
2603
+ # Specifies the default TTL for cached content served by this origin for
2604
+ # responses that do not have an existing valid TTL (max-age or s-max-age).
2605
+ # Setting a TTL of "0" means "always revalidate". The value of defaultTTL cannot
2606
+ # be set to a value greater than that of maxTTL, but can be equal. When the
2607
+ # cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set
2608
+ # in all responses. The maximum allowed value is 31,622,400s (1 year), noting
2609
+ # that infrequently accessed objects may be evicted from the cache before the
2610
+ # defined TTL.
2611
+ # Corresponds to the JSON property `defaultTtl`
2612
+ # @return [Fixnum]
2613
+ attr_accessor :default_ttl
2614
+
2615
+ # Specifies the maximum allowed TTL for cached content served by this origin.
2616
+ # Cache directives that attempt to set a max-age or s-maxage higher than this,
2617
+ # or an Expires header more than maxTTL seconds in the future will be capped at
2618
+ # the value of maxTTL, as if it were the value of an s-maxage Cache-Control
2619
+ # directive. Headers sent to the client will not be modified. Setting a TTL of "
2620
+ # 0" means "always revalidate". The maximum allowed value is 31,622,400s (1 year)
2621
+ # , noting that infrequently accessed objects may be evicted from the cache
2622
+ # before the defined TTL.
2623
+ # Corresponds to the JSON property `maxTtl`
2624
+ # @return [Fixnum]
2625
+ attr_accessor :max_ttl
2626
+
2566
2627
  # Maximum number of seconds the response to a signed URL request will be
2567
2628
  # considered fresh. After this time period, the response will be revalidated
2568
2629
  # before being served. Defaults to 1hr (3600s). When serving responses to signed
@@ -2585,6 +2646,10 @@ module Google
2585
2646
 
2586
2647
  # Update properties of this object
2587
2648
  def update!(**args)
2649
+ @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
2650
+ @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
2651
+ @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
2652
+ @max_ttl = args[:max_ttl] if args.key?(:max_ttl)
2588
2653
  @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
2589
2654
  @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
2590
2655
  end
@@ -2769,6 +2834,11 @@ module Google
2769
2834
  # @return [Array<String>]
2770
2835
  attr_accessor :custom_request_headers
2771
2836
 
2837
+ # Headers that the HTTP/S load balancer should add to proxied responses.
2838
+ # Corresponds to the JSON property `customResponseHeaders`
2839
+ # @return [Array<String>]
2840
+ attr_accessor :custom_response_headers
2841
+
2772
2842
  # An optional description of this resource. Provide this property when you
2773
2843
  # create the resource.
2774
2844
  # Corresponds to the JSON property `description`
@@ -2782,13 +2852,14 @@ module Google
2782
2852
  attr_accessor :enable_cdn
2783
2853
  alias_method :enable_cdn?, :enable_cdn
2784
2854
 
2785
- # Applicable only to Failover for Internal TCP/UDP Load Balancing. On failover
2786
- # or failback, this field indicates whether connection draining will be honored.
2787
- # GCP has a fixed connection draining timeout of 10 minutes. A setting of true
2788
- # terminates existing TCP connections to the active pool during failover and
2789
- # failback, immediately draining traffic. A setting of false allows existing TCP
2790
- # connections to persist, even on VMs no longer in the active pool, for up to
2791
- # the duration of the connection draining timeout (10 minutes).
2855
+ # Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
2856
+ # Load Balancing. On failover or failback, this field indicates whether
2857
+ # connection draining will be honored. GCP has a fixed connection draining
2858
+ # timeout of 10 minutes. A setting of true terminates existing TCP connections
2859
+ # to the active pool during failover and failback, immediately draining traffic.
2860
+ # A setting of false allows existing TCP connections to persist, even on VMs no
2861
+ # longer in the active pool, for up to the duration of the connection draining
2862
+ # timeout (10 minutes).
2792
2863
  # Corresponds to the JSON property `failoverPolicy`
2793
2864
  # @return [Google::Apis::ComputeV1::BackendServiceFailoverPolicy]
2794
2865
  attr_accessor :failover_policy
@@ -2833,11 +2904,11 @@ module Google
2833
2904
  # @return [String]
2834
2905
  attr_accessor :kind
2835
2906
 
2836
- # Specifies the load balancer type. Choose EXTERNAL for load balancers that
2837
- # receive traffic from external clients. Choose INTERNAL for Internal TCP/UDP
2838
- # Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing.
2839
- # Choose INTERNAL_SELF_MANAGED for Traffic Director. A backend service created
2840
- # for one type of load balancing cannot be used with another. For more
2907
+ # Specifies the load balancer type. Choose EXTERNAL for external HTTP(S), SSL
2908
+ # Proxy, TCP Proxy and Network Load Balancing. Choose INTERNAL for Internal TCP/
2909
+ # UDP Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load
2910
+ # Balancing. INTERNAL_SELF_MANAGED for Traffic Director. A backend service
2911
+ # created for one type of load balancer cannot be used with another. For more
2841
2912
  # information, refer to Choosing a load balancer.
2842
2913
  # Corresponds to the JSON property `loadBalancingScheme`
2843
2914
  # @return [String]
@@ -2892,7 +2963,7 @@ module Google
2892
2963
  attr_accessor :name
2893
2964
 
2894
2965
  # The URL of the network to which this backend service belongs. This field can
2895
- # only be spcified when the load balancing scheme is set to INTERNAL.
2966
+ # only be specified when the load balancing scheme is set to INTERNAL.
2896
2967
  # Corresponds to the JSON property `network`
2897
2968
  # @return [String]
2898
2969
  attr_accessor :network
@@ -2913,11 +2984,12 @@ module Google
2913
2984
 
2914
2985
  # A named port on a backend instance group representing the port for
2915
2986
  # communication to the backend VMs in that group. Required when the
2916
- # loadBalancingScheme is EXTERNAL, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED
2917
- # and the backends are instance groups. The named port must be defined on each
2918
- # backend instance group. This parameter has no meaning if the backends are NEGs.
2919
- # Must be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP
2920
- # Load Balancing).
2987
+ # loadBalancingScheme is EXTERNAL (except Network Load Balancing),
2988
+ # INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED and the backends are instance
2989
+ # groups. The named port must be defined on each backend instance group. This
2990
+ # parameter has no meaning if the backends are NEGs.
2991
+ # Backend services for Internal TCP/UDP Load Balancing and Network Load
2992
+ # Balancing require you omit port_name.
2921
2993
  # Corresponds to the JSON property `portName`
2922
2994
  # @return [String]
2923
2995
  attr_accessor :port_name
@@ -2957,11 +3029,12 @@ module Google
2957
3029
  # @return [String]
2958
3030
  attr_accessor :self_link
2959
3031
 
2960
- # Type of session affinity to use. The default is NONE. Session affinity is not
2961
- # applicable if the --protocol is UDP.
2962
- # When the loadBalancingScheme is EXTERNAL, possible values are NONE, CLIENT_IP,
2963
- # or GENERATED_COOKIE. You can use GENERATED_COOKIE if the protocol is HTTP or
2964
- # HTTPS.
3032
+ # Type of session affinity to use. The default is NONE.
3033
+ # When the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the
3034
+ # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3035
+ # * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
3036
+ # possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use
3037
+ # GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.
2965
3038
  # When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP,
2966
3039
  # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
2967
3040
  # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED,
@@ -2994,6 +3067,7 @@ module Google
2994
3067
  @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
2995
3068
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
2996
3069
  @custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
3070
+ @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
2997
3071
  @description = args[:description] if args.key?(:description)
2998
3072
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
2999
3073
  @failover_policy = args[:failover_policy] if args.key?(:failover_policy)
@@ -3153,6 +3227,55 @@ module Google
3153
3227
  # @return [Google::Apis::ComputeV1::CacheKeyPolicy]
3154
3228
  attr_accessor :cache_key_policy
3155
3229
 
3230
+ # Specifies the cache setting for all responses from this backend. The possible
3231
+ # values are:
3232
+ # USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache
3233
+ # content. Responses without these headers will not be cached at Google's edge,
3234
+ # and will require a full trip to the origin on every request, potentially
3235
+ # impacting performance and increasing load on the origin server.
3236
+ # FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-
3237
+ # cache" directives in Cache-Control response headers. Warning: this may result
3238
+ # in Cloud CDN caching private, per-user (user identifiable) content.
3239
+ # CACHE_ALL_STATIC Automatically cache static content, including common image
3240
+ # formats, media (video and audio), and web assets (JavaScript and CSS).
3241
+ # Requests and responses that are marked as uncacheable, as well as dynamic
3242
+ # content (including HTML), will not be cached.
3243
+ # Corresponds to the JSON property `cacheMode`
3244
+ # @return [String]
3245
+ attr_accessor :cache_mode
3246
+
3247
+ # Specifies a separate client (e.g. browser client) TTL, separate from the TTL
3248
+ # for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL
3249
+ # for both Cloud CDN and the client-facing response. The maximum allowed value
3250
+ # is 86400s (1 day).
3251
+ # Corresponds to the JSON property `clientTtl`
3252
+ # @return [Fixnum]
3253
+ attr_accessor :client_ttl
3254
+
3255
+ # Specifies the default TTL for cached content served by this origin for
3256
+ # responses that do not have an existing valid TTL (max-age or s-max-age).
3257
+ # Setting a TTL of "0" means "always revalidate". The value of defaultTTL cannot
3258
+ # be set to a value greater than that of maxTTL, but can be equal. When the
3259
+ # cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set
3260
+ # in all responses. The maximum allowed value is 31,622,400s (1 year), noting
3261
+ # that infrequently accessed objects may be evicted from the cache before the
3262
+ # defined TTL.
3263
+ # Corresponds to the JSON property `defaultTtl`
3264
+ # @return [Fixnum]
3265
+ attr_accessor :default_ttl
3266
+
3267
+ # Specifies the maximum allowed TTL for cached content served by this origin.
3268
+ # Cache directives that attempt to set a max-age or s-maxage higher than this,
3269
+ # or an Expires header more than maxTTL seconds in the future will be capped at
3270
+ # the value of maxTTL, as if it were the value of an s-maxage Cache-Control
3271
+ # directive. Headers sent to the client will not be modified. Setting a TTL of "
3272
+ # 0" means "always revalidate". The maximum allowed value is 31,622,400s (1 year)
3273
+ # , noting that infrequently accessed objects may be evicted from the cache
3274
+ # before the defined TTL.
3275
+ # Corresponds to the JSON property `maxTtl`
3276
+ # @return [Fixnum]
3277
+ attr_accessor :max_ttl
3278
+
3156
3279
  # Maximum number of seconds the response to a signed URL request will be
3157
3280
  # considered fresh. After this time period, the response will be revalidated
3158
3281
  # before being served. Defaults to 1hr (3600s). When serving responses to signed
@@ -3176,18 +3299,23 @@ module Google
3176
3299
  # Update properties of this object
3177
3300
  def update!(**args)
3178
3301
  @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
3302
+ @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
3303
+ @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
3304
+ @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
3305
+ @max_ttl = args[:max_ttl] if args.key?(:max_ttl)
3179
3306
  @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
3180
3307
  @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
3181
3308
  end
3182
3309
  end
3183
3310
 
3184
- # Applicable only to Failover for Internal TCP/UDP Load Balancing. On failover
3185
- # or failback, this field indicates whether connection draining will be honored.
3186
- # GCP has a fixed connection draining timeout of 10 minutes. A setting of true
3187
- # terminates existing TCP connections to the active pool during failover and
3188
- # failback, immediately draining traffic. A setting of false allows existing TCP
3189
- # connections to persist, even on VMs no longer in the active pool, for up to
3190
- # the duration of the connection draining timeout (10 minutes).
3311
+ # Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
3312
+ # Load Balancing. On failover or failback, this field indicates whether
3313
+ # connection draining will be honored. GCP has a fixed connection draining
3314
+ # timeout of 10 minutes. A setting of true terminates existing TCP connections
3315
+ # to the active pool during failover and failback, immediately draining traffic.
3316
+ # A setting of false allows existing TCP connections to persist, even on VMs no
3317
+ # longer in the active pool, for up to the duration of the connection draining
3318
+ # timeout (10 minutes).
3191
3319
  class BackendServiceFailoverPolicy
3192
3320
  include Google::Apis::Core::Hashable
3193
3321
 
@@ -3198,22 +3326,21 @@ module Google
3198
3326
  attr_accessor :disable_connection_drain_on_failover
3199
3327
  alias_method :disable_connection_drain_on_failover?, :disable_connection_drain_on_failover
3200
3328
 
3201
- # Applicable only to Failover for Internal TCP/UDP Load Balancing. If set to
3202
- # true, connections to the load balancer are dropped when all primary and all
3203
- # backup backend VMs are unhealthy. If set to false, connections are distributed
3204
- # among all primary VMs when all primary and all backup backend VMs are
3205
- # unhealthy.
3206
- # The default is false.
3329
+ # Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
3330
+ # Load Balancing, If set to true, connections to the load balancer are dropped
3331
+ # when all primary and all backup backend VMs are unhealthy.If set to false,
3332
+ # connections are distributed among all primary VMs when all primary and all
3333
+ # backup backend VMs are unhealthy. The default is false.
3207
3334
  # Corresponds to the JSON property `dropTrafficIfUnhealthy`
3208
3335
  # @return [Boolean]
3209
3336
  attr_accessor :drop_traffic_if_unhealthy
3210
3337
  alias_method :drop_traffic_if_unhealthy?, :drop_traffic_if_unhealthy
3211
3338
 
3212
- # Applicable only to Failover for Internal TCP/UDP Load Balancing. The value of
3213
- # the field must be in the range [0, 1]. If the value is 0, the load balancer
3214
- # performs a failover when the number of healthy primary VMs equals zero. For
3215
- # all other values, the load balancer performs a failover when the total number
3216
- # of healthy primary VMs is less than this ratio.
3339
+ # Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
3340
+ # Load Balancing. The value of the field must be in the range [0, 1]. If the
3341
+ # value is 0, the load balancer performs a failover when the number of healthy
3342
+ # primary VMs equals zero. For all other values, the load balancer performs a
3343
+ # failover when the total number of healthy primary VMs is less than this ratio.
3217
3344
  # Corresponds to the JSON property `failoverRatio`
3218
3345
  # @return [Float]
3219
3346
  attr_accessor :failover_ratio
@@ -6860,9 +6987,11 @@ module Google
6860
6987
  # assigned. Methods for specifying an IP address:
6861
6988
  # * IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in https://www.
6862
6989
  # googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-
6863
- # name * Partial URL or by name, as in: * projects/project_id/regions/region/
6864
- # addresses/address-name * regions/region/addresses/address-name * global/
6865
- # addresses/address-name * address-name
6990
+ # name * Partial URL or by name, as in:
6991
+ # - projects/project_id/regions/region/addresses/address-name
6992
+ # - regions/region/addresses/address-name
6993
+ # - global/addresses/address-name
6994
+ # - address-name
6866
6995
  # The loadBalancingScheme and the forwarding rule's target determine the type of
6867
6996
  # IP address that you can use. For detailed information, refer to [IP address
6868
6997
  # specifications](/load-balancing/docs/forwarding-rule-concepts#
@@ -6875,16 +7004,19 @@ module Google
6875
7004
  # @return [String]
6876
7005
  attr_accessor :ip_address
6877
7006
 
6878
- # The IP protocol to which this rule applies. For protocol forwarding, valid
6879
- # options are TCP, UDP, ESP, AH, SCTP or ICMP.
6880
- # For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL,
6881
- # and one of TCP or UDP are valid. For Traffic Director, the load balancing
6882
- # scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S)
6883
- # Load Balancing, the load balancing scheme is INTERNAL_MANAGED, and only TCP is
6884
- # valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load
6885
- # balancing scheme is EXTERNAL and only TCP is valid. For Network TCP/UDP Load
6886
- # Balancing, the load balancing scheme is EXTERNAL, and one of TCP or UDP is
6887
- # valid.
7007
+ # The IP protocol to which this rule applies.
7008
+ # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
7009
+ # The valid IP protocols are different for different load balancing products:
7010
+ # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and
7011
+ # one of TCP, UDP or ALL is valid.
7012
+ # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and
7013
+ # only TCP is valid.
7014
+ # - Internal HTTP(S) Load Balancing: The load balancing scheme is
7015
+ # INTERNAL_MANAGED, and only TCP is valid.
7016
+ # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme
7017
+ # is EXTERNAL and only TCP is valid.
7018
+ # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of
7019
+ # TCP or UDP is valid.
6888
7020
  # Corresponds to the JSON property `IPProtocol`
6889
7021
  # @return [String]
6890
7022
  attr_accessor :ip_protocol
@@ -6909,9 +7041,9 @@ module Google
6909
7041
  attr_accessor :allow_global_access
6910
7042
  alias_method :allow_global_access?, :allow_global_access
6911
7043
 
6912
- # This field is only used for INTERNAL load balancing.
6913
- # For internal load balancing, this field identifies the BackendService resource
6914
- # to receive the matched traffic.
7044
+ # Identifies the backend service to which the forwarding rule sends traffic.
7045
+ # Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must
7046
+ # be omitted for all other load balancer types.
6915
7047
  # Corresponds to the JSON property `backendService`
6916
7048
  # @return [String]
6917
7049
  attr_accessor :backend_service
@@ -6973,13 +7105,12 @@ module Google
6973
7105
  # - EXTERNAL is used for:
6974
7106
  # - Classic Cloud VPN gateways
6975
7107
  # - Protocol forwarding to VMs from an external IP address
6976
- # - The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/
6977
- # UDP
7108
+ # - HTTP(S), SSL Proxy, TCP Proxy, and Network Load Balancing
6978
7109
  # - INTERNAL is used for:
6979
7110
  # - Protocol forwarding to VMs from an internal IP address
6980
- # - Internal TCP/UDP load balancers
7111
+ # - Internal TCP/UDP Load Balancing
6981
7112
  # - INTERNAL_MANAGED is used for:
6982
- # - Internal HTTP(S) load balancers
7113
+ # - Internal HTTP(S) Load Balancing
6983
7114
  # - INTERNAL_SELF_MANAGED is used for:
6984
7115
  # - Traffic Director
6985
7116
  # For more information about forwarding rules, refer to Forwarding rule concepts.
@@ -7018,9 +7149,9 @@ module Google
7018
7149
  attr_accessor :name
7019
7150
 
7020
7151
  # This field is not used for external load balancing.
7021
- # For internal load balancing, this field identifies the network that the load
7022
- # balanced IP should belong to for this Forwarding Rule. If this field is not
7023
- # specified, the default network will be used.
7152
+ # For Internal TCP/UDP Load Balancing, this field identifies the network that
7153
+ # the load balanced IP should belong to for this Forwarding Rule. If this field
7154
+ # is not specified, the default network will be used.
7024
7155
  # For Private Service Connect forwarding rules that forward traffic to Google
7025
7156
  # APIs, a network must be provided.
7026
7157
  # Corresponds to the JSON property `network`
@@ -7037,19 +7168,17 @@ module Google
7037
7168
  # @return [String]
7038
7169
  attr_accessor :network_tier
7039
7170
 
7040
- # When the load balancing scheme is EXTERNAL, INTERNAL_SELF_MANAGED and
7041
- # INTERNAL_MANAGED, you can specify a port_range. Use with a forwarding rule
7042
- # that points to a target proxy or a target pool. Do not use with a forwarding
7043
- # rule that points to a backend service. This field is used along with the
7044
- # target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy,
7045
- # TargetTcpProxy, TargetGrpcProxy, TargetVpnGateway, TargetPool, TargetInstance.
7046
- # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed
7047
- # to ports in the specified range will be forwarded to target. Forwarding rules
7048
- # with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
7171
+ # This field can be used only if: * Load balancing scheme is one of EXTERNAL,
7172
+ # INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP,
7173
+ # or SCTP.
7174
+ # Packets addressed to ports in the specified range will be forwarded to target
7175
+ # or backend_service. You can only use one of ports, port_range, or allPorts.
7176
+ # The three are mutually exclusive. Forwarding rules with the same [IPAddress,
7177
+ # IPProtocol] pair must have disjoint port ranges.
7049
7178
  # Some types of forwarding target have constraints on the acceptable ports:
7050
7179
  # - TargetHttpProxy: 80, 8080
7051
7180
  # - TargetHttpsProxy: 443
7052
- # - TargetGrpcProxy: Any ports
7181
+ # - TargetGrpcProxy: no constraints
7053
7182
  # - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
7054
7183
  # 1883, 5222
7055
7184
  # - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
@@ -7059,16 +7188,17 @@ module Google
7059
7188
  # @return [String]
7060
7189
  attr_accessor :port_range
7061
7190
 
7062
- # This field is used along with the backend_service field for internal load
7063
- # balancing.
7064
- # When the load balancing scheme is INTERNAL, a list of ports can be configured,
7065
- # for example, ['80'], ['8000','9000']. Only packets addressed to these ports
7066
- # are forwarded to the backends configured with the forwarding rule.
7067
- # If the forwarding rule's loadBalancingScheme is INTERNAL, you can specify
7068
- # ports in one of the following ways:
7069
- # * A list of up to five ports, which can be non-contiguous * Keyword ALL, which
7070
- # causes the forwarding rule to forward traffic on any port of the forwarding
7071
- # rule's protocol.
7191
+ # The ports field is only supported when the forwarding rule references a
7192
+ # backend_service directly. Supported load balancing products are Internal TCP/
7193
+ # UDP Load Balancing and Network Load Balancing. Only packets addressed to the
7194
+ # specified list of ports are forwarded to backends.
7195
+ # You can only use one of ports and port_range, or allPorts. The three are
7196
+ # mutually exclusive.
7197
+ # You can specify a list of up to five ports, which can be non-contiguous.
7198
+ # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not
7199
+ # specify ports.
7200
+ # For more information, see [Port specifications](/load-balancing/docs/
7201
+ # forwarding-rule-concepts#port_specifications).
7072
7202
  # Corresponds to the JSON property `ports`
7073
7203
  # @return [Array<String>]
7074
7204
  attr_accessor :ports
@@ -8868,6 +8998,16 @@ module Google
8868
8998
  # @return [Fixnum]
8869
8999
  attr_accessor :port
8870
9000
 
9001
+ #
9002
+ # Corresponds to the JSON property `weight`
9003
+ # @return [String]
9004
+ attr_accessor :weight
9005
+
9006
+ #
9007
+ # Corresponds to the JSON property `weightError`
9008
+ # @return [String]
9009
+ attr_accessor :weight_error
9010
+
8871
9011
  def initialize(**args)
8872
9012
  update!(**args)
8873
9013
  end
@@ -8879,6 +9019,8 @@ module Google
8879
9019
  @instance = args[:instance] if args.key?(:instance)
8880
9020
  @ip_address = args[:ip_address] if args.key?(:ip_address)
8881
9021
  @port = args[:port] if args.key?(:port)
9022
+ @weight = args[:weight] if args.key?(:weight)
9023
+ @weight_error = args[:weight_error] if args.key?(:weight_error)
8882
9024
  end
8883
9025
  end
8884
9026
 
@@ -14267,6 +14409,13 @@ module Google
14267
14409
  # @return [String]
14268
14410
  attr_accessor :kind
14269
14411
 
14412
+ # Maximum Transmission Unit (MTU), in bytes, of packets passing through this
14413
+ # interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the
14414
+ # value will default to 1440.
14415
+ # Corresponds to the JSON property `mtu`
14416
+ # @return [Fixnum]
14417
+ attr_accessor :mtu
14418
+
14270
14419
  # Name of the resource. Provided by the client when the resource is created. The
14271
14420
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
14272
14421
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -14392,6 +14541,7 @@ module Google
14392
14541
  @id = args[:id] if args.key?(:id)
14393
14542
  @interconnect = args[:interconnect] if args.key?(:interconnect)
14394
14543
  @kind = args[:kind] if args.key?(:kind)
14544
+ @mtu = args[:mtu] if args.key?(:mtu)
14395
14545
  @name = args[:name] if args.key?(:name)
14396
14546
  @operational_status = args[:operational_status] if args.key?(:operational_status)
14397
14547
  @pairing_key = args[:pairing_key] if args.key?(:pairing_key)
@@ -15860,6 +16010,39 @@ module Google
15860
16010
  end
15861
16011
  end
15862
16012
 
16013
+ #
16014
+ class LocalDisk
16015
+ include Google::Apis::Core::Hashable
16016
+
16017
+ # Specifies the number of such disks.
16018
+ # Corresponds to the JSON property `diskCount`
16019
+ # @return [Fixnum]
16020
+ attr_accessor :disk_count
16021
+
16022
+ # Specifies the size of the disk in base-2 GB.
16023
+ # Corresponds to the JSON property `diskSizeGb`
16024
+ # @return [Fixnum]
16025
+ attr_accessor :disk_size_gb
16026
+
16027
+ # Specifies the desired disk type on the node. This disk type must be a local
16028
+ # storage type (e.g.: local-ssd). Note that for nodeTemplates, this should be
16029
+ # the name of the disk type and not its URL.
16030
+ # Corresponds to the JSON property `diskType`
16031
+ # @return [String]
16032
+ attr_accessor :disk_type
16033
+
16034
+ def initialize(**args)
16035
+ update!(**args)
16036
+ end
16037
+
16038
+ # Update properties of this object
16039
+ def update!(**args)
16040
+ @disk_count = args[:disk_count] if args.key?(:disk_count)
16041
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
16042
+ @disk_type = args[:disk_type] if args.key?(:disk_type)
16043
+ end
16044
+ end
16045
+
15863
16046
  # Specifies what kind of log the caller must write
15864
16047
  class LogConfig
15865
16048
  include Google::Apis::Core::Hashable
@@ -17074,8 +17257,9 @@ module Google
17074
17257
  # Represents a collection of network endpoints.
17075
17258
  # A network endpoint group (NEG) defines how a set of endpoints should be
17076
17259
  # reached, whether they are reachable, and where they are located. For more
17077
- # information about using NEGs, see Setting up internet NEGs, Setting up zonal
17078
- # NEGs, or Setting up serverless NEGs. (== resource_for `$api_version`.
17260
+ # information about using NEGs, see Setting up external HTTP(S) Load Balancing
17261
+ # with internet NEGs, Setting up zonal NEGs, or Setting up external HTTP(S)
17262
+ # Load Balancing with serverless NEGs. (== resource_for `$api_version`.
17079
17263
  # networkEndpointGroups ==) (== resource_for `$api_version`.
17080
17264
  # globalNetworkEndpointGroups ==) (== resource_for `$api_version`.
17081
17265
  # regionNetworkEndpointGroups ==)
@@ -17943,6 +18127,11 @@ module Google
17943
18127
  # @return [String]
17944
18128
  attr_accessor :network_ip
17945
18129
 
18130
+ # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
18131
+ # Corresponds to the JSON property `nicType`
18132
+ # @return [String]
18133
+ attr_accessor :nic_type
18134
+
17946
18135
  # The URL of the Subnetwork resource for this instance. If the network resource
17947
18136
  # is in legacy mode, do not specify this field. If the network is in auto subnet
17948
18137
  # mode, specifying the subnetwork is optional. If the network is in custom
@@ -17970,6 +18159,7 @@ module Google
17970
18159
  @name = args[:name] if args.key?(:name)
17971
18160
  @network = args[:network] if args.key?(:network)
17972
18161
  @network_ip = args[:network_ip] if args.key?(:network_ip)
18162
+ @nic_type = args[:nic_type] if args.key?(:nic_type)
17973
18163
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
17974
18164
  end
17975
18165
  end
@@ -18363,6 +18553,12 @@ module Google
18363
18553
  # @return [String]
18364
18554
  attr_accessor :maintenance_policy
18365
18555
 
18556
+ # Time window specified for daily maintenance operations. GCE's internal
18557
+ # maintenance will be performed within this window.
18558
+ # Corresponds to the JSON property `maintenanceWindow`
18559
+ # @return [Google::Apis::ComputeV1::NodeGroupMaintenanceWindow]
18560
+ attr_accessor :maintenance_window
18561
+
18366
18562
  # The name of the resource, provided by the client when initially creating the
18367
18563
  # resource. The resource name must be 1-63 characters long, and comply with
18368
18564
  # RFC1035. Specifically, the name must be 1-63 characters long and match the
@@ -18413,6 +18609,7 @@ module Google
18413
18609
  @id = args[:id] if args.key?(:id)
18414
18610
  @kind = args[:kind] if args.key?(:kind)
18415
18611
  @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
18612
+ @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
18416
18613
  @name = args[:name] if args.key?(:name)
18417
18614
  @node_template = args[:node_template] if args.key?(:node_template)
18418
18615
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -18697,15 +18894,56 @@ module Google
18697
18894
  end
18698
18895
  end
18699
18896
 
18897
+ # Time window specified for daily maintenance operations. GCE's internal
18898
+ # maintenance will be performed within this window.
18899
+ class NodeGroupMaintenanceWindow
18900
+ include Google::Apis::Core::Hashable
18901
+
18902
+ # A Duration represents a fixed-length span of time represented as a count of
18903
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
18904
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
18905
+ # 000 years.
18906
+ # Corresponds to the JSON property `maintenanceDuration`
18907
+ # @return [Google::Apis::ComputeV1::Duration]
18908
+ attr_accessor :maintenance_duration
18909
+
18910
+ # Start time of the window. This must be in UTC format that resolves to one of
18911
+ # 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:
18912
+ # 00 are valid.
18913
+ # Corresponds to the JSON property `startTime`
18914
+ # @return [String]
18915
+ attr_accessor :start_time
18916
+
18917
+ def initialize(**args)
18918
+ update!(**args)
18919
+ end
18920
+
18921
+ # Update properties of this object
18922
+ def update!(**args)
18923
+ @maintenance_duration = args[:maintenance_duration] if args.key?(:maintenance_duration)
18924
+ @start_time = args[:start_time] if args.key?(:start_time)
18925
+ end
18926
+ end
18927
+
18700
18928
  #
18701
18929
  class NodeGroupNode
18702
18930
  include Google::Apis::Core::Hashable
18703
18931
 
18932
+ # Accelerators for this node.
18933
+ # Corresponds to the JSON property `accelerators`
18934
+ # @return [Array<Google::Apis::ComputeV1::AcceleratorConfig>]
18935
+ attr_accessor :accelerators
18936
+
18704
18937
  # CPU overcommit.
18705
18938
  # Corresponds to the JSON property `cpuOvercommitType`
18706
18939
  # @return [String]
18707
18940
  attr_accessor :cpu_overcommit_type
18708
18941
 
18942
+ # Local disk configurations.
18943
+ # Corresponds to the JSON property `disks`
18944
+ # @return [Array<Google::Apis::ComputeV1::LocalDisk>]
18945
+ attr_accessor :disks
18946
+
18709
18947
  # Instances scheduled on this node.
18710
18948
  # Corresponds to the JSON property `instances`
18711
18949
  # @return [Array<String>]
@@ -18742,7 +18980,9 @@ module Google
18742
18980
 
18743
18981
  # Update properties of this object
18744
18982
  def update!(**args)
18983
+ @accelerators = args[:accelerators] if args.key?(:accelerators)
18745
18984
  @cpu_overcommit_type = args[:cpu_overcommit_type] if args.key?(:cpu_overcommit_type)
18985
+ @disks = args[:disks] if args.key?(:disks)
18746
18986
  @instances = args[:instances] if args.key?(:instances)
18747
18987
  @name = args[:name] if args.key?(:name)
18748
18988
  @node_type = args[:node_type] if args.key?(:node_type)
@@ -19026,6 +19266,11 @@ module Google
19026
19266
  class NodeTemplate
19027
19267
  include Google::Apis::Core::Hashable
19028
19268
 
19269
+ #
19270
+ # Corresponds to the JSON property `accelerators`
19271
+ # @return [Array<Google::Apis::ComputeV1::AcceleratorConfig>]
19272
+ attr_accessor :accelerators
19273
+
19029
19274
  # CPU overcommit.
19030
19275
  # Corresponds to the JSON property `cpuOvercommitType`
19031
19276
  # @return [String]
@@ -19042,6 +19287,11 @@ module Google
19042
19287
  # @return [String]
19043
19288
  attr_accessor :description
19044
19289
 
19290
+ #
19291
+ # Corresponds to the JSON property `disks`
19292
+ # @return [Array<Google::Apis::ComputeV1::LocalDisk>]
19293
+ attr_accessor :disks
19294
+
19045
19295
  # [Output Only] The unique identifier for the resource. This identifier is
19046
19296
  # defined by the server.
19047
19297
  # Corresponds to the JSON property `id`
@@ -19121,9 +19371,11 @@ module Google
19121
19371
 
19122
19372
  # Update properties of this object
19123
19373
  def update!(**args)
19374
+ @accelerators = args[:accelerators] if args.key?(:accelerators)
19124
19375
  @cpu_overcommit_type = args[:cpu_overcommit_type] if args.key?(:cpu_overcommit_type)
19125
19376
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
19126
19377
  @description = args[:description] if args.key?(:description)
19378
+ @disks = args[:disks] if args.key?(:disks)
19127
19379
  @id = args[:id] if args.key?(:id)
19128
19380
  @kind = args[:kind] if args.key?(:kind)
19129
19381
  @name = args[:name] if args.key?(:name)
@@ -24993,8 +25245,8 @@ module Google
24993
25245
  # @return [String]
24994
25246
  attr_accessor :description
24995
25247
 
24996
- # The destination range of outgoing packets that this route applies to. Only
24997
- # IPv4 is supported.
25248
+ # The destination range of outgoing packets that this route applies to. Both
25249
+ # IPv4 and IPv6 are supported.
24998
25250
  # Corresponds to the JSON property `destRange`
24999
25251
  # @return [String]
25000
25252
  attr_accessor :dest_range
@@ -26524,6 +26776,12 @@ module Google
26524
26776
  attr_accessor :automatic_restart
26525
26777
  alias_method :automatic_restart?, :automatic_restart
26526
26778
 
26779
+ # An opaque location hint used to place the instance close to other resources.
26780
+ # This field is for use by internal tools that use the public API.
26781
+ # Corresponds to the JSON property `locationHint`
26782
+ # @return [String]
26783
+ attr_accessor :location_hint
26784
+
26527
26785
  # The minimum number of virtual CPUs this instance will consume when running on
26528
26786
  # a sole-tenant node.
26529
26787
  # Corresponds to the JSON property `minNodeCpus`
@@ -26560,6 +26818,7 @@ module Google
26560
26818
  # Update properties of this object
26561
26819
  def update!(**args)
26562
26820
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
26821
+ @location_hint = args[:location_hint] if args.key?(:location_hint)
26563
26822
  @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
26564
26823
  @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
26565
26824
  @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
@@ -26916,7 +27175,7 @@ module Google
26916
27175
  # An integer indicating the priority of a rule in the list. The priority must be
26917
27176
  # a positive value between 0 and 2147483647. Rules are evaluated from highest to
26918
27177
  # lowest priority where 0 is the highest priority and 2147483647 is the lowest
26919
- # prority.
27178
+ # priority.
26920
27179
  # Corresponds to the JSON property `priority`
26921
27180
  # @return [Fixnum]
26922
27181
  attr_accessor :priority
@@ -28688,12 +28947,14 @@ module Google
28688
28947
  # @return [String]
28689
28948
  attr_accessor :self_link
28690
28949
 
28691
- # [Output Only] The state of the subnetwork, which can be one of READY or
28692
- # DRAINING. A subnetwork that is READY is ready to be used. The state of
28693
- # DRAINING is only applicable to subnetworks that have the purpose set to
28950
+ # [Output Only] The state of the subnetwork, which can be one of the following
28951
+ # values: READY: Subnetwork is created and ready to use DRAINING: only
28952
+ # applicable to subnetworks that have the purpose set to
28694
28953
  # INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
28695
28954
  # balancer are being drained. A subnetwork that is draining cannot be used or
28696
- # modified until it reaches a status of READY.
28955
+ # modified until it reaches a status of READY CREATING: Subnetwork is
28956
+ # provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is
28957
+ # being updated
28697
28958
  # Corresponds to the JSON property `state`
28698
28959
  # @return [String]
28699
28960
  attr_accessor :state