google-api-client 0.30.9 → 0.30.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (251) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +89 -0
  3. data/api_names.yaml +1 -0
  4. data/generated/google/apis/abusiveexperiencereport_v1.rb +1 -1
  5. data/generated/google/apis/abusiveexperiencereport_v1/classes.rb +18 -7
  6. data/generated/google/apis/abusiveexperiencereport_v1/service.rb +5 -10
  7. data/generated/google/apis/adexperiencereport_v1.rb +1 -1
  8. data/generated/google/apis/adexperiencereport_v1/classes.rb +24 -12
  9. data/generated/google/apis/adexperiencereport_v1/service.rb +6 -9
  10. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  11. data/generated/google/apis/analyticsreporting_v4/classes.rb +3 -0
  12. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  13. data/generated/google/apis/androidmanagement_v1/classes.rb +62 -9
  14. data/generated/google/apis/androidmanagement_v1/representations.rb +19 -0
  15. data/generated/google/apis/bigquery_v2.rb +1 -1
  16. data/generated/google/apis/bigquery_v2/classes.rb +32 -9
  17. data/generated/google/apis/bigquery_v2/representations.rb +5 -0
  18. data/generated/google/apis/bigquery_v2/service.rb +1 -1
  19. data/generated/google/apis/bigqueryconnection_v1beta1.rb +37 -0
  20. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +645 -0
  21. data/generated/google/apis/bigqueryconnection_v1beta1/representations.rb +263 -0
  22. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +378 -0
  23. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  24. data/generated/google/apis/bigtableadmin_v2/classes.rb +41 -16
  25. data/generated/google/apis/bigtableadmin_v2/representations.rb +15 -0
  26. data/generated/google/apis/binaryauthorization_v1.rb +35 -0
  27. data/generated/google/apis/binaryauthorization_v1/classes.rb +388 -0
  28. data/generated/google/apis/binaryauthorization_v1/representations.rb +167 -0
  29. data/generated/google/apis/binaryauthorization_v1/service.rb +313 -0
  30. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  31. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +6 -1
  32. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +10 -6
  33. data/generated/google/apis/calendar_v3.rb +1 -1
  34. data/generated/google/apis/calendar_v3/classes.rb +1 -1
  35. data/generated/google/apis/cloudasset_v1.rb +1 -1
  36. data/generated/google/apis/cloudasset_v1/classes.rb +52 -1
  37. data/generated/google/apis/cloudasset_v1/representations.rb +17 -0
  38. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  39. data/generated/google/apis/cloudasset_v1beta1/classes.rb +6 -1
  40. data/generated/google/apis/cloudiot_v1.rb +1 -1
  41. data/generated/google/apis/cloudiot_v1/classes.rb +11 -4
  42. data/generated/google/apis/cloudkms_v1.rb +1 -1
  43. data/generated/google/apis/cloudkms_v1/classes.rb +0 -14
  44. data/generated/google/apis/cloudkms_v1/representations.rb +0 -2
  45. data/generated/google/apis/cloudkms_v1/service.rb +3 -3
  46. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +1 -1
  47. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +6 -1
  48. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/service.rb +5 -3
  49. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  50. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +12 -8
  51. data/generated/google/apis/cloudresourcemanager_v1/service.rb +5 -1
  52. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  53. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +12 -8
  54. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +6 -2
  55. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  56. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +11 -4
  57. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  58. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +11 -4
  59. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  60. data/generated/google/apis/cloudsearch_v1/classes.rb +14 -3
  61. data/generated/google/apis/cloudsearch_v1/representations.rb +1 -0
  62. data/generated/google/apis/cloudsearch_v1/service.rb +3 -1
  63. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  64. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +2 -2
  65. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  66. data/generated/google/apis/cloudtrace_v2/classes.rb +8 -0
  67. data/generated/google/apis/cloudtrace_v2/representations.rb +1 -0
  68. data/generated/google/apis/commentanalyzer_v1alpha1.rb +1 -1
  69. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +1 -0
  70. data/generated/google/apis/composer_v1.rb +1 -1
  71. data/generated/google/apis/composer_v1/classes.rb +17 -24
  72. data/generated/google/apis/composer_v1beta1.rb +1 -1
  73. data/generated/google/apis/composer_v1beta1/classes.rb +17 -24
  74. data/generated/google/apis/compute_alpha.rb +1 -1
  75. data/generated/google/apis/compute_alpha/classes.rb +1139 -284
  76. data/generated/google/apis/compute_alpha/representations.rb +304 -1
  77. data/generated/google/apis/compute_alpha/service.rb +935 -23
  78. data/generated/google/apis/compute_beta.rb +1 -1
  79. data/generated/google/apis/compute_beta/classes.rb +554 -98
  80. data/generated/google/apis/compute_beta/representations.rb +117 -0
  81. data/generated/google/apis/compute_beta/service.rb +63 -19
  82. data/generated/google/apis/compute_v1.rb +1 -1
  83. data/generated/google/apis/compute_v1/classes.rb +1187 -165
  84. data/generated/google/apis/compute_v1/representations.rb +402 -0
  85. data/generated/google/apis/compute_v1/service.rb +832 -12
  86. data/generated/google/apis/container_v1.rb +1 -1
  87. data/generated/google/apis/container_v1/classes.rb +36 -0
  88. data/generated/google/apis/container_v1/representations.rb +16 -0
  89. data/generated/google/apis/container_v1beta1.rb +1 -1
  90. data/generated/google/apis/container_v1beta1/classes.rb +153 -0
  91. data/generated/google/apis/container_v1beta1/representations.rb +77 -0
  92. data/generated/google/apis/content_v2.rb +1 -1
  93. data/generated/google/apis/content_v2/classes.rb +93 -2
  94. data/generated/google/apis/content_v2/representations.rb +37 -0
  95. data/generated/google/apis/content_v2_1.rb +1 -1
  96. data/generated/google/apis/content_v2_1/classes.rb +86 -2
  97. data/generated/google/apis/content_v2_1/representations.rb +36 -0
  98. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  99. data/generated/google/apis/dataflow_v1b3/classes.rb +21 -106
  100. data/generated/google/apis/dataflow_v1b3/representations.rb +3 -58
  101. data/generated/google/apis/dataflow_v1b3/service.rb +0 -327
  102. data/generated/google/apis/dataproc_v1.rb +1 -1
  103. data/generated/google/apis/dataproc_v1/classes.rb +7 -0
  104. data/generated/google/apis/dataproc_v1/representations.rb +1 -0
  105. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  106. data/generated/google/apis/dataproc_v1beta2/classes.rb +7 -0
  107. data/generated/google/apis/dataproc_v1beta2/representations.rb +1 -0
  108. data/generated/google/apis/datastore_v1.rb +1 -1
  109. data/generated/google/apis/datastore_v1/classes.rb +9 -75
  110. data/generated/google/apis/datastore_v1beta1.rb +1 -1
  111. data/generated/google/apis/datastore_v1beta1/classes.rb +9 -75
  112. data/generated/google/apis/dfareporting_v3_1.rb +1 -1
  113. data/generated/google/apis/dfareporting_v3_1/classes.rb +42 -302
  114. data/generated/google/apis/dfareporting_v3_1/representations.rb +8 -84
  115. data/generated/google/apis/dfareporting_v3_1/service.rb +5 -107
  116. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  117. data/generated/google/apis/dialogflow_v2beta1/classes.rb +118 -0
  118. data/generated/google/apis/dialogflow_v2beta1/representations.rb +70 -0
  119. data/generated/google/apis/dialogflow_v2beta1/service.rb +75 -0
  120. data/generated/google/apis/dlp_v2.rb +1 -1
  121. data/generated/google/apis/dlp_v2/classes.rb +42 -0
  122. data/generated/google/apis/dlp_v2/representations.rb +16 -0
  123. data/generated/google/apis/dlp_v2/service.rb +125 -1
  124. data/generated/google/apis/docs_v1.rb +1 -1
  125. data/generated/google/apis/docs_v1/classes.rb +128 -0
  126. data/generated/google/apis/docs_v1/representations.rb +49 -0
  127. data/generated/google/apis/{appstate_v1.rb → domainsrdap_v1.rb} +8 -11
  128. data/generated/google/apis/domainsrdap_v1/classes.rb +269 -0
  129. data/generated/google/apis/{appstate_v1 → domainsrdap_v1}/representations.rb +33 -22
  130. data/generated/google/apis/domainsrdap_v1/service.rb +350 -0
  131. data/generated/google/apis/drive_v2.rb +1 -1
  132. data/generated/google/apis/drive_v2/classes.rb +10 -1
  133. data/generated/google/apis/drive_v2/representations.rb +1 -0
  134. data/generated/google/apis/drive_v3.rb +1 -1
  135. data/generated/google/apis/drive_v3/classes.rb +10 -1
  136. data/generated/google/apis/drive_v3/representations.rb +1 -0
  137. data/generated/google/apis/driveactivity_v2.rb +1 -1
  138. data/generated/google/apis/firestore_v1.rb +1 -1
  139. data/generated/google/apis/firestore_v1/classes.rb +21 -130
  140. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  141. data/generated/google/apis/firestore_v1beta1/classes.rb +16 -122
  142. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  143. data/generated/google/apis/firestore_v1beta2/classes.rb +14 -83
  144. data/generated/google/apis/healthcare_v1alpha2.rb +1 -1
  145. data/generated/google/apis/healthcare_v1alpha2/classes.rb +94 -48
  146. data/generated/google/apis/healthcare_v1alpha2/representations.rb +16 -0
  147. data/generated/google/apis/healthcare_v1alpha2/service.rb +117 -75
  148. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  149. data/generated/google/apis/healthcare_v1beta1/classes.rb +56 -2
  150. data/generated/google/apis/healthcare_v1beta1/representations.rb +17 -0
  151. data/generated/google/apis/healthcare_v1beta1/service.rb +10 -5
  152. data/generated/google/apis/homegraph_v1.rb +31 -0
  153. data/generated/google/apis/homegraph_v1/classes.rb +692 -0
  154. data/generated/google/apis/homegraph_v1/representations.rb +323 -0
  155. data/generated/google/apis/homegraph_v1/service.rb +255 -0
  156. data/generated/google/apis/logging_v2.rb +1 -1
  157. data/generated/google/apis/logging_v2/classes.rb +8 -7
  158. data/generated/google/apis/logging_v2/service.rb +40 -35
  159. data/generated/google/apis/ml_v1.rb +1 -1
  160. data/generated/google/apis/monitoring_v3.rb +1 -1
  161. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  162. data/generated/google/apis/pubsub_v1.rb +1 -1
  163. data/generated/google/apis/pubsub_v1/classes.rb +6 -1
  164. data/generated/google/apis/pubsub_v1/service.rb +15 -9
  165. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  166. data/generated/google/apis/pubsub_v1beta2/classes.rb +6 -1
  167. data/generated/google/apis/pubsub_v1beta2/service.rb +10 -6
  168. data/generated/google/apis/run_v1alpha1.rb +1 -1
  169. data/generated/google/apis/run_v1alpha1/classes.rb +26 -6
  170. data/generated/google/apis/run_v1alpha1/representations.rb +1 -0
  171. data/generated/google/apis/run_v1alpha1/service.rb +5 -3
  172. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  173. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +6 -1
  174. data/generated/google/apis/runtimeconfig_v1beta1/service.rb +5 -3
  175. data/generated/google/apis/script_v1.rb +1 -1
  176. data/generated/google/apis/script_v1/service.rb +6 -5
  177. data/generated/google/apis/securitycenter_v1.rb +1 -1
  178. data/generated/google/apis/securitycenter_v1/classes.rb +11 -4
  179. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  180. data/generated/google/apis/securitycenter_v1beta1/classes.rb +11 -4
  181. data/generated/google/apis/servicebroker_v1.rb +1 -1
  182. data/generated/google/apis/servicebroker_v1/classes.rb +6 -1
  183. data/generated/google/apis/servicebroker_v1/service.rb +5 -3
  184. data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
  185. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +6 -1
  186. data/generated/google/apis/servicebroker_v1alpha1/service.rb +5 -3
  187. data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
  188. data/generated/google/apis/servicebroker_v1beta1/classes.rb +6 -1
  189. data/generated/google/apis/servicebroker_v1beta1/service.rb +5 -3
  190. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  191. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +1 -4
  192. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  193. data/generated/google/apis/servicemanagement_v1/classes.rb +11 -4
  194. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  195. data/generated/google/apis/servicenetworking_v1/classes.rb +1 -4
  196. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  197. data/generated/google/apis/servicenetworking_v1beta/classes.rb +1 -4
  198. data/generated/google/apis/serviceusage_v1.rb +1 -1
  199. data/generated/google/apis/serviceusage_v1/classes.rb +30 -4
  200. data/generated/google/apis/serviceusage_v1/representations.rb +14 -0
  201. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  202. data/generated/google/apis/serviceusage_v1beta1/classes.rb +30 -4
  203. data/generated/google/apis/serviceusage_v1beta1/representations.rb +14 -0
  204. data/generated/google/apis/slides_v1.rb +1 -1
  205. data/generated/google/apis/slides_v1/classes.rb +1 -1
  206. data/generated/google/apis/speech_v1.rb +1 -1
  207. data/generated/google/apis/speech_v1/classes.rb +9 -7
  208. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  209. data/generated/google/apis/speech_v1p1beta1/classes.rb +17 -15
  210. data/generated/google/apis/speech_v2beta.rb +1 -1
  211. data/generated/google/apis/speech_v2beta/classes.rb +3 -3
  212. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  213. data/generated/google/apis/sqladmin_v1beta4/classes.rb +72 -0
  214. data/generated/google/apis/sqladmin_v1beta4/representations.rb +35 -0
  215. data/generated/google/apis/sqladmin_v1beta4/service.rb +2 -1
  216. data/generated/google/apis/storage_v1.rb +1 -1
  217. data/generated/google/apis/storage_v1/classes.rb +7 -1
  218. data/generated/google/apis/storage_v1/representations.rb +2 -2
  219. data/generated/google/apis/storage_v1/service.rb +6 -1
  220. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  221. data/generated/google/apis/storagetransfer_v1/service.rb +1 -9
  222. data/generated/google/apis/testing_v1.rb +1 -1
  223. data/generated/google/apis/testing_v1/classes.rb +19 -0
  224. data/generated/google/apis/testing_v1/representations.rb +3 -0
  225. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  226. data/generated/google/apis/toolresults_v1beta3/classes.rb +1 -0
  227. data/generated/google/apis/translate_v3beta1.rb +1 -1
  228. data/generated/google/apis/translate_v3beta1/classes.rb +33 -0
  229. data/generated/google/apis/translate_v3beta1/representations.rb +3 -0
  230. data/generated/google/apis/verifiedaccess_v1.rb +35 -0
  231. data/generated/google/apis/verifiedaccess_v1/classes.rb +174 -0
  232. data/generated/google/apis/verifiedaccess_v1/representations.rb +99 -0
  233. data/generated/google/apis/verifiedaccess_v1/service.rb +120 -0
  234. data/generated/google/apis/vision_v1.rb +1 -1
  235. data/generated/google/apis/vision_v1/classes.rb +204 -2375
  236. data/generated/google/apis/vision_v1/representations.rb +701 -1634
  237. data/generated/google/apis/vision_v1/service.rb +17 -17
  238. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  239. data/generated/google/apis/vision_v1p1beta1/classes.rb +135 -2306
  240. data/generated/google/apis/vision_v1p1beta1/representations.rb +768 -1701
  241. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  242. data/generated/google/apis/vision_v1p2beta1/classes.rb +326 -2161
  243. data/generated/google/apis/vision_v1p2beta1/representations.rb +897 -1710
  244. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  245. data/generated/google/apis/youtube_v3.rb +1 -1
  246. data/generated/google/apis/youtube_v3/classes.rb +8 -2
  247. data/generated/google/apis/youtube_v3/representations.rb +1 -0
  248. data/lib/google/apis/version.rb +1 -1
  249. metadata +22 -6
  250. data/generated/google/apis/appstate_v1/classes.rb +0 -154
  251. data/generated/google/apis/appstate_v1/service.rb +0 -249
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeBeta
27
27
  VERSION = 'Beta'
28
- REVISION = '20190624'
28
+ REVISION = '20190815'
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'
@@ -1135,12 +1135,12 @@ module Google
1135
1135
  class AllocationSpecificSkuReservation
1136
1136
  include Google::Apis::Core::Hashable
1137
1137
 
1138
- # Specifies number of resources that are allocated.
1138
+ # Specifies the number of resources that are allocated.
1139
1139
  # Corresponds to the JSON property `count`
1140
1140
  # @return [Fixnum]
1141
1141
  attr_accessor :count
1142
1142
 
1143
- # [OutputOnly] Indicates how many resource are in use.
1143
+ # [OutputOnly] Indicates how many instances are in use.
1144
1144
  # Corresponds to the JSON property `inUseCount`
1145
1145
  # @return [Fixnum]
1146
1146
  attr_accessor :in_use_count
@@ -1305,7 +1305,9 @@ module Google
1305
1305
  # @return [String]
1306
1306
  attr_accessor :disk_name
1307
1307
 
1308
- # Specifies the size of the disk in base-2 GB.
1308
+ # Specifies the size of the disk in base-2 GB. If not specified, the disk will
1309
+ # be the same size as the image (usually 10GB). If specified, the size must be
1310
+ # equal to or larger than 10GB.
1309
1311
  # Corresponds to the JSON property `diskSizeGb`
1310
1312
  # @return [Fixnum]
1311
1313
  attr_accessor :disk_size_gb
@@ -1418,14 +1420,14 @@ module Google
1418
1420
  # AuditLogConfig are exempted.
1419
1421
  # Example Policy with multiple AuditConfigs:
1420
1422
  # ` "audit_configs": [ ` "service": "allServices" "audit_log_configs": [ ` "
1421
- # log_type": "DATA_READ", "exempted_members": [ "user:foo@gmail.com" ] `, ` "
1423
+ # log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] `, ` "
1422
1424
  # log_type": "DATA_WRITE", `, ` "log_type": "ADMIN_READ", ` ] `, ` "service": "
1423
- # fooservice.googleapis.com" "audit_log_configs": [ ` "log_type": "DATA_READ", `,
1424
- # ` "log_type": "DATA_WRITE", "exempted_members": [ "user:bar@gmail.com" ] ` ] `
1425
- # ] `
1426
- # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
1427
- # logging. It also exempts foo@gmail.com from DATA_READ logging, and bar@gmail.
1428
- # com from DATA_WRITE logging.
1425
+ # sampleservice.googleapis.com" "audit_log_configs": [ ` "log_type": "DATA_READ",
1426
+ # `, ` "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com"
1427
+ # ] ` ] ` ] `
1428
+ # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
1429
+ # logging. It also exempts jose@example.com from DATA_READ logging, and aliya@
1430
+ # example.com from DATA_WRITE logging.
1429
1431
  class AuditConfig
1430
1432
  include Google::Apis::Core::Hashable
1431
1433
 
@@ -1460,9 +1462,9 @@ module Google
1460
1462
 
1461
1463
  # Provides the configuration for logging a type of permissions. Example:
1462
1464
  # ` "audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "
1463
- # user:foo@gmail.com" ] `, ` "log_type": "DATA_WRITE", ` ] `
1464
- # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting foo@gmail.
1465
- # com from DATA_READ logging.
1465
+ # user:jose@example.com" ] `, ` "log_type": "DATA_WRITE", ` ] `
1466
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@
1467
+ # example.com from DATA_READ logging.
1466
1468
  class AuditLogConfig
1467
1469
  include Google::Apis::Core::Hashable
1468
1470
 
@@ -1472,6 +1474,13 @@ module Google
1472
1474
  # @return [Array<String>]
1473
1475
  attr_accessor :exempted_members
1474
1476
 
1477
+ # Specifies whether principals can be exempted for the same LogType in lower-
1478
+ # level resource policies. If true, any lower-level exemptions will be ignored.
1479
+ # Corresponds to the JSON property `ignoreChildExemptions`
1480
+ # @return [Boolean]
1481
+ attr_accessor :ignore_child_exemptions
1482
+ alias_method :ignore_child_exemptions?, :ignore_child_exemptions
1483
+
1475
1484
  # The log type that this config enables.
1476
1485
  # Corresponds to the JSON property `logType`
1477
1486
  # @return [String]
@@ -1484,6 +1493,7 @@ module Google
1484
1493
  # Update properties of this object
1485
1494
  def update!(**args)
1486
1495
  @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1496
+ @ignore_child_exemptions = args[:ignore_child_exemptions] if args.key?(:ignore_child_exemptions)
1487
1497
  @log_type = args[:log_type] if args.key?(:log_type)
1488
1498
  end
1489
1499
  end
@@ -2168,8 +2178,8 @@ module Google
2168
2178
  #
2169
2179
  # - If the load balancing mode is CONNECTION, then the load is spread based on
2170
2180
  # how many concurrent connections the backend can handle.
2171
- # The CONNECTION balancing mode is only available if the protocol for the
2172
- # backend service is SSL, TCP, or UDP.
2181
+ # You can use the CONNECTION balancing mode if the protocol for the backend
2182
+ # service is SSL, TCP, or UDP.
2173
2183
  # If the loadBalancingScheme for the backend service is EXTERNAL (SSL Proxy and
2174
2184
  # TCP Proxy load balancers), you must also specify exactly one of the following
2175
2185
  # parameters: maxConnections, maxConnectionsPerInstance, or
@@ -2177,18 +2187,18 @@ module Google
2177
2187
  # If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/
2178
2188
  # UDP load balancers), you cannot specify any additional parameters.
2179
2189
  #
2180
- # - If the load balancing mode is RATE, then the load is spread based on the
2181
- # rate of HTTP requests per second (RPS).
2182
- # The RATE balancing mode is only available if the protocol for the backend
2183
- # service is HTTP or HTTPS. You must specify exactly one of the following
2184
- # parameters: maxRate, maxRatePerInstance, or maxRatePerEndpoint.
2190
+ # - If the load balancing mode is RATE, the load is spread based on the rate of
2191
+ # HTTP requests per second (RPS).
2192
+ # You can use the RATE balancing mode if the protocol for the backend service is
2193
+ # HTTP or HTTPS. You must specify exactly one of the following parameters:
2194
+ # maxRate, maxRatePerInstance, or maxRatePerEndpoint.
2185
2195
  #
2186
- # - If the load balancing mode is UTILIZATION, then the load is spread based on
2187
- # the CPU utilization of instances in an instance group.
2188
- # The UTILIZATION balancing mode is only available if the loadBalancingScheme of
2189
- # the backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED
2190
- # and the backend is made up of instance groups. There are no restrictions on
2191
- # the backend service protocol.
2196
+ # - If the load balancing mode is UTILIZATION, the load is spread based on the
2197
+ # CPU utilization of instances in an instance group.
2198
+ # You can use the UTILIZATION balancing mode if the loadBalancingScheme of the
2199
+ # backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and
2200
+ # the backends are instance groups. There are no restrictions on the backend
2201
+ # service protocol.
2192
2202
  # Corresponds to the JSON property `balancingMode`
2193
2203
  # @return [String]
2194
2204
  attr_accessor :balancing_mode
@@ -2723,6 +2733,12 @@ module Google
2723
2733
  # @return [String]
2724
2734
  attr_accessor :name
2725
2735
 
2736
+ # The URL of the network to which this backend service belongs. This field can
2737
+ # only be spcified when the load balancing scheme is set to INTERNAL.
2738
+ # Corresponds to the JSON property `network`
2739
+ # @return [String]
2740
+ attr_accessor :network
2741
+
2726
2742
  # Settings controlling eviction of unhealthy hosts from the load balancing pool.
2727
2743
  # Corresponds to the JSON property `outlierDetection`
2728
2744
  # @return [Google::Apis::ComputeBeta::OutlierDetection]
@@ -2777,8 +2793,8 @@ module Google
2777
2793
  # Type of session affinity to use. The default is NONE. Session affinity is not
2778
2794
  # applicable if the --protocol is UDP.
2779
2795
  # When the loadBalancingScheme is EXTERNAL, possible values are NONE, CLIENT_IP,
2780
- # or GENERATED_COOKIE. GENERATED_COOKIE is only available if the protocol is
2781
- # HTTP or HTTPS.
2796
+ # or GENERATED_COOKIE. You can use GENERATED_COOKIE if the protocol is HTTP or
2797
+ # HTTPS.
2782
2798
  # When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP,
2783
2799
  # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
2784
2800
  # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, possible values are
@@ -2820,6 +2836,7 @@ module Google
2820
2836
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
2821
2837
  @log_config = args[:log_config] if args.key?(:log_config)
2822
2838
  @name = args[:name] if args.key?(:name)
2839
+ @network = args[:network] if args.key?(:network)
2823
2840
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
2824
2841
  @port = args[:port] if args.key?(:port)
2825
2842
  @port_name = args[:port_name] if args.key?(:port_name)
@@ -3355,6 +3372,255 @@ module Google
3355
3372
  end
3356
3373
  end
3357
3374
 
3375
+ #
3376
+ class BfdPacket
3377
+ include Google::Apis::Core::Hashable
3378
+
3379
+ # The Authentication Present bit of the BFD packet. This is specified in section
3380
+ # 4.1 of RFC5880
3381
+ # Corresponds to the JSON property `authenticationPresent`
3382
+ # @return [Boolean]
3383
+ attr_accessor :authentication_present
3384
+ alias_method :authentication_present?, :authentication_present
3385
+
3386
+ # The Control Plane Independent bit of the BFD packet. This is specified in
3387
+ # section 4.1 of RFC5880
3388
+ # Corresponds to the JSON property `controlPlaneIndependent`
3389
+ # @return [Boolean]
3390
+ attr_accessor :control_plane_independent
3391
+ alias_method :control_plane_independent?, :control_plane_independent
3392
+
3393
+ # The demand bit of the BFD packet. This is specified in section 4.1 of RFC5880
3394
+ # Corresponds to the JSON property `demand`
3395
+ # @return [Boolean]
3396
+ attr_accessor :demand
3397
+ alias_method :demand?, :demand
3398
+
3399
+ # The diagnostic code specifies the local system's reason for the last change in
3400
+ # session state. This allows remote systems to determine the reason that the
3401
+ # previous session failed, for example. These diagnostic codes are specified in
3402
+ # section 4.1 of RFC5880
3403
+ # Corresponds to the JSON property `diagnostic`
3404
+ # @return [String]
3405
+ attr_accessor :diagnostic
3406
+
3407
+ # The Final bit of the BFD packet. This is specified in section 4.1 of RFC5880
3408
+ # Corresponds to the JSON property `final`
3409
+ # @return [Boolean]
3410
+ attr_accessor :final
3411
+ alias_method :final?, :final
3412
+
3413
+ # The length of the BFD Control packet in bytes. This is specified in section 4.
3414
+ # 1 of RFC5880
3415
+ # Corresponds to the JSON property `length`
3416
+ # @return [Fixnum]
3417
+ attr_accessor :length
3418
+
3419
+ # The Required Min Echo RX Interval value in the BFD packet. This is specified
3420
+ # in section 4.1 of RFC5880
3421
+ # Corresponds to the JSON property `minEchoRxIntervalMs`
3422
+ # @return [Fixnum]
3423
+ attr_accessor :min_echo_rx_interval_ms
3424
+
3425
+ # The Required Min RX Interval value in the BFD packet. This is specified in
3426
+ # section 4.1 of RFC5880
3427
+ # Corresponds to the JSON property `minRxIntervalMs`
3428
+ # @return [Fixnum]
3429
+ attr_accessor :min_rx_interval_ms
3430
+
3431
+ # The Desired Min TX Interval value in the BFD packet. This is specified in
3432
+ # section 4.1 of RFC5880
3433
+ # Corresponds to the JSON property `minTxIntervalMs`
3434
+ # @return [Fixnum]
3435
+ attr_accessor :min_tx_interval_ms
3436
+
3437
+ # The detection time multiplier of the BFD packet. This is specified in section
3438
+ # 4.1 of RFC5880
3439
+ # Corresponds to the JSON property `multiplier`
3440
+ # @return [Fixnum]
3441
+ attr_accessor :multiplier
3442
+
3443
+ # The multipoint bit of the BFD packet. This is specified in section 4.1 of
3444
+ # RFC5880
3445
+ # Corresponds to the JSON property `multipoint`
3446
+ # @return [Boolean]
3447
+ attr_accessor :multipoint
3448
+ alias_method :multipoint?, :multipoint
3449
+
3450
+ # The My Discriminator value in the BFD packet. This is specified in section 4.1
3451
+ # of RFC5880
3452
+ # Corresponds to the JSON property `myDiscriminator`
3453
+ # @return [Fixnum]
3454
+ attr_accessor :my_discriminator
3455
+
3456
+ # The Poll bit of the BFD packet. This is specified in section 4.1 of RFC5880
3457
+ # Corresponds to the JSON property `poll`
3458
+ # @return [Boolean]
3459
+ attr_accessor :poll
3460
+ alias_method :poll?, :poll
3461
+
3462
+ # The current BFD session state as seen by the transmitting system. These states
3463
+ # are specified in section 4.1 of RFC5880
3464
+ # Corresponds to the JSON property `state`
3465
+ # @return [String]
3466
+ attr_accessor :state
3467
+
3468
+ # The version number of the BFD protocol, as specified in section 4.1 of RFC5880.
3469
+ # Corresponds to the JSON property `version`
3470
+ # @return [Fixnum]
3471
+ attr_accessor :version
3472
+
3473
+ # The Your Discriminator value in the BFD packet. This is specified in section 4.
3474
+ # 1 of RFC5880
3475
+ # Corresponds to the JSON property `yourDiscriminator`
3476
+ # @return [Fixnum]
3477
+ attr_accessor :your_discriminator
3478
+
3479
+ def initialize(**args)
3480
+ update!(**args)
3481
+ end
3482
+
3483
+ # Update properties of this object
3484
+ def update!(**args)
3485
+ @authentication_present = args[:authentication_present] if args.key?(:authentication_present)
3486
+ @control_plane_independent = args[:control_plane_independent] if args.key?(:control_plane_independent)
3487
+ @demand = args[:demand] if args.key?(:demand)
3488
+ @diagnostic = args[:diagnostic] if args.key?(:diagnostic)
3489
+ @final = args[:final] if args.key?(:final)
3490
+ @length = args[:length] if args.key?(:length)
3491
+ @min_echo_rx_interval_ms = args[:min_echo_rx_interval_ms] if args.key?(:min_echo_rx_interval_ms)
3492
+ @min_rx_interval_ms = args[:min_rx_interval_ms] if args.key?(:min_rx_interval_ms)
3493
+ @min_tx_interval_ms = args[:min_tx_interval_ms] if args.key?(:min_tx_interval_ms)
3494
+ @multiplier = args[:multiplier] if args.key?(:multiplier)
3495
+ @multipoint = args[:multipoint] if args.key?(:multipoint)
3496
+ @my_discriminator = args[:my_discriminator] if args.key?(:my_discriminator)
3497
+ @poll = args[:poll] if args.key?(:poll)
3498
+ @state = args[:state] if args.key?(:state)
3499
+ @version = args[:version] if args.key?(:version)
3500
+ @your_discriminator = args[:your_discriminator] if args.key?(:your_discriminator)
3501
+ end
3502
+ end
3503
+
3504
+ # Next free: 15
3505
+ class BfdStatus
3506
+ include Google::Apis::Core::Hashable
3507
+
3508
+ # The BFD session initialization mode for this BGP peer. If set to ACTIVE, the
3509
+ # Cloud Router will initiate the BFD session for this BGP peer. If set to
3510
+ # PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD
3511
+ # session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP
3512
+ # peer.
3513
+ # Corresponds to the JSON property `bfdSessionInitializationMode`
3514
+ # @return [String]
3515
+ attr_accessor :bfd_session_initialization_mode
3516
+
3517
+ # Unix timestamp of the most recent config update.
3518
+ # Corresponds to the JSON property `configUpdateTimestampMicros`
3519
+ # @return [Fixnum]
3520
+ attr_accessor :config_update_timestamp_micros
3521
+
3522
+ # Control packet counts for the current BFD session.
3523
+ # Corresponds to the JSON property `controlPacketCounts`
3524
+ # @return [Google::Apis::ComputeBeta::BfdStatusPacketCounts]
3525
+ attr_accessor :control_packet_counts
3526
+
3527
+ # Inter-packet time interval statistics for control packets.
3528
+ # Corresponds to the JSON property `controlPacketIntervals`
3529
+ # @return [Array<Google::Apis::ComputeBeta::PacketIntervals>]
3530
+ attr_accessor :control_packet_intervals
3531
+
3532
+ # The diagnostic code specifies the local system's reason for the last change in
3533
+ # session state. This allows remote systems to determine the reason that the
3534
+ # previous session failed, for example. These diagnostic codes are specified in
3535
+ # section 4.1 of RFC5880
3536
+ # Corresponds to the JSON property `localDiagnostic`
3537
+ # @return [String]
3538
+ attr_accessor :local_diagnostic
3539
+
3540
+ # The current BFD session state as seen by the transmitting system. These states
3541
+ # are specified in section 4.1 of RFC5880
3542
+ # Corresponds to the JSON property `localState`
3543
+ # @return [String]
3544
+ attr_accessor :local_state
3545
+
3546
+ # Negotiated transmit interval for control packets.
3547
+ # Corresponds to the JSON property `negotiatedLocalControlTxIntervalMs`
3548
+ # @return [Fixnum]
3549
+ attr_accessor :negotiated_local_control_tx_interval_ms
3550
+
3551
+ #
3552
+ # Corresponds to the JSON property `rxPacket`
3553
+ # @return [Google::Apis::ComputeBeta::BfdPacket]
3554
+ attr_accessor :rx_packet
3555
+
3556
+ #
3557
+ # Corresponds to the JSON property `txPacket`
3558
+ # @return [Google::Apis::ComputeBeta::BfdPacket]
3559
+ attr_accessor :tx_packet
3560
+
3561
+ # Session uptime in milliseconds. Value will be 0 if session is not up.
3562
+ # Corresponds to the JSON property `uptimeMs`
3563
+ # @return [Fixnum]
3564
+ attr_accessor :uptime_ms
3565
+
3566
+ def initialize(**args)
3567
+ update!(**args)
3568
+ end
3569
+
3570
+ # Update properties of this object
3571
+ def update!(**args)
3572
+ @bfd_session_initialization_mode = args[:bfd_session_initialization_mode] if args.key?(:bfd_session_initialization_mode)
3573
+ @config_update_timestamp_micros = args[:config_update_timestamp_micros] if args.key?(:config_update_timestamp_micros)
3574
+ @control_packet_counts = args[:control_packet_counts] if args.key?(:control_packet_counts)
3575
+ @control_packet_intervals = args[:control_packet_intervals] if args.key?(:control_packet_intervals)
3576
+ @local_diagnostic = args[:local_diagnostic] if args.key?(:local_diagnostic)
3577
+ @local_state = args[:local_state] if args.key?(:local_state)
3578
+ @negotiated_local_control_tx_interval_ms = args[:negotiated_local_control_tx_interval_ms] if args.key?(:negotiated_local_control_tx_interval_ms)
3579
+ @rx_packet = args[:rx_packet] if args.key?(:rx_packet)
3580
+ @tx_packet = args[:tx_packet] if args.key?(:tx_packet)
3581
+ @uptime_ms = args[:uptime_ms] if args.key?(:uptime_ms)
3582
+ end
3583
+ end
3584
+
3585
+ #
3586
+ class BfdStatusPacketCounts
3587
+ include Google::Apis::Core::Hashable
3588
+
3589
+ # Number of packets received since the beginning of the current BFD session.
3590
+ # Corresponds to the JSON property `numRx`
3591
+ # @return [Fixnum]
3592
+ attr_accessor :num_rx
3593
+
3594
+ # Number of packets received that were rejected because of errors since the
3595
+ # beginning of the current BFD session.
3596
+ # Corresponds to the JSON property `numRxRejected`
3597
+ # @return [Fixnum]
3598
+ attr_accessor :num_rx_rejected
3599
+
3600
+ # Number of packets received that were successfully processed since the
3601
+ # beginning of the current BFD session.
3602
+ # Corresponds to the JSON property `numRxSuccessful`
3603
+ # @return [Fixnum]
3604
+ attr_accessor :num_rx_successful
3605
+
3606
+ # Number of packets transmitted since the beginning of the current BFD session.
3607
+ # Corresponds to the JSON property `numTx`
3608
+ # @return [Fixnum]
3609
+ attr_accessor :num_tx
3610
+
3611
+ def initialize(**args)
3612
+ update!(**args)
3613
+ end
3614
+
3615
+ # Update properties of this object
3616
+ def update!(**args)
3617
+ @num_rx = args[:num_rx] if args.key?(:num_rx)
3618
+ @num_rx_rejected = args[:num_rx_rejected] if args.key?(:num_rx_rejected)
3619
+ @num_rx_successful = args[:num_rx_successful] if args.key?(:num_rx_successful)
3620
+ @num_tx = args[:num_tx] if args.key?(:num_tx)
3621
+ end
3622
+ end
3623
+
3358
3624
  # Associates `members` with a `role`.
3359
3625
  class Binding
3360
3626
  include Google::Apis::Core::Hashable
@@ -3373,7 +3639,7 @@ module Google
3373
3639
  # * `allAuthenticatedUsers`: A special identifier that represents anyone who is
3374
3640
  # authenticated with a Google account or a service account.
3375
3641
  # * `user:`emailid``: An email address that represents a specific Google account.
3376
- # For example, `alice@gmail.com` .
3642
+ # For example, `alice@example.com` .
3377
3643
  # * `serviceAccount:`emailid``: An email address that represents a service
3378
3644
  # account. For example, `my-other-app@appspot.gserviceaccount.com`.
3379
3645
  # * `group:`emailid``: An email address that represents a Google group. For
@@ -3600,7 +3866,7 @@ module Google
3600
3866
  # @return [String]
3601
3867
  attr_accessor :region
3602
3868
 
3603
- # List of reservations for this commitment.
3869
+ # List of reservations in this commitment.
3604
3870
  # Corresponds to the JSON property `reservations`
3605
3871
  # @return [Array<Google::Apis::ComputeBeta::Reservation>]
3606
3872
  attr_accessor :reservations
@@ -4527,7 +4793,9 @@ module Google
4527
4793
  # @return [String]
4528
4794
  attr_accessor :source_snapshot_id
4529
4795
 
4530
- # [Output Only] The status of disk creation.
4796
+ # [Output Only] The status of disk creation. CREATING: Disk is provisioning.
4797
+ # RESTORING: Source data is being copied into the disk. FAILED: Disk creation
4798
+ # failed. READY: Disk is ready for use. DELETING: Disk is deleting.
4531
4799
  # Corresponds to the JSON property `status`
4532
4800
  # @return [String]
4533
4801
  attr_accessor :status
@@ -6509,32 +6777,20 @@ module Google
6509
6777
  class ForwardingRule
6510
6778
  include Google::Apis::Core::Hashable
6511
6779
 
6512
- # The IP address that this forwarding rule is serving on behalf of.
6513
- # Addresses are restricted based on the forwarding rule's load balancing scheme (
6514
- # EXTERNAL or INTERNAL) and scope (global or regional).
6515
- # When the load balancing scheme is EXTERNAL, for global forwarding rules, the
6516
- # address must be a global IP, and for regional forwarding rules, the address
6517
- # must live in the same region as the forwarding rule. If this field is empty,
6518
- # an ephemeral IPv4 address from the same scope (global or regional) will be
6519
- # assigned. A regional forwarding rule supports IPv4 only. A global forwarding
6520
- # rule supports either IPv4 or IPv6.
6521
- # When the load balancing scheme is INTERNAL_SELF_MANAGED, this must be a URL
6522
- # reference to an existing Address resource ( internal regional static IP
6523
- # address), with a purpose of GCE_END_POINT and address_type of INTERNAL.
6524
- # When the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP
6525
- # address belonging to the network/subnet configured for the forwarding rule. By
6526
- # default, if this field is empty, an ephemeral internal IP address will be
6527
- # automatically allocated from the IP range of the subnet or network configured
6528
- # for this forwarding rule.
6529
- # An address can be specified either by a literal IP address or a URL reference
6530
- # to an existing Address resource. The following examples are all valid:
6531
- # - 100.1.2.3
6532
- # - https://www.googleapis.com/compute/v1/projects/project/regions/region/
6533
- # addresses/address
6534
- # - projects/project/regions/region/addresses/address
6535
- # - regions/region/addresses/address
6536
- # - global/addresses/address
6537
- # - address
6780
+ # IP address that this forwarding rule serves. When a client sends traffic to
6781
+ # this IP address, the forwarding rule directs the traffic to the target that
6782
+ # you specify in the forwarding rule.
6783
+ # If you don't specify a reserved IP address, an ephemeral IP address is
6784
+ # assigned. Methods for specifying an IP address:
6785
+ # * IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in https://www.
6786
+ # googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-
6787
+ # name * Partial URL or by name, as in: * projects/project_id/regions/region/
6788
+ # addresses/address-name * regions/region/addresses/address-name * global/
6789
+ # addresses/address-name * address-name
6790
+ # The loadBalancingScheme and the forwarding rule's target determine the type of
6791
+ # IP address that you can use. For detailed information, refer to [IP address
6792
+ # specifications](/load-balancing/docs/forwarding-rule-concepts#
6793
+ # ip_address_specifications).
6538
6794
  # Corresponds to the JSON property `IPAddress`
6539
6795
  # @return [String]
6540
6796
  attr_accessor :ip_address
@@ -6691,13 +6947,23 @@ module Google
6691
6947
  # @return [String]
6692
6948
  attr_accessor :network_tier
6693
6949
 
6694
- # This field is used along with the target field for TargetHttpProxy,
6695
- # TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool,
6696
- # TargetInstance.
6697
- # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed
6698
- # to ports in the specified range will be forwarded to target. Forwarding rules
6699
- # with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
6700
- # Some types of forwarding target have constraints on the acceptable ports:
6950
+ # This field is deprecated. See the port
6951
+ # field.
6952
+ # Corresponds to the JSON property `portRange`
6953
+ # @return [String]
6954
+ attr_accessor :port_range
6955
+
6956
+ # List of comma-separated ports. The forwarding rule forwards packets with
6957
+ # matching destination ports. If the forwarding rule's loadBalancingScheme is
6958
+ # EXTERNAL, and the forwarding rule references a target pool, specifying ports
6959
+ # is optional. You can specify an unlimited number of ports, but they must be
6960
+ # contiguous. If you omit ports, GCP forwards traffic on any port of the
6961
+ # forwarding rule's protocol.
6962
+ # If the forwarding rule's loadBalancingScheme is EXTERNAL, and the forwarding
6963
+ # rule references a target HTTP proxy, target HTTPS proxy, target TCP proxy,
6964
+ # target SSL proxy, or target VPN gateway, you must specify ports using the
6965
+ # following constraints:
6966
+ #
6701
6967
  # - TargetHttpProxy: 80, 8080
6702
6968
  # - TargetHttpsProxy: 443
6703
6969
  # - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
@@ -6705,16 +6971,16 @@ module Google
6705
6971
  # - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
6706
6972
  # 1883, 5222
6707
6973
  # - TargetVpnGateway: 500, 4500
6708
- # Corresponds to the JSON property `portRange`
6709
- # @return [String]
6710
- attr_accessor :port_range
6711
-
6712
- # This field is used along with the backend_service field for internal load
6713
- # balancing.
6714
- # When the load balancing scheme is INTERNAL, a list of ports can be configured,
6715
- # for example, ['80'], ['8000','9000'] etc. Only packets addressed to these
6716
- # ports will be forwarded to the backends configured with this forwarding rule.
6717
- # You may specify a maximum of up to 5 ports.
6974
+ # If the forwarding rule's loadBalancingScheme is INTERNAL, you must specify
6975
+ # ports in one of the following ways:
6976
+ # * A list of up to five ports, which can be non-contiguous * Keyword ALL, which
6977
+ # causes the forwarding rule to forward traffic on any port of the forwarding
6978
+ # rule's protocol.
6979
+ # The ports field is used along with the target field for TargetHttpProxy,
6980
+ # TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool,
6981
+ # TargetInstance.
6982
+ # Applicable only when IPProtocol is TCP, UDP, or SCTP. Forwarding rules with
6983
+ # the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
6718
6984
  # Corresponds to the JSON property `ports`
6719
6985
  # @return [Array<String>]
6720
6986
  attr_accessor :ports
@@ -6733,7 +6999,7 @@ module Google
6733
6999
  attr_accessor :self_link
6734
7000
 
6735
7001
  # An optional prefix to the service name for this Forwarding Rule. If specified,
6736
- # will be the first label of the fully qualified service name.
7002
+ # the prefix is the first label of the fully qualified service name.
6737
7003
  # The label must be 1-63 characters long, and comply with RFC1035. Specifically,
6738
7004
  # the label must be 1-63 characters long and match the regular expression `[a-z](
6739
7005
  # [-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase
@@ -9477,7 +9743,8 @@ module Google
9477
9743
  # @return [String]
9478
9744
  attr_accessor :status
9479
9745
 
9480
- # GCS bucket storage location of the image (regional or multi-regional).
9746
+ # Cloud Storage bucket storage location of the image (regional or multi-regional)
9747
+ # .
9481
9748
  # Corresponds to the JSON property `storageLocations`
9482
9749
  # @return [Array<String>]
9483
9750
  attr_accessor :storage_locations
@@ -9725,7 +9992,10 @@ module Google
9725
9992
  # @return [Array<Google::Apis::ComputeBeta::AcceleratorConfig>]
9726
9993
  attr_accessor :guest_accelerators
9727
9994
 
9728
- #
9995
+ # Specifies the hostname of the instance. The specified hostname must be RFC1035
9996
+ # compliant. If hostname is not specified, the default hostname is [
9997
+ # INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [
9998
+ # INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.
9729
9999
  # Corresponds to the JSON property `hostname`
9730
10000
  # @return [String]
9731
10001
  attr_accessor :hostname
@@ -11058,7 +11328,11 @@ module Google
11058
11328
  class InstanceGroupManagerUpdatePolicy
11059
11329
  include Google::Apis::Core::Hashable
11060
11330
 
11061
- #
11331
+ # The instance redistribution policy for regional managed instance groups.
11332
+ # Valid values are:
11333
+ # - PROACTIVE (default): The group attempts to maintain an even distribution of
11334
+ # VM instances across zones in the region.
11335
+ # - NONE: For non-autoscaled groups, proactive redistribution is disabled.
11062
11336
  # Corresponds to the JSON property `instanceRedistributionType`
11063
11337
  # @return [String]
11064
11338
  attr_accessor :instance_redistribution_type
@@ -12969,6 +13243,8 @@ module Google
12969
13243
  # - BPS_2G: 2 Gbit/s
12970
13244
  # - BPS_5G: 5 Gbit/s
12971
13245
  # - BPS_10G: 10 Gbit/s
13246
+ # - BPS_20G: 20 Gbit/s
13247
+ # - BPS_50G: 50 Gbit/s
12972
13248
  # Corresponds to the JSON property `bandwidth`
12973
13249
  # @return [String]
12974
13250
  attr_accessor :bandwidth
@@ -15632,9 +15908,10 @@ module Google
15632
15908
  attr_accessor :instance
15633
15909
 
15634
15910
  # Optional IPv4 address of network endpoint. The IP address must belong to a VM
15635
- # in GCE (either the primary IP or as part of an aliased IP range). If the IP
15636
- # address is not specified, then the primary IP address for the VM instance in
15637
- # the network that the network endpoint group belongs to will be used.
15911
+ # in Compute Engine (either the primary IP or as part of an aliased IP range).
15912
+ # If the IP address is not specified, then the primary IP address for the VM
15913
+ # instance in the network that the network endpoint group belongs to will be
15914
+ # used.
15638
15915
  # Corresponds to the JSON property `ipAddress`
15639
15916
  # @return [String]
15640
15917
  attr_accessor :ip_address
@@ -17120,7 +17397,7 @@ module Google
17120
17397
  class NodeGroupsDeleteNodesRequest
17121
17398
  include Google::Apis::Core::Hashable
17122
17399
 
17123
- #
17400
+ # Names of the nodes to delete.
17124
17401
  # Corresponds to the JSON property `nodes`
17125
17402
  # @return [Array<String>]
17126
17403
  attr_accessor :nodes
@@ -18312,7 +18589,7 @@ module Google
18312
18589
  # @return [Fixnum]
18313
18590
  attr_accessor :http_error_status_code
18314
18591
 
18315
- # [Output Only] The unique identifier for the resource. This identifier is
18592
+ # [Output Only] The unique identifier for the operation. This identifier is
18316
18593
  # defined by the server.
18317
18594
  # Corresponds to the JSON property `id`
18318
18595
  # @return [Fixnum]
@@ -18330,7 +18607,7 @@ module Google
18330
18607
  # @return [String]
18331
18608
  attr_accessor :kind
18332
18609
 
18333
- # [Output Only] Name of the resource.
18610
+ # [Output Only] Name of the operation.
18334
18611
  # Corresponds to the JSON property `name`
18335
18612
  # @return [String]
18336
18613
  attr_accessor :name
@@ -18993,6 +19270,55 @@ module Google
18993
19270
  end
18994
19271
  end
18995
19272
 
19273
+ # Next free: 7
19274
+ class PacketIntervals
19275
+ include Google::Apis::Core::Hashable
19276
+
19277
+ # Average observed inter-packet interval in milliseconds.
19278
+ # Corresponds to the JSON property `avgMs`
19279
+ # @return [Fixnum]
19280
+ attr_accessor :avg_ms
19281
+
19282
+ # From how long ago in the past these intervals were observed.
19283
+ # Corresponds to the JSON property `duration`
19284
+ # @return [String]
19285
+ attr_accessor :duration
19286
+
19287
+ # Maximum observed inter-packet interval in milliseconds.
19288
+ # Corresponds to the JSON property `maxMs`
19289
+ # @return [Fixnum]
19290
+ attr_accessor :max_ms
19291
+
19292
+ # Minimum observed inter-packet interval in milliseconds.
19293
+ # Corresponds to the JSON property `minMs`
19294
+ # @return [Fixnum]
19295
+ attr_accessor :min_ms
19296
+
19297
+ # Number of inter-packet intervals from which these statistics were derived.
19298
+ # Corresponds to the JSON property `numIntervals`
19299
+ # @return [Fixnum]
19300
+ attr_accessor :num_intervals
19301
+
19302
+ # The type of packets for which inter-packet intervals were computed.
19303
+ # Corresponds to the JSON property `type`
19304
+ # @return [String]
19305
+ attr_accessor :type
19306
+
19307
+ def initialize(**args)
19308
+ update!(**args)
19309
+ end
19310
+
19311
+ # Update properties of this object
19312
+ def update!(**args)
19313
+ @avg_ms = args[:avg_ms] if args.key?(:avg_ms)
19314
+ @duration = args[:duration] if args.key?(:duration)
19315
+ @max_ms = args[:max_ms] if args.key?(:max_ms)
19316
+ @min_ms = args[:min_ms] if args.key?(:min_ms)
19317
+ @num_intervals = args[:num_intervals] if args.key?(:num_intervals)
19318
+ @type = args[:type] if args.key?(:type)
19319
+ end
19320
+ end
19321
+
18996
19322
  # A matcher for the path portion of the URL. The BackendService from the longest-
18997
19323
  # matched rule will serve the URL. If no rule was matched, the default service
18998
19324
  # will be used.
@@ -19183,7 +19509,7 @@ module Google
19183
19509
  # that etag in the request to `setIamPolicy` to ensure that their change will be
19184
19510
  # applied to the same version of the policy.
19185
19511
  # If no `etag` is provided in the call to `setIamPolicy`, then the existing
19186
- # policy is overwritten blindly.
19512
+ # policy is overwritten.
19187
19513
  # Corresponds to the JSON property `etag`
19188
19514
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
19189
19515
  # @return [String]
@@ -19737,8 +20063,7 @@ module Google
19737
20063
  class RegionCommitmentsUpdateReservationsRequest
19738
20064
  include Google::Apis::Core::Hashable
19739
20065
 
19740
- # List of reservations for the capacity move of VMs with accelerators and local
19741
- # ssds.
20066
+ # List of two reservations to transfer GPUs and local SSD between.
19742
20067
  # Corresponds to the JSON property `reservations`
19743
20068
  # @return [Array<Google::Apis::ComputeBeta::Reservation>]
19744
20069
  attr_accessor :reservations
@@ -20812,12 +21137,12 @@ module Google
20812
21137
  # Represents a reservation resource. A reservation ensures that capacity is held
20813
21138
  # in a specific zone even if the reserved VMs are not running. For more
20814
21139
  # information, read Reserving zonal resources. (== resource_for beta.
20815
- # reservations ==) (== resource_for v1.reservations ==) (== NextID: 13 ==)
21140
+ # reservations ==) (== resource_for v1.reservations ==)
20816
21141
  class Reservation
20817
21142
  include Google::Apis::Core::Hashable
20818
21143
 
20819
- # [OutputOnly] Full or partial url for parent commitment for reservations which
20820
- # are tied to a commitment.
21144
+ # [OutputOnly] Full or partial URL to a parent commitment. This field displays
21145
+ # for reservations that are tied to a commitment.
20821
21146
  # Corresponds to the JSON property `commitment`
20822
21147
  # @return [String]
20823
21148
  attr_accessor :commitment
@@ -20879,8 +21204,8 @@ module Google
20879
21204
  # @return [String]
20880
21205
  attr_accessor :status
20881
21206
 
20882
- # Zone in which the reservation resides, must be provided if reservation is
20883
- # created with commitment creation.
21207
+ # Zone in which the reservation resides. A zone must be provided if the
21208
+ # reservation is created within a commitment.
20884
21209
  # Corresponds to the JSON property `zone`
20885
21210
  # @return [String]
20886
21211
  attr_accessor :zone
@@ -21933,7 +22258,8 @@ module Google
21933
22258
  # @return [Hash<String,String>]
21934
22259
  attr_accessor :labels
21935
22260
 
21936
- # GCS bucket storage location of the auto snapshot (regional or multi-regional).
22261
+ # Cloud Storage bucket storage location of the auto snapshot (regional or multi-
22262
+ # regional).
21937
22263
  # Corresponds to the JSON property `storageLocations`
21938
22264
  # @return [Array<String>]
21939
22265
  attr_accessor :storage_locations
@@ -22615,6 +22941,17 @@ module Google
22615
22941
  # @return [Fixnum]
22616
22942
  attr_accessor :asn
22617
22943
 
22944
+ # The interval in seconds between BGP keepalive messages that are sent to the
22945
+ # peer. Hold time is three times the interval at which keepalive messages are
22946
+ # sent, and the hold time is the maximum number of seconds allowed to elapse
22947
+ # between successive keepalive messages that BGP receives from a peer. BGP will
22948
+ # use the smaller of either the local hold time value or the peer?s hold time
22949
+ # value as the hold time for the BGP connection between the two peers. If set,
22950
+ # this value must be between 1 and 120. The default is 20.
22951
+ # Corresponds to the JSON property `keepaliveInterval`
22952
+ # @return [Fixnum]
22953
+ attr_accessor :keepalive_interval
22954
+
22618
22955
  def initialize(**args)
22619
22956
  update!(**args)
22620
22957
  end
@@ -22625,6 +22962,7 @@ module Google
22625
22962
  @advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups)
22626
22963
  @advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges)
22627
22964
  @asn = args[:asn] if args.key?(:asn)
22965
+ @keepalive_interval = args[:keepalive_interval] if args.key?(:keepalive_interval)
22628
22966
  end
22629
22967
  end
22630
22968
 
@@ -22666,6 +23004,19 @@ module Google
22666
23004
  # @return [Fixnum]
22667
23005
  attr_accessor :advertised_route_priority
22668
23006
 
23007
+ # BFD configuration for the BGP peering.
23008
+ # Corresponds to the JSON property `bfd`
23009
+ # @return [Google::Apis::ComputeBeta::RouterBgpPeerBfd]
23010
+ attr_accessor :bfd
23011
+
23012
+ # The status of the BGP peer connection. If set to FALSE, any active session
23013
+ # with the peer is terminated and all associated routing information is removed.
23014
+ # If set to TRUE, the peer connection can be established with routing
23015
+ # information. The default is TRUE.
23016
+ # Corresponds to the JSON property `enable`
23017
+ # @return [String]
23018
+ attr_accessor :enable
23019
+
22669
23020
  # Name of the interface the BGP peer is associated with.
22670
23021
  # Corresponds to the JSON property `interfaceName`
22671
23022
  # @return [String]
@@ -22688,8 +23039,12 @@ module Google
22688
23039
  # @return [String]
22689
23040
  attr_accessor :management_type
22690
23041
 
22691
- # Name of this BGP peer. The name must be 1-63 characters long and comply with
22692
- # RFC1035.
23042
+ # Name of this BGP peer. The name must be 1-63 characters long, and comply with
23043
+ # RFC1035. Specifically, the name must be 1-63 characters long and match the
23044
+ # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
23045
+ # character must be a lowercase letter, and all following characters must be a
23046
+ # dash, lowercase letter, or digit, except the last character, which cannot be a
23047
+ # dash.
22693
23048
  # Corresponds to the JSON property `name`
22694
23049
  # @return [String]
22695
23050
  attr_accessor :name
@@ -22716,6 +23071,8 @@ module Google
22716
23071
  @advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups)
22717
23072
  @advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges)
22718
23073
  @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
23074
+ @bfd = args[:bfd] if args.key?(:bfd)
23075
+ @enable = args[:enable] if args.key?(:enable)
22719
23076
  @interface_name = args[:interface_name] if args.key?(:interface_name)
22720
23077
  @ip_address = args[:ip_address] if args.key?(:ip_address)
22721
23078
  @management_type = args[:management_type] if args.key?(:management_type)
@@ -22725,6 +23082,57 @@ module Google
22725
23082
  end
22726
23083
  end
22727
23084
 
23085
+ #
23086
+ class RouterBgpPeerBfd
23087
+ include Google::Apis::Core::Hashable
23088
+
23089
+ # The minimum interval, in milliseconds, between BFD control packets received
23090
+ # from the peer router. The actual value is negotiated between the two routers
23091
+ # and is equal to the greater of this value and the transmit interval of the
23092
+ # other router. If set, this value must be between 100 and 30000. The default is
23093
+ # 300.
23094
+ # Corresponds to the JSON property `minReceiveInterval`
23095
+ # @return [Fixnum]
23096
+ attr_accessor :min_receive_interval
23097
+
23098
+ # The minimum interval, in milliseconds, between BFD control packets transmitted
23099
+ # to the peer router. The actual value is negotiated between the two routers and
23100
+ # is equal to the greater of this value and the corresponding receive interval
23101
+ # of the other router. If set, this value must be between 100 and 30000. The
23102
+ # default is 300.
23103
+ # Corresponds to the JSON property `minTransmitInterval`
23104
+ # @return [Fixnum]
23105
+ attr_accessor :min_transmit_interval
23106
+
23107
+ # The number of consecutive BFD packets that must be missed before BFD declares
23108
+ # that a peer is unavailable. If set, the value must be a value between 2 and 16.
23109
+ # The default is 3.
23110
+ # Corresponds to the JSON property `multiplier`
23111
+ # @return [Fixnum]
23112
+ attr_accessor :multiplier
23113
+
23114
+ # The BFD session initialization mode for this BGP peer. If set to ACTIVE, the
23115
+ # Cloud Router will initiate the BFD session for this BGP peer. If set to
23116
+ # PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD
23117
+ # session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP
23118
+ # peer. The default is PASSIVE.
23119
+ # Corresponds to the JSON property `sessionInitializationMode`
23120
+ # @return [String]
23121
+ attr_accessor :session_initialization_mode
23122
+
23123
+ def initialize(**args)
23124
+ update!(**args)
23125
+ end
23126
+
23127
+ # Update properties of this object
23128
+ def update!(**args)
23129
+ @min_receive_interval = args[:min_receive_interval] if args.key?(:min_receive_interval)
23130
+ @min_transmit_interval = args[:min_transmit_interval] if args.key?(:min_transmit_interval)
23131
+ @multiplier = args[:multiplier] if args.key?(:multiplier)
23132
+ @session_initialization_mode = args[:session_initialization_mode] if args.key?(:session_initialization_mode)
23133
+ end
23134
+ end
23135
+
22728
23136
  #
22729
23137
  class RouterInterface
22730
23138
  include Google::Apis::Core::Hashable
@@ -22761,8 +23169,12 @@ module Google
22761
23169
  # @return [String]
22762
23170
  attr_accessor :management_type
22763
23171
 
22764
- # Name of this interface entry. The name must be 1-63 characters long and comply
22765
- # with RFC1035.
23172
+ # Name of this interface entry. The name must be 1-63 characters long, and
23173
+ # comply with RFC1035. Specifically, the name must be 1-63 characters long and
23174
+ # match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
23175
+ # first character must be a lowercase letter, and all following characters must
23176
+ # be a dash, lowercase letter, or digit, except the last character, which cannot
23177
+ # be a dash.
22766
23178
  # Corresponds to the JSON property `name`
22767
23179
  # @return [String]
22768
23180
  attr_accessor :name
@@ -22906,6 +23318,13 @@ module Google
22906
23318
  class RouterNat
22907
23319
  include Google::Apis::Core::Hashable
22908
23320
 
23321
+ # A list of URLs of the IP resources to be drained. These IPs must be valid
23322
+ # static external IPs that have been assigned to the NAT. These IPs should be
23323
+ # used for updating/patching a NAT only.
23324
+ # Corresponds to the JSON property `drainNatIps`
23325
+ # @return [Array<String>]
23326
+ attr_accessor :drain_nat_ips
23327
+
22909
23328
  # Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
22910
23329
  # Corresponds to the JSON property `icmpIdleTimeoutSec`
22911
23330
  # @return [Fixnum]
@@ -22990,6 +23409,7 @@ module Google
22990
23409
 
22991
23410
  # Update properties of this object
22992
23411
  def update!(**args)
23412
+ @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
22993
23413
  @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
22994
23414
  @log_config = args[:log_config] if args.key?(:log_config)
22995
23415
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
@@ -23119,6 +23539,11 @@ module Google
23119
23539
  # @return [Array<Google::Apis::ComputeBeta::Route>]
23120
23540
  attr_accessor :advertised_routes
23121
23541
 
23542
+ # Next free: 15
23543
+ # Corresponds to the JSON property `bfdStatus`
23544
+ # @return [Google::Apis::ComputeBeta::BfdStatus]
23545
+ attr_accessor :bfd_status
23546
+
23122
23547
  # IP address of the local BGP interface.
23123
23548
  # Corresponds to the JSON property `ipAddress`
23124
23549
  # @return [String]
@@ -23172,6 +23597,7 @@ module Google
23172
23597
  # Update properties of this object
23173
23598
  def update!(**args)
23174
23599
  @advertised_routes = args[:advertised_routes] if args.key?(:advertised_routes)
23600
+ @bfd_status = args[:bfd_status] if args.key?(:bfd_status)
23175
23601
  @ip_address = args[:ip_address] if args.key?(:ip_address)
23176
23602
  @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
23177
23603
  @name = args[:name] if args.key?(:name)
@@ -23193,6 +23619,18 @@ module Google
23193
23619
  # @return [Array<String>]
23194
23620
  attr_accessor :auto_allocated_nat_ips
23195
23621
 
23622
+ # A list of IPs auto-allocated for NAT that are in drain mode. Example: ["1.1.1.
23623
+ # 1", ?179.12.26.133?].
23624
+ # Corresponds to the JSON property `drainAutoAllocatedNatIps`
23625
+ # @return [Array<String>]
23626
+ attr_accessor :drain_auto_allocated_nat_ips
23627
+
23628
+ # A list of IPs user-allocated for NAT that are in drain mode. Example: ["1.1.1.
23629
+ # 1", ?179.12.26.133?].
23630
+ # Corresponds to the JSON property `drainUserAllocatedNatIps`
23631
+ # @return [Array<String>]
23632
+ attr_accessor :drain_user_allocated_nat_ips
23633
+
23196
23634
  # The number of extra IPs to allocate. This will be greater than 0 only if user-
23197
23635
  # specified IPs are NOT enough to allow all configured VMs to use NAT. This
23198
23636
  # value is meaningful only when auto-allocation of NAT IPs is *not* used.
@@ -23228,6 +23666,8 @@ module Google
23228
23666
  # Update properties of this object
23229
23667
  def update!(**args)
23230
23668
  @auto_allocated_nat_ips = args[:auto_allocated_nat_ips] if args.key?(:auto_allocated_nat_ips)
23669
+ @drain_auto_allocated_nat_ips = args[:drain_auto_allocated_nat_ips] if args.key?(:drain_auto_allocated_nat_ips)
23670
+ @drain_user_allocated_nat_ips = args[:drain_user_allocated_nat_ips] if args.key?(:drain_user_allocated_nat_ips)
23231
23671
  @min_extra_nat_ips_needed = args[:min_extra_nat_ips_needed] if args.key?(:min_extra_nat_ips_needed)
23232
23672
  @name = args[:name] if args.key?(:name)
23233
23673
  @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
@@ -24456,7 +24896,8 @@ module Google
24456
24896
  # @return [String]
24457
24897
  attr_accessor :storage_bytes_status
24458
24898
 
24459
- # GCS bucket storage location of the snapshot (regional or multi-regional).
24899
+ # Cloud Storage bucket storage location of the snapshot (regional or multi-
24900
+ # regional).
24460
24901
  # Corresponds to the JSON property `storageLocations`
24461
24902
  # @return [Array<String>]
24462
24903
  attr_accessor :storage_locations
@@ -29981,6 +30422,13 @@ module Google
29981
30422
  class VmEndpointNatMappingsInterfaceNatMappings
29982
30423
  include Google::Apis::Core::Hashable
29983
30424
 
30425
+ # List of all drain IP:port-range mappings assigned to this interface. These
30426
+ # ranges are inclusive, that is, both the first and the last ports can be used
30427
+ # for NAT. Example: ["2.2.2.2:12345-12355", "1.1.1.1:2234-2234"].
30428
+ # Corresponds to the JSON property `drainNatIpPortRanges`
30429
+ # @return [Array<String>]
30430
+ attr_accessor :drain_nat_ip_port_ranges
30431
+
29984
30432
  # A list of all IP:port-range mappings assigned to this interface. These ranges
29985
30433
  # are inclusive, that is, both the first and the last ports can be used for NAT.
29986
30434
  # Example: ["2.2.2.2:12345-12355", "1.1.1.1:2234-2234"].
@@ -29988,6 +30436,12 @@ module Google
29988
30436
  # @return [Array<String>]
29989
30437
  attr_accessor :nat_ip_port_ranges
29990
30438
 
30439
+ # Total number of drain ports across all NAT IPs allocated to this interface. It
30440
+ # equals to the aggregated port number in the field drain_nat_ip_port_ranges.
30441
+ # Corresponds to the JSON property `numTotalDrainNatPorts`
30442
+ # @return [Fixnum]
30443
+ attr_accessor :num_total_drain_nat_ports
30444
+
29991
30445
  # Total number of ports across all NAT IPs allocated to this interface. It
29992
30446
  # equals to the aggregated port number in the field nat_ip_port_ranges.
29993
30447
  # Corresponds to the JSON property `numTotalNatPorts`
@@ -30011,7 +30465,9 @@ module Google
30011
30465
 
30012
30466
  # Update properties of this object
30013
30467
  def update!(**args)
30468
+ @drain_nat_ip_port_ranges = args[:drain_nat_ip_port_ranges] if args.key?(:drain_nat_ip_port_ranges)
30014
30469
  @nat_ip_port_ranges = args[:nat_ip_port_ranges] if args.key?(:nat_ip_port_ranges)
30470
+ @num_total_drain_nat_ports = args[:num_total_drain_nat_ports] if args.key?(:num_total_drain_nat_ports)
30015
30471
  @num_total_nat_ports = args[:num_total_nat_ports] if args.key?(:num_total_nat_ports)
30016
30472
  @source_alias_ip_range = args[:source_alias_ip_range] if args.key?(:source_alias_ip_range)
30017
30473
  @source_virtual_ip = args[:source_virtual_ip] if args.key?(:source_virtual_ip)