google-api-client 0.30.9 → 0.30.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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)