google-api-client 0.32.1 → 0.34.0

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 (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`