google-api-client 0.32.1 → 0.34.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +159 -0
  3. data/README.md +1 -1
  4. data/generated/google/apis/accessapproval_v1beta1/classes.rb +35 -2
  5. data/generated/google/apis/accessapproval_v1beta1/representations.rb +13 -0
  6. data/generated/google/apis/accessapproval_v1beta1/service.rb +108 -6
  7. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  8. data/generated/google/apis/accesscontextmanager_v1/classes.rb +1 -1
  9. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  10. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +1 -73
  11. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +0 -32
  12. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  13. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  14. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +15 -2
  15. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  16. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +16 -3
  17. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  18. data/generated/google/apis/admin_datatransfer_v1/classes.rb +5 -5
  19. data/generated/google/apis/admin_datatransfer_v1/service.rb +2 -2
  20. data/generated/google/apis/admin_datatransfer_v1.rb +1 -1
  21. data/generated/google/apis/admin_directory_v1/classes.rb +4 -3
  22. data/generated/google/apis/admin_directory_v1.rb +4 -1
  23. data/generated/google/apis/admin_reports_v1/classes.rb +87 -44
  24. data/generated/google/apis/admin_reports_v1/service.rb +310 -64
  25. data/generated/google/apis/admin_reports_v1.rb +2 -2
  26. data/generated/google/apis/androidpublisher_v3/classes.rb +12 -0
  27. data/generated/google/apis/androidpublisher_v3/representations.rb +2 -0
  28. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  29. data/generated/google/apis/appengine_v1/service.rb +10 -6
  30. data/generated/google/apis/appengine_v1.rb +1 -1
  31. data/generated/google/apis/appengine_v1beta/service.rb +10 -6
  32. data/generated/google/apis/appengine_v1beta.rb +1 -1
  33. data/generated/google/apis/bigquery_v2/classes.rb +25 -19
  34. data/generated/google/apis/bigquery_v2/representations.rb +2 -0
  35. data/generated/google/apis/bigquery_v2.rb +1 -1
  36. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +3 -2
  37. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  38. data/generated/google/apis/bigtableadmin_v2/classes.rb +62 -29
  39. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  40. data/generated/google/apis/binaryauthorization_v1/service.rb +2 -0
  41. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  42. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +2 -0
  43. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  44. data/generated/google/apis/civicinfo_v2/representations.rb +2 -2
  45. data/generated/google/apis/civicinfo_v2.rb +1 -1
  46. data/generated/google/apis/cloudasset_v1/classes.rb +14 -15
  47. data/generated/google/apis/cloudasset_v1/service.rb +1 -2
  48. data/generated/google/apis/cloudasset_v1.rb +1 -1
  49. data/generated/google/apis/cloudbilling_v1/classes.rb +65 -36
  50. data/generated/google/apis/cloudbilling_v1/representations.rb +0 -1
  51. data/generated/google/apis/cloudbilling_v1/service.rb +5 -3
  52. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  53. data/generated/google/apis/clouddebugger_v2/service.rb +14 -14
  54. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  55. data/generated/google/apis/cloudfunctions_v1/service.rb +7 -3
  56. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  57. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +7 -0
  58. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  59. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +10 -4
  60. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  61. data/generated/google/apis/cloudidentity_v1/classes.rb +11 -8
  62. data/generated/google/apis/cloudidentity_v1/service.rb +2 -1
  63. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  64. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +13 -10
  65. data/generated/google/apis/cloudidentity_v1beta1/service.rb +2 -1
  66. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  67. data/generated/google/apis/cloudkms_v1/service.rb +3 -0
  68. data/generated/google/apis/cloudkms_v1.rb +1 -1
  69. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +12 -12
  70. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  71. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +4 -8
  72. data/generated/google/apis/cloudresourcemanager_v2/service.rb +11 -13
  73. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  74. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +4 -8
  75. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +11 -13
  76. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  77. data/generated/google/apis/cloudsearch_v1/classes.rb +5 -2
  78. data/generated/google/apis/cloudsearch_v1/service.rb +5 -2
  79. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  80. data/generated/google/apis/cloudshell_v1/classes.rb +22 -0
  81. data/generated/google/apis/cloudshell_v1/representations.rb +3 -0
  82. data/generated/google/apis/cloudshell_v1.rb +1 -1
  83. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +22 -0
  84. data/generated/google/apis/cloudshell_v1alpha1/representations.rb +3 -0
  85. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  86. data/generated/google/apis/compute_alpha/classes.rb +519 -152
  87. data/generated/google/apis/compute_alpha/representations.rb +108 -2
  88. data/generated/google/apis/compute_alpha/service.rb +1035 -640
  89. data/generated/google/apis/compute_alpha.rb +1 -1
  90. data/generated/google/apis/compute_beta/classes.rb +1016 -266
  91. data/generated/google/apis/compute_beta/representations.rb +284 -0
  92. data/generated/google/apis/compute_beta/service.rb +1242 -532
  93. data/generated/google/apis/compute_beta.rb +1 -1
  94. data/generated/google/apis/compute_v1/classes.rb +283 -125
  95. data/generated/google/apis/compute_v1/representations.rb +24 -0
  96. data/generated/google/apis/compute_v1/service.rb +759 -473
  97. data/generated/google/apis/compute_v1.rb +1 -1
  98. data/generated/google/apis/container_v1/classes.rb +207 -5
  99. data/generated/google/apis/container_v1/representations.rb +85 -0
  100. data/generated/google/apis/container_v1.rb +1 -1
  101. data/generated/google/apis/container_v1beta1/classes.rb +125 -3
  102. data/generated/google/apis/container_v1beta1/representations.rb +22 -0
  103. data/generated/google/apis/container_v1beta1.rb +1 -1
  104. data/generated/google/apis/content_v2/classes.rb +23 -220
  105. data/generated/google/apis/content_v2/representations.rb +0 -115
  106. data/generated/google/apis/content_v2/service.rb +0 -160
  107. data/generated/google/apis/content_v2.rb +1 -1
  108. data/generated/google/apis/content_v2_1/classes.rb +57 -18
  109. data/generated/google/apis/content_v2_1/representations.rb +3 -0
  110. data/generated/google/apis/content_v2_1.rb +1 -1
  111. data/generated/google/apis/dataflow_v1b3/classes.rb +6 -9
  112. data/generated/google/apis/dataflow_v1b3/representations.rb +1 -1
  113. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  114. data/generated/google/apis/datafusion_v1beta1/classes.rb +156 -46
  115. data/generated/google/apis/datafusion_v1beta1/representations.rb +33 -0
  116. data/generated/google/apis/datafusion_v1beta1/service.rb +10 -1
  117. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  118. data/generated/google/apis/datastore_v1/service.rb +85 -1
  119. data/generated/google/apis/datastore_v1.rb +1 -1
  120. data/generated/google/apis/datastore_v1beta3/service.rb +1 -1
  121. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  122. data/generated/google/apis/dialogflow_v2/classes.rb +25 -7
  123. data/generated/google/apis/dialogflow_v2/representations.rb +2 -0
  124. data/generated/google/apis/dialogflow_v2.rb +1 -1
  125. data/generated/google/apis/dialogflow_v2beta1/classes.rb +33 -7
  126. data/generated/google/apis/dialogflow_v2beta1/representations.rb +3 -0
  127. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  128. data/generated/google/apis/dlp_v2/classes.rb +19 -11
  129. data/generated/google/apis/dlp_v2/representations.rb +1 -0
  130. data/generated/google/apis/dlp_v2/service.rb +43 -0
  131. data/generated/google/apis/dlp_v2.rb +1 -1
  132. data/generated/google/apis/docs_v1/classes.rb +175 -0
  133. data/generated/google/apis/docs_v1/representations.rb +77 -0
  134. data/generated/google/apis/docs_v1.rb +1 -1
  135. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  136. data/generated/google/apis/drive_v2/classes.rb +2 -1
  137. data/generated/google/apis/drive_v2/service.rb +3 -3
  138. data/generated/google/apis/drive_v2.rb +1 -1
  139. data/generated/google/apis/drive_v3.rb +1 -1
  140. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +37 -0
  141. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +16 -0
  142. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  143. data/generated/google/apis/firestore_v1.rb +1 -1
  144. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  145. data/generated/google/apis/fitness_v1/service.rb +1 -1
  146. data/generated/google/apis/fitness_v1.rb +1 -1
  147. data/generated/google/apis/games_management_v1management/classes.rb +6 -26
  148. data/generated/google/apis/games_management_v1management/representations.rb +1 -14
  149. data/generated/google/apis/games_management_v1management/service.rb +0 -158
  150. data/generated/google/apis/games_management_v1management.rb +1 -1
  151. data/generated/google/apis/games_v1/classes.rb +6 -292
  152. data/generated/google/apis/games_v1/representations.rb +1 -98
  153. data/generated/google/apis/games_v1/service.rb +0 -123
  154. data/generated/google/apis/games_v1.rb +1 -1
  155. data/generated/google/apis/healthcare_v1beta1/classes.rb +205 -9
  156. data/generated/google/apis/healthcare_v1beta1/representations.rb +101 -0
  157. data/generated/google/apis/healthcare_v1beta1/service.rb +198 -104
  158. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  159. data/generated/google/apis/iam_v1/classes.rb +9 -2
  160. data/generated/google/apis/iam_v1/representations.rb +1 -0
  161. data/generated/google/apis/iam_v1.rb +1 -1
  162. data/generated/google/apis/iap_v1/classes.rb +187 -2
  163. data/generated/google/apis/iap_v1/representations.rb +102 -0
  164. data/generated/google/apis/iap_v1/service.rb +72 -0
  165. data/generated/google/apis/iap_v1.rb +1 -1
  166. data/generated/google/apis/iap_v1beta1/classes.rb +2 -2
  167. data/generated/google/apis/iap_v1beta1.rb +1 -1
  168. data/generated/google/apis/jobs_v2/classes.rb +167 -0
  169. data/generated/google/apis/jobs_v2/representations.rb +40 -0
  170. data/generated/google/apis/jobs_v2.rb +1 -1
  171. data/generated/google/apis/jobs_v3/classes.rb +179 -0
  172. data/generated/google/apis/jobs_v3/representations.rb +41 -0
  173. data/generated/google/apis/jobs_v3.rb +1 -1
  174. data/generated/google/apis/jobs_v3p1beta1/classes.rb +179 -0
  175. data/generated/google/apis/jobs_v3p1beta1/representations.rb +41 -0
  176. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  177. data/generated/google/apis/licensing_v1/classes.rb +15 -7
  178. data/generated/google/apis/licensing_v1/service.rb +81 -37
  179. data/generated/google/apis/licensing_v1.rb +4 -4
  180. data/generated/google/apis/lifesciences_v2beta/classes.rb +1329 -0
  181. data/generated/google/apis/lifesciences_v2beta/representations.rb +533 -0
  182. data/generated/google/apis/lifesciences_v2beta/service.rb +303 -0
  183. data/generated/google/apis/{urlshortener_v1.rb → lifesciences_v2beta.rb} +12 -11
  184. data/generated/google/apis/logging_v2/classes.rb +12 -0
  185. data/generated/google/apis/logging_v2/representations.rb +2 -0
  186. data/generated/google/apis/logging_v2/service.rb +10 -5
  187. data/generated/google/apis/logging_v2.rb +1 -1
  188. data/generated/google/apis/ml_v1/classes.rb +66 -23
  189. data/generated/google/apis/ml_v1/representations.rb +1 -0
  190. data/generated/google/apis/ml_v1/service.rb +7 -3
  191. data/generated/google/apis/ml_v1.rb +2 -2
  192. data/generated/google/apis/monitoring_v1/classes.rb +260 -0
  193. data/generated/google/apis/monitoring_v1/representations.rb +123 -0
  194. data/generated/google/apis/monitoring_v1/service.rb +64 -0
  195. data/generated/google/apis/monitoring_v1.rb +36 -0
  196. data/generated/google/apis/monitoring_v3/classes.rb +27 -13
  197. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  198. data/generated/google/apis/monitoring_v3/service.rb +2 -2
  199. data/generated/google/apis/monitoring_v3.rb +1 -1
  200. data/generated/google/apis/oslogin_v1/classes.rb +1 -1
  201. data/generated/google/apis/oslogin_v1/service.rb +10 -6
  202. data/generated/google/apis/oslogin_v1.rb +1 -1
  203. data/generated/google/apis/oslogin_v1beta/classes.rb +1 -1
  204. data/generated/google/apis/oslogin_v1beta/service.rb +9 -5
  205. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  206. data/generated/google/apis/people_v1/classes.rb +67 -63
  207. data/generated/google/apis/people_v1/service.rb +53 -44
  208. data/generated/google/apis/people_v1.rb +1 -1
  209. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +5 -4
  210. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  211. data/generated/google/apis/pubsub_v1/service.rb +3 -0
  212. data/generated/google/apis/pubsub_v1.rb +1 -1
  213. data/generated/google/apis/pubsub_v1beta2/service.rb +2 -0
  214. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  215. data/generated/google/apis/remotebuildexecution_v1/classes.rb +24 -0
  216. data/generated/google/apis/remotebuildexecution_v1/representations.rb +4 -0
  217. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  218. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +24 -0
  219. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +4 -0
  220. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  221. data/generated/google/apis/remotebuildexecution_v2/classes.rb +24 -0
  222. data/generated/google/apis/remotebuildexecution_v2/representations.rb +4 -0
  223. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  224. data/generated/google/apis/reseller_v1/service.rb +1 -1
  225. data/generated/google/apis/reseller_v1.rb +1 -1
  226. data/generated/google/apis/run_v1/classes.rb +0 -7
  227. data/generated/google/apis/run_v1/service.rb +156 -94
  228. data/generated/google/apis/run_v1.rb +1 -1
  229. data/generated/google/apis/run_v1alpha1/classes.rb +319 -0
  230. data/generated/google/apis/run_v1alpha1/representations.rb +126 -0
  231. data/generated/google/apis/run_v1alpha1/service.rb +408 -0
  232. data/generated/google/apis/run_v1alpha1.rb +1 -1
  233. data/generated/google/apis/securitycenter_v1/classes.rb +2 -2
  234. data/generated/google/apis/securitycenter_v1.rb +1 -1
  235. data/generated/google/apis/securitycenter_v1beta1/classes.rb +2 -2
  236. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  237. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +63 -0
  238. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +30 -0
  239. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  240. data/generated/google/apis/servicecontrol_v1/classes.rb +0 -11
  241. data/generated/google/apis/servicecontrol_v1/representations.rb +0 -1
  242. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  243. data/generated/google/apis/servicemanagement_v1/classes.rb +33 -7
  244. data/generated/google/apis/servicemanagement_v1/representations.rb +24 -0
  245. data/generated/google/apis/servicemanagement_v1/service.rb +31 -17
  246. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  247. data/generated/google/apis/serviceusage_v1/classes.rb +55 -0
  248. data/generated/google/apis/serviceusage_v1/representations.rb +29 -0
  249. data/generated/google/apis/serviceusage_v1.rb +1 -1
  250. data/generated/google/apis/serviceusage_v1beta1/classes.rb +55 -0
  251. data/generated/google/apis/serviceusage_v1beta1/representations.rb +29 -0
  252. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  253. data/generated/google/apis/sheets_v4/classes.rb +389 -0
  254. data/generated/google/apis/sheets_v4/representations.rb +79 -0
  255. data/generated/google/apis/sheets_v4.rb +1 -1
  256. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/classes.rb +9 -8
  257. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/representations.rb +6 -6
  258. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/service.rb +13 -13
  259. data/generated/google/apis/{speech_v2beta.rb → speech_v2beta1.rb} +6 -6
  260. data/generated/google/apis/sql_v1beta4/classes.rb +2752 -0
  261. data/generated/google/apis/sql_v1beta4/representations.rb +1131 -0
  262. data/generated/google/apis/sql_v1beta4/service.rb +1791 -0
  263. data/generated/google/apis/sql_v1beta4.rb +37 -0
  264. data/generated/google/apis/storage_v1.rb +1 -1
  265. data/generated/google/apis/testing_v1/classes.rb +142 -1
  266. data/generated/google/apis/testing_v1/representations.rb +76 -0
  267. data/generated/google/apis/testing_v1.rb +1 -1
  268. data/generated/google/apis/videointelligence_v1/classes.rb +35 -36
  269. data/generated/google/apis/videointelligence_v1.rb +1 -1
  270. data/generated/google/apis/videointelligence_v1beta2/classes.rb +35 -36
  271. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  272. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +35 -36
  273. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  274. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +35 -36
  275. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  276. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +35 -36
  277. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  278. data/generated/google/apis/vision_v1.rb +1 -1
  279. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  280. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  281. data/generated/google/apis/youtube_partner_v1/service.rb +2 -2
  282. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  283. data/google-api-client.gemspec +6 -3
  284. data/lib/google/apis/version.rb +1 -1
  285. metadata +28 -30
  286. data/generated/google/apis/dfareporting_v3_2/classes.rb +0 -12299
  287. data/generated/google/apis/dfareporting_v3_2/representations.rb +0 -4397
  288. data/generated/google/apis/dfareporting_v3_2/service.rb +0 -8793
  289. data/generated/google/apis/dfareporting_v3_2.rb +0 -40
  290. data/generated/google/apis/urlshortener_v1/classes.rb +0 -246
  291. data/generated/google/apis/urlshortener_v1/representations.rb +0 -121
  292. data/generated/google/apis/urlshortener_v1/service.rb +0 -169
@@ -2485,16 +2485,10 @@ module Google
2485
2485
  end
2486
2486
 
2487
2487
  # Represents a Backend Service resource.
2488
- # Backend services must have an associated health check. Backend services also
2489
- # store information about session affinity. For more information, read Backend
2490
- # Services.
2491
- # A backendServices resource represents a global backend service. Global backend
2492
- # services are used for HTTP(S), SSL Proxy, TCP Proxy load balancing and Traffic
2493
- # Director.
2494
- # A regionBackendServices resource represents a regional backend service.
2495
- # Regional backend services are used for internal TCP/UDP load balancing. For
2496
- # more information, read Internal TCP/UDP Load balancing. (== resource_for v1.
2497
- # backendService ==) (== resource_for beta.backendService ==)
2488
+ # A backend service contains configuration values for Google Cloud Platform load
2489
+ # balancing services.
2490
+ # For more information, read Backend Services.
2491
+ # (== resource_for v1.backendService ==) (== resource_for beta.backendService ==)
2498
2492
  class BackendService
2499
2493
  include Google::Apis::Core::Hashable
2500
2494
 
@@ -2592,9 +2586,12 @@ module Google
2592
2586
  # @return [String]
2593
2587
  attr_accessor :kind
2594
2588
 
2595
- # Indicates whether the backend service will be used with internal or external
2596
- # load balancing. A backend service created for one type of load balancing
2597
- # cannot be used with the other. Possible values are INTERNAL and EXTERNAL.
2589
+ # Specifies the load balancer type. Choose EXTERNAL for load balancers that
2590
+ # receive traffic from external clients. Choose INTERNAL for Internal TCP/UDP
2591
+ # Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing.
2592
+ # Choose INTERNAL_SELF_MANAGED for Traffic Director. A backend service created
2593
+ # for one type of load balancing cannot be used with another. For more
2594
+ # information, refer to Choosing a load balancer.
2598
2595
  # Corresponds to the JSON property `loadBalancingScheme`
2599
2596
  # @return [String]
2600
2597
  attr_accessor :load_balancing_scheme
@@ -2636,7 +2633,8 @@ module Google
2636
2633
  # @return [String]
2637
2634
  attr_accessor :name
2638
2635
 
2639
- # Settings controlling eviction of unhealthy hosts from the load balancing pool.
2636
+ # Settings controlling the eviction of unhealthy hosts from the load balancing
2637
+ # pool for the backend service.
2640
2638
  # Corresponds to the JSON property `outlierDetection`
2641
2639
  # @return [Google::Apis::ComputeV1::OutlierDetection]
2642
2640
  attr_accessor :outlier_detection
@@ -2661,9 +2659,10 @@ module Google
2661
2659
  attr_accessor :port_name
2662
2660
 
2663
2661
  # The protocol this BackendService uses to communicate with backends.
2664
- # Possible values are HTTP, HTTPS, TCP, SSL, or UDP, depending on the chosen
2665
- # load balancer or Traffic Director configuration. Refer to the documentation
2666
- # for the load balancer or for Traffic director for more information.
2662
+ # Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, or UDP, depending on the
2663
+ # chosen load balancer or Traffic Director configuration. Refer to the
2664
+ # documentation for the load balancer or for Traffic Director for more
2665
+ # information.
2667
2666
  # Corresponds to the JSON property `protocol`
2668
2667
  # @return [String]
2669
2668
  attr_accessor :protocol
@@ -3324,33 +3323,34 @@ module Google
3324
3323
  class CircuitBreakers
3325
3324
  include Google::Apis::Core::Hashable
3326
3325
 
3327
- # The maximum number of connections to the backend cluster. If not specified,
3328
- # the default is 1024.
3326
+ # The maximum number of connections to the backend service. If not specified,
3327
+ # there is no limit.
3329
3328
  # Corresponds to the JSON property `maxConnections`
3330
3329
  # @return [Fixnum]
3331
3330
  attr_accessor :max_connections
3332
3331
 
3333
- # The maximum number of pending requests allowed to the backend cluster. If not
3334
- # specified, the default is 1024.
3332
+ # The maximum number of pending requests allowed to the backend service. If not
3333
+ # specified, there is no limit.
3335
3334
  # Corresponds to the JSON property `maxPendingRequests`
3336
3335
  # @return [Fixnum]
3337
3336
  attr_accessor :max_pending_requests
3338
3337
 
3339
- # The maximum number of parallel requests that allowed to the backend cluster.
3340
- # If not specified, the default is 1024.
3338
+ # The maximum number of parallel requests that allowed to the backend service.
3339
+ # If not specified, there is no limit.
3341
3340
  # Corresponds to the JSON property `maxRequests`
3342
3341
  # @return [Fixnum]
3343
3342
  attr_accessor :max_requests
3344
3343
 
3345
- # Maximum requests for a single backend connection. This parameter is respected
3346
- # by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no
3347
- # limit. Setting this parameter to 1 will effectively disable keep alive.
3344
+ # Maximum requests for a single connection to the backend service. This
3345
+ # parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not
3346
+ # specified, there is no limit. Setting this parameter to 1 will effectively
3347
+ # disable keep alive.
3348
3348
  # Corresponds to the JSON property `maxRequestsPerConnection`
3349
3349
  # @return [Fixnum]
3350
3350
  attr_accessor :max_requests_per_connection
3351
3351
 
3352
3352
  # The maximum number of parallel retries allowed to the backend cluster. If not
3353
- # specified, the default is 3.
3353
+ # specified, the default is 1.
3354
3354
  # Corresponds to the JSON property `maxRetries`
3355
3355
  # @return [Fixnum]
3356
3356
  attr_accessor :max_retries
@@ -5142,7 +5142,8 @@ module Google
5142
5142
  class DisksAddResourcePoliciesRequest
5143
5143
  include Google::Apis::Core::Hashable
5144
5144
 
5145
- # Resource policies to be added to this disk.
5145
+ # Resource policies to be added to this disk. Currently you can only specify one
5146
+ # policy here.
5146
5147
  # Corresponds to the JSON property `resourcePolicies`
5147
5148
  # @return [Array<String>]
5148
5149
  attr_accessor :resource_policies
@@ -6109,27 +6110,12 @@ module Google
6109
6110
  end
6110
6111
 
6111
6112
  # Represents a Forwarding Rule resource.
6112
- # A forwardingRules resource represents a regional forwarding rule.
6113
- # Regional external forwarding rules can reference any of the following
6114
- # resources:
6115
- #
6116
- # - A target instance
6117
- # - A Cloud VPN Classic gateway (targetVpnGateway),
6118
- # - A target pool for a Network Load Balancer
6119
- # - A global target HTTP(S) proxy for an HTTP(S) load balancer using Standard
6120
- # Tier
6121
- # - A target SSL proxy for a SSL Proxy load balancer using Standard Tier
6122
- # - A target TCP proxy for a TCP Proxy load balancer using Standard Tier.
6123
- # Regional internal forwarding rules can reference the backend service of an
6124
- # internal TCP/UDP load balancer.
6125
- # For regional internal forwarding rules, the following applies:
6126
- # - If the loadBalancingScheme for the load balancer is INTERNAL, then the
6127
- # forwarding rule references a regional internal backend service.
6128
- # - If the loadBalancingScheme for the load balancer is INTERNAL_MANAGED, then
6129
- # the forwarding rule must reference a regional target HTTP(S) proxy.
6130
- # For more information, read Using Forwarding rules.
6131
- # A globalForwardingRules resource represents a global forwarding rule.
6132
- # Global forwarding rules are only used by load balancers that use Premium Tier.
6113
+ # A forwarding rule and its corresponding IP address represent the frontend
6114
+ # configuration of a Google Cloud Platform load balancer. Forwarding rules can
6115
+ # also reference target instances and Cloud VPN Classic gateways (
6116
+ # targetVpnGateway).
6117
+ # For more information, read Forwarding rule concepts and Using protocol
6118
+ # forwarding.
6133
6119
  # (== resource_for beta.forwardingRules ==) (== resource_for v1.forwardingRules =
6134
6120
  # =) (== resource_for beta.globalForwardingRules ==) (== resource_for v1.
6135
6121
  # globalForwardingRules ==) (== resource_for beta.regionForwardingRules ==) (==
@@ -6157,8 +6143,14 @@ module Google
6157
6143
 
6158
6144
  # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP,
6159
6145
  # AH, SCTP or ICMP.
6160
- # When the load balancing scheme is INTERNAL, only TCP and UDP are valid. When
6161
- # the load balancing scheme is INTERNAL_SELF_MANAGED, only TCPis valid.
6146
+ # For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL,
6147
+ # and one of TCP or UDP are valid. For Traffic Director, the load balancing
6148
+ # scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S)
6149
+ # Load Balancing, the load balancing scheme is INTERNAL_MANAGED, and only TCP is
6150
+ # valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load
6151
+ # balancing scheme is EXTERNAL and only TCP is valid. For Network TCP/UDP Load
6152
+ # Balancing, the load balancing scheme is EXTERNAL, and one of TCP or UDP is
6153
+ # valid.
6162
6154
  # Corresponds to the JSON property `IPProtocol`
6163
6155
  # @return [String]
6164
6156
  attr_accessor :ip_protocol
@@ -6211,12 +6203,14 @@ module Google
6211
6203
  # @return [String]
6212
6204
  attr_accessor :kind
6213
6205
 
6214
- # This signifies what the ForwardingRule will be used for and can only take the
6215
- # following values: INTERNAL, INTERNAL_SELF_MANAGED, EXTERNAL. The value of
6216
- # INTERNAL means that this will be used for Internal Network Load Balancing (TCP,
6217
- # UDP). The value of INTERNAL_SELF_MANAGED means that this will be used for
6218
- # Internal Global HTTP(S) LB. The value of EXTERNAL means that this will be used
6219
- # for External Load Balancing (HTTP(S) LB, External TCP/UDP LB, SSL Proxy)
6206
+ # Specifies the forwarding rule type. EXTERNAL is used for: - Classic Cloud VPN
6207
+ # gateways - Protocol forwarding to VMs from an external IP address - The
6208
+ # following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP.
6209
+ # INTERNAL is used for: - Protocol forwarding to VMs from an internal IP address
6210
+ # - Internal TCP/UDP load balancers
6211
+ # INTERNAL_MANAGED is used for: - Internal HTTP(S) load balancers
6212
+ # INTERNAL_SELF_MANAGED is used for: - Traffic Director
6213
+ # For more information about forwarding rules, refer to Forwarding rule concepts.
6220
6214
  # Corresponds to the JSON property `loadBalancingScheme`
6221
6215
  # @return [String]
6222
6216
  attr_accessor :load_balancing_scheme
@@ -6788,19 +6782,28 @@ module Google
6788
6782
 
6789
6783
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
6790
6784
  # access control policies for Cloud Platform resources.
6791
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
6792
- # members` to a `role`, where the members can be user accounts, Google groups,
6793
- # Google domains, and service accounts. A `role` is a named list of permissions
6794
- # defined by IAM.
6785
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
6786
+ # members` to a single `role`. Members can be user accounts, service accounts,
6787
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
6788
+ # permissions (defined by IAM or configured by users). A `binding` can
6789
+ # optionally specify a `condition`, which is a logic expression that further
6790
+ # constrains the role binding based on attributes about the request and/or
6791
+ # target resource.
6795
6792
  # **JSON Example**
6796
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
6797
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
6798
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
6799
- # sean@example.com"] ` ] `
6793
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
6794
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
6795
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
6796
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
6797
+ # "condition": ` "title": "expirable access", "description": "Does not grant
6798
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
6799
+ # 00:00.000Z')", ` ` ] `
6800
6800
  # **YAML Example**
6801
6801
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
6802
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
6803
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
6802
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
6803
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
6804
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
6805
+ # access description: Does not grant access after Sep 2020 expression: request.
6806
+ # time < timestamp('2020-10-01T00:00:00.000Z')
6804
6807
  # For a description of IAM and its features, see the [IAM developer's guide](
6805
6808
  # https://cloud.google.com/iam/docs).
6806
6809
  # Corresponds to the JSON property `policy`
@@ -8372,7 +8375,8 @@ module Google
8372
8375
  class HttpRetryPolicy
8373
8376
  include Google::Apis::Core::Hashable
8374
8377
 
8375
- # Specifies the allowed number retries. This number must be > 0.
8378
+ # Specifies the allowed number retries. This number must be > 0. If not
8379
+ # specified, defaults to 1.
8376
8380
  # Corresponds to the JSON property `numRetries`
8377
8381
  # @return [Fixnum]
8378
8382
  attr_accessor :num_retries
@@ -8506,6 +8510,12 @@ module Google
8506
8510
  class HttpRouteRule
8507
8511
  include Google::Apis::Core::Hashable
8508
8512
 
8513
+ # The short description conveying the intent of this routeRule.
8514
+ # The description can have a maximum length of 1024 characters.
8515
+ # Corresponds to the JSON property `description`
8516
+ # @return [String]
8517
+ attr_accessor :description
8518
+
8509
8519
  # The request and response header transformations that take effect before the
8510
8520
  # request is passed along to the selected backendService.
8511
8521
  # Corresponds to the JSON property `headerAction`
@@ -8517,6 +8527,22 @@ module Google
8517
8527
  # @return [Array<Google::Apis::ComputeV1::HttpRouteRuleMatch>]
8518
8528
  attr_accessor :match_rules
8519
8529
 
8530
+ # For routeRules within a given pathMatcher, priority determines the order in
8531
+ # which load balancer will interpret routeRules. RouteRules are evaluated in
8532
+ # order of priority, from the lowest to highest number. The priority of a rule
8533
+ # decreases as its number increases (1, 2, 3, N+1). The first rule that matches
8534
+ # the request is applied.
8535
+ # You cannot configure two or more routeRules with the same priority. Priority
8536
+ # for each rule must be set to a number between 0 and 2147483647 inclusive.
8537
+ # Priority numbers can have gaps, which enable you to add or remove rules in the
8538
+ # future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9,
8539
+ # 12, 16 is a valid series of priority numbers to which you could add rules
8540
+ # numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact
8541
+ # on existing rules.
8542
+ # Corresponds to the JSON property `priority`
8543
+ # @return [Fixnum]
8544
+ attr_accessor :priority
8545
+
8520
8546
  # In response to a matching matchRule, the load balancer performs advanced
8521
8547
  # routing actions like URL rewrites, header transformations, etc. prior to
8522
8548
  # forwarding the request to the selected backend. If routeAction specifies any
@@ -8550,8 +8576,10 @@ module Google
8550
8576
 
8551
8577
  # Update properties of this object
8552
8578
  def update!(**args)
8579
+ @description = args[:description] if args.key?(:description)
8553
8580
  @header_action = args[:header_action] if args.key?(:header_action)
8554
8581
  @match_rules = args[:match_rules] if args.key?(:match_rules)
8582
+ @priority = args[:priority] if args.key?(:priority)
8555
8583
  @route_action = args[:route_action] if args.key?(:route_action)
8556
8584
  @service = args[:service] if args.key?(:service)
8557
8585
  @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
@@ -13879,10 +13907,10 @@ module Google
13879
13907
  # a representation of IAMContext.principal even if a token or authority selector
13880
13908
  # is present; or - "" (empty string), resulting in a counter with no fields.
13881
13909
  # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==>
13882
- # increment counter /iam/policy/backend_debug_access_count `iam_principal=[value
13883
- # of IAMContext.principal]`
13884
- # At this time we do not support multiple field names (though this may be
13885
- # supported in the future).
13910
+ # increment counter /iam/policy/debug_access_count `iam_principal=[value of
13911
+ # IAMContext.principal]`
13912
+ # TODO(b/141846426): Consider supporting "authority" and "iam_principal" fields
13913
+ # in the same counter.
13886
13914
  # Corresponds to the JSON property `counter`
13887
13915
  # @return [Google::Apis::ComputeV1::LogConfigCounterOptions]
13888
13916
  attr_accessor :counter
@@ -13941,13 +13969,18 @@ module Google
13941
13969
  # a representation of IAMContext.principal even if a token or authority selector
13942
13970
  # is present; or - "" (empty string), resulting in a counter with no fields.
13943
13971
  # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==>
13944
- # increment counter /iam/policy/backend_debug_access_count `iam_principal=[value
13945
- # of IAMContext.principal]`
13946
- # At this time we do not support multiple field names (though this may be
13947
- # supported in the future).
13972
+ # increment counter /iam/policy/debug_access_count `iam_principal=[value of
13973
+ # IAMContext.principal]`
13974
+ # TODO(b/141846426): Consider supporting "authority" and "iam_principal" fields
13975
+ # in the same counter.
13948
13976
  class LogConfigCounterOptions
13949
13977
  include Google::Apis::Core::Hashable
13950
13978
 
13979
+ # Custom fields.
13980
+ # Corresponds to the JSON property `customFields`
13981
+ # @return [Array<Google::Apis::ComputeV1::LogConfigCounterOptionsCustomField>]
13982
+ attr_accessor :custom_fields
13983
+
13951
13984
  # The field value to attribute.
13952
13985
  # Corresponds to the JSON property `field`
13953
13986
  # @return [String]
@@ -13964,11 +13997,40 @@ module Google
13964
13997
 
13965
13998
  # Update properties of this object
13966
13999
  def update!(**args)
14000
+ @custom_fields = args[:custom_fields] if args.key?(:custom_fields)
13967
14001
  @field = args[:field] if args.key?(:field)
13968
14002
  @metric = args[:metric] if args.key?(:metric)
13969
14003
  end
13970
14004
  end
13971
14005
 
14006
+ # Custom fields. These can be used to create a counter with arbitrary field/
14007
+ # value pairs. See: go/rpcsp-custom-fields.
14008
+ class LogConfigCounterOptionsCustomField
14009
+ include Google::Apis::Core::Hashable
14010
+
14011
+ # Name is the field name.
14012
+ # Corresponds to the JSON property `name`
14013
+ # @return [String]
14014
+ attr_accessor :name
14015
+
14016
+ # Value is the field value. It is important that in contrast to the
14017
+ # CounterOptions.field, the value here is a constant that is not derived from
14018
+ # the IAMContext.
14019
+ # Corresponds to the JSON property `value`
14020
+ # @return [String]
14021
+ attr_accessor :value
14022
+
14023
+ def initialize(**args)
14024
+ update!(**args)
14025
+ end
14026
+
14027
+ # Update properties of this object
14028
+ def update!(**args)
14029
+ @name = args[:name] if args.key?(:name)
14030
+ @value = args[:value] if args.key?(:value)
14031
+ end
14032
+ end
14033
+
13972
14034
  # Write a Data Access (Gin) log
13973
14035
  class LogConfigDataAccessOptions
13974
14036
  include Google::Apis::Core::Hashable
@@ -18115,7 +18177,8 @@ module Google
18115
18177
  end
18116
18178
  end
18117
18179
 
18118
- # Settings controlling eviction of unhealthy hosts from the load balancing pool.
18180
+ # Settings controlling the eviction of unhealthy hosts from the load balancing
18181
+ # pool for the backend service.
18119
18182
  class OutlierDetection
18120
18183
  include Google::Apis::Core::Hashable
18121
18184
 
@@ -18136,21 +18199,21 @@ module Google
18136
18199
 
18137
18200
  # The number of consecutive gateway failures (502, 503, 504 status or connection
18138
18201
  # errors that are mapped to one of those status codes) before a consecutive
18139
- # gateway failure ejection occurs. Defaults to 5.
18202
+ # gateway failure ejection occurs. Defaults to 3.
18140
18203
  # Corresponds to the JSON property `consecutiveGatewayFailure`
18141
18204
  # @return [Fixnum]
18142
18205
  attr_accessor :consecutive_gateway_failure
18143
18206
 
18144
18207
  # The percentage chance that a host will be actually ejected when an outlier
18145
18208
  # status is detected through consecutive 5xx. This setting can be used to
18146
- # disable ejection or to ramp it up slowly. Defaults to 100.
18209
+ # disable ejection or to ramp it up slowly. Defaults to 0.
18147
18210
  # Corresponds to the JSON property `enforcingConsecutiveErrors`
18148
18211
  # @return [Fixnum]
18149
18212
  attr_accessor :enforcing_consecutive_errors
18150
18213
 
18151
18214
  # The percentage chance that a host will be actually ejected when an outlier
18152
18215
  # status is detected through consecutive gateway failures. This setting can be
18153
- # used to disable ejection or to ramp it up slowly. Defaults to 0.
18216
+ # used to disable ejection or to ramp it up slowly. Defaults to 100.
18154
18217
  # Corresponds to the JSON property `enforcingConsecutiveGatewayFailure`
18155
18218
  # @return [Fixnum]
18156
18219
  attr_accessor :enforcing_consecutive_gateway_failure
@@ -18171,7 +18234,7 @@ module Google
18171
18234
  attr_accessor :interval
18172
18235
 
18173
18236
  # Maximum percentage of hosts in the load balancing pool for the backend service
18174
- # that can be ejected. Defaults to 10%.
18237
+ # that can be ejected. Defaults to 50%.
18175
18238
  # Corresponds to the JSON property `maxEjectionPercent`
18176
18239
  # @return [Fixnum]
18177
18240
  attr_accessor :max_ejection_percent
@@ -18377,19 +18440,28 @@ module Google
18377
18440
 
18378
18441
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
18379
18442
  # access control policies for Cloud Platform resources.
18380
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
18381
- # members` to a `role`, where the members can be user accounts, Google groups,
18382
- # Google domains, and service accounts. A `role` is a named list of permissions
18383
- # defined by IAM.
18443
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
18444
+ # members` to a single `role`. Members can be user accounts, service accounts,
18445
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
18446
+ # permissions (defined by IAM or configured by users). A `binding` can
18447
+ # optionally specify a `condition`, which is a logic expression that further
18448
+ # constrains the role binding based on attributes about the request and/or
18449
+ # target resource.
18384
18450
  # **JSON Example**
18385
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
18386
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
18387
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
18388
- # sean@example.com"] ` ] `
18451
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
18452
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
18453
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
18454
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
18455
+ # "condition": ` "title": "expirable access", "description": "Does not grant
18456
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
18457
+ # 00:00.000Z')", ` ` ] `
18389
18458
  # **YAML Example**
18390
18459
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
18391
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
18392
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
18460
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
18461
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
18462
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
18463
+ # access description: Does not grant access after Sep 2020 expression: request.
18464
+ # time < timestamp('2020-10-01T00:00:00.000Z')
18393
18465
  # For a description of IAM and its features, see the [IAM developer's guide](
18394
18466
  # https://cloud.google.com/iam/docs).
18395
18467
  class Policy
@@ -18400,8 +18472,9 @@ module Google
18400
18472
  # @return [Array<Google::Apis::ComputeV1::AuditConfig>]
18401
18473
  attr_accessor :audit_configs
18402
18474
 
18403
- # Associates a list of `members` to a `role`. `bindings` with no members will
18404
- # result in an error.
18475
+ # Associates a list of `members` to a `role`. Optionally may specify a `
18476
+ # condition` that determines when binding is in effect. `bindings` with no
18477
+ # members will result in an error.
18405
18478
  # Corresponds to the JSON property `bindings`
18406
18479
  # @return [Array<Google::Apis::ComputeV1::Binding>]
18407
18480
  attr_accessor :bindings
@@ -18414,7 +18487,9 @@ module Google
18414
18487
  # that etag in the request to `setIamPolicy` to ensure that their change will be
18415
18488
  # applied to the same version of the policy.
18416
18489
  # If no `etag` is provided in the call to `setIamPolicy`, then the existing
18417
- # policy is overwritten.
18490
+ # policy is overwritten. Due to blind-set semantics of an etag-less policy, '
18491
+ # setIamPolicy' will not fail even if either of incoming or stored policy does
18492
+ # not meet the version requirements.
18418
18493
  # Corresponds to the JSON property `etag`
18419
18494
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
18420
18495
  # @return [String]
@@ -18440,9 +18515,13 @@ module Google
18440
18515
  # Specifies the format of the policy.
18441
18516
  # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
18442
18517
  # rejected.
18443
- # Policies with any conditional bindings must specify version 3. Policies
18444
- # without any conditional bindings may specify any valid value or leave the
18445
- # field unset.
18518
+ # Operations affecting conditional bindings must specify version 3. This can be
18519
+ # either setting a conditional policy, modifying a conditional binding, or
18520
+ # removing a conditional binding from the stored conditional policy. Operations
18521
+ # on non-conditional policies may specify any valid value or leave the field
18522
+ # unset.
18523
+ # If no etag is provided in the call to `setIamPolicy`, any version compliance
18524
+ # checks on the incoming and/or stored policy is skipped.
18446
18525
  # Corresponds to the JSON property `version`
18447
18526
  # @return [Fixnum]
18448
18527
  attr_accessor :version
@@ -19832,19 +19911,28 @@ module Google
19832
19911
 
19833
19912
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
19834
19913
  # access control policies for Cloud Platform resources.
19835
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
19836
- # members` to a `role`, where the members can be user accounts, Google groups,
19837
- # Google domains, and service accounts. A `role` is a named list of permissions
19838
- # defined by IAM.
19914
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
19915
+ # members` to a single `role`. Members can be user accounts, service accounts,
19916
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
19917
+ # permissions (defined by IAM or configured by users). A `binding` can
19918
+ # optionally specify a `condition`, which is a logic expression that further
19919
+ # constrains the role binding based on attributes about the request and/or
19920
+ # target resource.
19839
19921
  # **JSON Example**
19840
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
19841
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
19842
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
19843
- # sean@example.com"] ` ] `
19922
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
19923
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
19924
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
19925
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
19926
+ # "condition": ` "title": "expirable access", "description": "Does not grant
19927
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
19928
+ # 00:00.000Z')", ` ` ] `
19844
19929
  # **YAML Example**
19845
19930
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
19846
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
19847
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
19931
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
19932
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
19933
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
19934
+ # access description: Does not grant access after Sep 2020 expression: request.
19935
+ # time < timestamp('2020-10-01T00:00:00.000Z')
19848
19936
  # For a description of IAM and its features, see the [IAM developer's guide](
19849
19937
  # https://cloud.google.com/iam/docs).
19850
19938
  # Corresponds to the JSON property `policy`
@@ -21182,6 +21270,16 @@ module Google
21182
21270
  # @return [String]
21183
21271
  attr_accessor :next_hop_gateway
21184
21272
 
21273
+ # The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should
21274
+ # handle matching packets. You can only specify the forwarding rule as a partial
21275
+ # or full URL. For example, the following are all valid URLs:
21276
+ # - https://www.googleapis.com/compute/v1/projects/project/regions/region/
21277
+ # forwardingRules/forwardingRule
21278
+ # - regions/region/forwardingRules/forwardingRule
21279
+ # Corresponds to the JSON property `nextHopIlb`
21280
+ # @return [String]
21281
+ attr_accessor :next_hop_ilb
21282
+
21185
21283
  # The URL to an instance that should handle matching packets. You can specify
21186
21284
  # this as a full or partial URL. For example:
21187
21285
  # https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/
@@ -21250,6 +21348,7 @@ module Google
21250
21348
  @name = args[:name] if args.key?(:name)
21251
21349
  @network = args[:network] if args.key?(:network)
21252
21350
  @next_hop_gateway = args[:next_hop_gateway] if args.key?(:next_hop_gateway)
21351
+ @next_hop_ilb = args[:next_hop_ilb] if args.key?(:next_hop_ilb)
21253
21352
  @next_hop_instance = args[:next_hop_instance] if args.key?(:next_hop_instance)
21254
21353
  @next_hop_ip = args[:next_hop_ip] if args.key?(:next_hop_ip)
21255
21354
  @next_hop_network = args[:next_hop_network] if args.key?(:next_hop_network)
@@ -22016,6 +22115,13 @@ module Google
22016
22115
  class RouterNat
22017
22116
  include Google::Apis::Core::Hashable
22018
22117
 
22118
+ # A list of URLs of the IP resources to be drained. These IPs must be valid
22119
+ # static external IPs that have been assigned to the NAT. These IPs should be
22120
+ # used for updating/patching a NAT only.
22121
+ # Corresponds to the JSON property `drainNatIps`
22122
+ # @return [Array<String>]
22123
+ attr_accessor :drain_nat_ips
22124
+
22019
22125
  # Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
22020
22126
  # Corresponds to the JSON property `icmpIdleTimeoutSec`
22021
22127
  # @return [Fixnum]
@@ -22100,6 +22206,7 @@ module Google
22100
22206
 
22101
22207
  # Update properties of this object
22102
22208
  def update!(**args)
22209
+ @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
22103
22210
  @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
22104
22211
  @log_config = args[:log_config] if args.key?(:log_config)
22105
22212
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
@@ -22303,6 +22410,18 @@ module Google
22303
22410
  # @return [Array<String>]
22304
22411
  attr_accessor :auto_allocated_nat_ips
22305
22412
 
22413
+ # A list of IPs auto-allocated for NAT that are in drain mode. Example: ["1.1.1.
22414
+ # 1", ?179.12.26.133?].
22415
+ # Corresponds to the JSON property `drainAutoAllocatedNatIps`
22416
+ # @return [Array<String>]
22417
+ attr_accessor :drain_auto_allocated_nat_ips
22418
+
22419
+ # A list of IPs user-allocated for NAT that are in drain mode. Example: ["1.1.1.
22420
+ # 1", ?179.12.26.133?].
22421
+ # Corresponds to the JSON property `drainUserAllocatedNatIps`
22422
+ # @return [Array<String>]
22423
+ attr_accessor :drain_user_allocated_nat_ips
22424
+
22306
22425
  # The number of extra IPs to allocate. This will be greater than 0 only if user-
22307
22426
  # specified IPs are NOT enough to allow all configured VMs to use NAT. This
22308
22427
  # value is meaningful only when auto-allocation of NAT IPs is *not* used.
@@ -22338,6 +22457,8 @@ module Google
22338
22457
  # Update properties of this object
22339
22458
  def update!(**args)
22340
22459
  @auto_allocated_nat_ips = args[:auto_allocated_nat_ips] if args.key?(:auto_allocated_nat_ips)
22460
+ @drain_auto_allocated_nat_ips = args[:drain_auto_allocated_nat_ips] if args.key?(:drain_auto_allocated_nat_ips)
22461
+ @drain_user_allocated_nat_ips = args[:drain_user_allocated_nat_ips] if args.key?(:drain_user_allocated_nat_ips)
22341
22462
  @min_extra_nat_ips_needed = args[:min_extra_nat_ips_needed] if args.key?(:min_extra_nat_ips_needed)
22342
22463
  @name = args[:name] if args.key?(:name)
22343
22464
  @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
@@ -25528,12 +25649,14 @@ module Google
25528
25649
  attr_accessor :name
25529
25650
 
25530
25651
  # Specifies the QUIC override policy for this TargetHttpsProxy resource. This
25531
- # determines whether the load balancer will attempt to negotiate QUIC with
25532
- # clients or not. Can specify one of NONE, ENABLE, or DISABLE. Specify ENABLE to
25533
- # always enable QUIC, Enables QUIC when set to ENABLE, and disables QUIC when
25534
- # set to DISABLE. If NONE is specified, uses the QUIC policy with no user
25535
- # overrides, which is equivalent to DISABLE. Not specifying this field is
25536
- # equivalent to specifying NONE.
25652
+ # setting determines whether the load balancer attempts to negotiate QUIC with
25653
+ # clients. You can specify NONE, ENABLE, or DISABLE.
25654
+ # - When quic-override is set to NONE, Google manages whether QUIC is used.
25655
+ # - When quic-override is set to ENABLE, the load balancer uses QUIC when
25656
+ # possible.
25657
+ # - When quic-override is set to DISABLE, the load balancer doesn't use QUIC.
25658
+ # - If the quic-override flag is not specified, NONE is implied.
25659
+ # -
25537
25660
  # Corresponds to the JSON property `quicOverride`
25538
25661
  # @return [String]
25539
25662
  attr_accessor :quic_override
@@ -25557,8 +25680,8 @@ module Google
25557
25680
  attr_accessor :ssl_certificates
25558
25681
 
25559
25682
  # URL of SslPolicy resource that will be associated with the TargetHttpsProxy
25560
- # resource. If not set, the TargetHttpsProxy resource will not have any SSL
25561
- # policy configured.
25683
+ # resource. If not set, the TargetHttpsProxy resource has no SSL policy
25684
+ # configured.
25562
25685
  # Corresponds to the JSON property `sslPolicy`
25563
25686
  # @return [String]
25564
25687
  attr_accessor :ssl_policy
@@ -28710,6 +28833,13 @@ module Google
28710
28833
  class VmEndpointNatMappingsInterfaceNatMappings
28711
28834
  include Google::Apis::Core::Hashable
28712
28835
 
28836
+ # List of all drain IP:port-range mappings assigned to this interface. These
28837
+ # ranges are inclusive, that is, both the first and the last ports can be used
28838
+ # for NAT. Example: ["2.2.2.2:12345-12355", "1.1.1.1:2234-2234"].
28839
+ # Corresponds to the JSON property `drainNatIpPortRanges`
28840
+ # @return [Array<String>]
28841
+ attr_accessor :drain_nat_ip_port_ranges
28842
+
28713
28843
  # A list of all IP:port-range mappings assigned to this interface. These ranges
28714
28844
  # are inclusive, that is, both the first and the last ports can be used for NAT.
28715
28845
  # Example: ["2.2.2.2:12345-12355", "1.1.1.1:2234-2234"].
@@ -28717,6 +28847,12 @@ module Google
28717
28847
  # @return [Array<String>]
28718
28848
  attr_accessor :nat_ip_port_ranges
28719
28849
 
28850
+ # Total number of drain ports across all NAT IPs allocated to this interface. It
28851
+ # equals to the aggregated port number in the field drain_nat_ip_port_ranges.
28852
+ # Corresponds to the JSON property `numTotalDrainNatPorts`
28853
+ # @return [Fixnum]
28854
+ attr_accessor :num_total_drain_nat_ports
28855
+
28720
28856
  # Total number of ports across all NAT IPs allocated to this interface. It
28721
28857
  # equals to the aggregated port number in the field nat_ip_port_ranges.
28722
28858
  # Corresponds to the JSON property `numTotalNatPorts`
@@ -28740,7 +28876,9 @@ module Google
28740
28876
 
28741
28877
  # Update properties of this object
28742
28878
  def update!(**args)
28879
+ @drain_nat_ip_port_ranges = args[:drain_nat_ip_port_ranges] if args.key?(:drain_nat_ip_port_ranges)
28743
28880
  @nat_ip_port_ranges = args[:nat_ip_port_ranges] if args.key?(:nat_ip_port_ranges)
28881
+ @num_total_drain_nat_ports = args[:num_total_drain_nat_ports] if args.key?(:num_total_drain_nat_ports)
28744
28882
  @num_total_nat_ports = args[:num_total_nat_ports] if args.key?(:num_total_nat_ports)
28745
28883
  @source_alias_ip_range = args[:source_alias_ip_range] if args.key?(:source_alias_ip_range)
28746
28884
  @source_virtual_ip = args[:source_virtual_ip] if args.key?(:source_virtual_ip)
@@ -29586,6 +29724,17 @@ module Google
29586
29724
  # - NEGOTIATION_FAILURE: Handshake failed.
29587
29725
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
29588
29726
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
29727
+ # - NO_INCOMING_PACKETS: No incoming packets from peer.
29728
+ # - REJECTED: Tunnel configuration was rejected, can be result of being
29729
+ # blacklisted.
29730
+ # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
29731
+ # resources.
29732
+ # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for
29733
+ # Classic VPN tunnels or the project is in frozen state.
29734
+ # - PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, probably
29735
+ # behind NAT.
29736
+ # - TS_NARROWING_NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-
29737
+ # VPN tunnel.
29589
29738
  # Corresponds to the JSON property `status`
29590
29739
  # @return [String]
29591
29740
  attr_accessor :status
@@ -30396,19 +30545,28 @@ module Google
30396
30545
 
30397
30546
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
30398
30547
  # access control policies for Cloud Platform resources.
30399
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
30400
- # members` to a `role`, where the members can be user accounts, Google groups,
30401
- # Google domains, and service accounts. A `role` is a named list of permissions
30402
- # defined by IAM.
30548
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
30549
+ # members` to a single `role`. Members can be user accounts, service accounts,
30550
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
30551
+ # permissions (defined by IAM or configured by users). A `binding` can
30552
+ # optionally specify a `condition`, which is a logic expression that further
30553
+ # constrains the role binding based on attributes about the request and/or
30554
+ # target resource.
30403
30555
  # **JSON Example**
30404
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
30405
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
30406
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
30407
- # sean@example.com"] ` ] `
30556
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
30557
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
30558
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
30559
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
30560
+ # "condition": ` "title": "expirable access", "description": "Does not grant
30561
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
30562
+ # 00:00.000Z')", ` ` ] `
30408
30563
  # **YAML Example**
30409
30564
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
30410
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
30411
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
30565
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
30566
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
30567
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
30568
+ # access description: Does not grant access after Sep 2020 expression: request.
30569
+ # time < timestamp('2020-10-01T00:00:00.000Z')
30412
30570
  # For a description of IAM and its features, see the [IAM developer's guide](
30413
30571
  # https://cloud.google.com/iam/docs).
30414
30572
  # Corresponds to the JSON property `policy`