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
@@ -1567,6 +1567,15 @@ module Google
1567
1567
  # @return [String]
1568
1568
  attr_accessor :name
1569
1569
 
1570
+ # [Output Only] Target recommended MIG size (number of instances) computed by
1571
+ # autoscaler. Autoscaler calculates recommended MIG size even when autoscaling
1572
+ # policy mode is different from ON. This field is empty when autoscaler is not
1573
+ # connected to the existing managed instance group or autoscaler did not
1574
+ # generate its prediction.
1575
+ # Corresponds to the JSON property `recommendedSize`
1576
+ # @return [Fixnum]
1577
+ attr_accessor :recommended_size
1578
+
1570
1579
  # [Output Only] URL of the region where the instance group resides (for
1571
1580
  # autoscalers living in regional scope).
1572
1581
  # Corresponds to the JSON property `region`
@@ -1613,6 +1622,7 @@ module Google
1613
1622
  @id = args[:id] if args.key?(:id)
1614
1623
  @kind = args[:kind] if args.key?(:kind)
1615
1624
  @name = args[:name] if args.key?(:name)
1625
+ @recommended_size = args[:recommended_size] if args.key?(:recommended_size)
1616
1626
  @region = args[:region] if args.key?(:region)
1617
1627
  @self_link = args[:self_link] if args.key?(:self_link)
1618
1628
  @status = args[:status] if args.key?(:status)
@@ -2019,6 +2029,11 @@ module Google
2019
2029
  # @return [Fixnum]
2020
2030
  attr_accessor :min_num_replicas
2021
2031
 
2032
+ # Defines operating mode for this policy.
2033
+ # Corresponds to the JSON property `mode`
2034
+ # @return [String]
2035
+ attr_accessor :mode
2036
+
2022
2037
  def initialize(**args)
2023
2038
  update!(**args)
2024
2039
  end
@@ -2031,6 +2046,7 @@ module Google
2031
2046
  @load_balancing_utilization = args[:load_balancing_utilization] if args.key?(:load_balancing_utilization)
2032
2047
  @max_num_replicas = args[:max_num_replicas] if args.key?(:max_num_replicas)
2033
2048
  @min_num_replicas = args[:min_num_replicas] if args.key?(:min_num_replicas)
2049
+ @mode = args[:mode] if args.key?(:mode)
2034
2050
  end
2035
2051
  end
2036
2052
 
@@ -2571,16 +2587,10 @@ module Google
2571
2587
  end
2572
2588
 
2573
2589
  # Represents a Backend Service resource.
2574
- # Backend services must have an associated health check. Backend services also
2575
- # store information about session affinity. For more information, read Backend
2576
- # Services.
2577
- # A backendServices resource represents a global backend service. Global backend
2578
- # services are used for HTTP(S), SSL Proxy, TCP Proxy load balancing and Traffic
2579
- # Director.
2580
- # A regionBackendServices resource represents a regional backend service.
2581
- # Regional backend services are used for internal TCP/UDP load balancing. For
2582
- # more information, read Internal TCP/UDP Load balancing. (== resource_for v1.
2583
- # backendService ==) (== resource_for beta.backendService ==)
2590
+ # A backend service contains configuration values for Google Cloud Platform load
2591
+ # balancing services.
2592
+ # For more information, read Backend Services.
2593
+ # (== resource_for v1.backendService ==) (== resource_for beta.backendService ==)
2584
2594
  class BackendService
2585
2595
  include Google::Apis::Core::Hashable
2586
2596
 
@@ -2684,9 +2694,12 @@ module Google
2684
2694
  # @return [String]
2685
2695
  attr_accessor :kind
2686
2696
 
2687
- # Indicates whether the backend service will be used with internal or external
2688
- # load balancing. A backend service created for one type of load balancing
2689
- # cannot be used with the other. Possible values are INTERNAL and EXTERNAL.
2697
+ # Specifies the load balancer type. Choose EXTERNAL for load balancers that
2698
+ # receive traffic from external clients. Choose INTERNAL for Internal TCP/UDP
2699
+ # Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing.
2700
+ # Choose INTERNAL_SELF_MANAGED for Traffic Director. A backend service created
2701
+ # for one type of load balancing cannot be used with another. For more
2702
+ # information, refer to Choosing a load balancer.
2690
2703
  # Corresponds to the JSON property `loadBalancingScheme`
2691
2704
  # @return [String]
2692
2705
  attr_accessor :load_balancing_scheme
@@ -2740,7 +2753,8 @@ module Google
2740
2753
  # @return [String]
2741
2754
  attr_accessor :network
2742
2755
 
2743
- # Settings controlling eviction of unhealthy hosts from the load balancing pool.
2756
+ # Settings controlling the eviction of unhealthy hosts from the load balancing
2757
+ # pool for the backend service.
2744
2758
  # Corresponds to the JSON property `outlierDetection`
2745
2759
  # @return [Google::Apis::ComputeBeta::OutlierDetection]
2746
2760
  attr_accessor :outlier_detection
@@ -2765,9 +2779,10 @@ module Google
2765
2779
  attr_accessor :port_name
2766
2780
 
2767
2781
  # The protocol this BackendService uses to communicate with backends.
2768
- # Possible values are HTTP, HTTPS, TCP, SSL, or UDP, depending on the chosen
2769
- # load balancer or Traffic Director configuration. Refer to the documentation
2770
- # for the load balancer or for Traffic director for more information.
2782
+ # Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, or UDP, depending on the
2783
+ # chosen load balancer or Traffic Director configuration. Refer to the
2784
+ # documentation for the load balancer or for Traffic Director for more
2785
+ # information.
2771
2786
  # Corresponds to the JSON property `protocol`
2772
2787
  # @return [String]
2773
2788
  attr_accessor :protocol
@@ -3763,33 +3778,34 @@ module Google
3763
3778
  # @return [Google::Apis::ComputeBeta::Duration]
3764
3779
  attr_accessor :connect_timeout
3765
3780
 
3766
- # The maximum number of connections to the backend cluster. If not specified,
3767
- # the default is 1024.
3781
+ # The maximum number of connections to the backend service. If not specified,
3782
+ # there is no limit.
3768
3783
  # Corresponds to the JSON property `maxConnections`
3769
3784
  # @return [Fixnum]
3770
3785
  attr_accessor :max_connections
3771
3786
 
3772
- # The maximum number of pending requests allowed to the backend cluster. If not
3773
- # specified, the default is 1024.
3787
+ # The maximum number of pending requests allowed to the backend service. If not
3788
+ # specified, there is no limit.
3774
3789
  # Corresponds to the JSON property `maxPendingRequests`
3775
3790
  # @return [Fixnum]
3776
3791
  attr_accessor :max_pending_requests
3777
3792
 
3778
- # The maximum number of parallel requests that allowed to the backend cluster.
3779
- # If not specified, the default is 1024.
3793
+ # The maximum number of parallel requests that allowed to the backend service.
3794
+ # If not specified, there is no limit.
3780
3795
  # Corresponds to the JSON property `maxRequests`
3781
3796
  # @return [Fixnum]
3782
3797
  attr_accessor :max_requests
3783
3798
 
3784
- # Maximum requests for a single backend connection. This parameter is respected
3785
- # by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no
3786
- # limit. Setting this parameter to 1 will effectively disable keep alive.
3799
+ # Maximum requests for a single connection to the backend service. This
3800
+ # parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not
3801
+ # specified, there is no limit. Setting this parameter to 1 will effectively
3802
+ # disable keep alive.
3787
3803
  # Corresponds to the JSON property `maxRequestsPerConnection`
3788
3804
  # @return [Fixnum]
3789
3805
  attr_accessor :max_requests_per_connection
3790
3806
 
3791
3807
  # The maximum number of parallel retries allowed to the backend cluster. If not
3792
- # specified, the default is 3.
3808
+ # specified, the default is 1.
3793
3809
  # Corresponds to the JSON property `maxRetries`
3794
3810
  # @return [Fixnum]
3795
3811
  attr_accessor :max_retries
@@ -4476,6 +4492,12 @@ module Google
4476
4492
  # @return [String]
4477
4493
  attr_accessor :kms_key_name
4478
4494
 
4495
+ # The service account being used for the encryption request for the given KMS
4496
+ # key. If absent, default GCE compute robot account will be used
4497
+ # Corresponds to the JSON property `kmsKeyServiceAccount`
4498
+ # @return [String]
4499
+ attr_accessor :kms_key_service_account
4500
+
4479
4501
  # Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
4480
4502
  # base64 to either encrypt or decrypt this resource.
4481
4503
  # Corresponds to the JSON property `rawKey`
@@ -4507,6 +4529,7 @@ module Google
4507
4529
  # Update properties of this object
4508
4530
  def update!(**args)
4509
4531
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
4532
+ @kms_key_service_account = args[:kms_key_service_account] if args.key?(:kms_key_service_account)
4510
4533
  @raw_key = args[:raw_key] if args.key?(:raw_key)
4511
4534
  @rsa_encrypted_key = args[:rsa_encrypted_key] if args.key?(:rsa_encrypted_key)
4512
4535
  @sha256 = args[:sha256] if args.key?(:sha256)
@@ -5609,7 +5632,8 @@ module Google
5609
5632
  class DisksAddResourcePoliciesRequest
5610
5633
  include Google::Apis::Core::Hashable
5611
5634
 
5612
- # Resource policies to be added to this disk.
5635
+ # Resource policies to be added to this disk. Currently you can only specify one
5636
+ # policy here.
5613
5637
  # Corresponds to the JSON property `resourcePolicies`
5614
5638
  # @return [Array<String>]
5615
5639
  attr_accessor :resource_policies
@@ -6750,27 +6774,12 @@ module Google
6750
6774
  end
6751
6775
 
6752
6776
  # Represents a Forwarding Rule resource.
6753
- # A forwardingRules resource represents a regional forwarding rule.
6754
- # Regional external forwarding rules can reference any of the following
6755
- # resources:
6756
- #
6757
- # - A target instance
6758
- # - A Cloud VPN Classic gateway (targetVpnGateway),
6759
- # - A target pool for a Network Load Balancer
6760
- # - A global target HTTP(S) proxy for an HTTP(S) load balancer using Standard
6761
- # Tier
6762
- # - A target SSL proxy for a SSL Proxy load balancer using Standard Tier
6763
- # - A target TCP proxy for a TCP Proxy load balancer using Standard Tier.
6764
- # Regional internal forwarding rules can reference the backend service of an
6765
- # internal TCP/UDP load balancer.
6766
- # For regional internal forwarding rules, the following applies:
6767
- # - If the loadBalancingScheme for the load balancer is INTERNAL, then the
6768
- # forwarding rule references a regional internal backend service.
6769
- # - If the loadBalancingScheme for the load balancer is INTERNAL_MANAGED, then
6770
- # the forwarding rule must reference a regional target HTTP(S) proxy.
6771
- # For more information, read Using Forwarding rules.
6772
- # A globalForwardingRules resource represents a global forwarding rule.
6773
- # Global forwarding rules are only used by load balancers that use Premium Tier.
6777
+ # A forwarding rule and its corresponding IP address represent the frontend
6778
+ # configuration of a Google Cloud Platform load balancer. Forwarding rules can
6779
+ # also reference target instances and Cloud VPN Classic gateways (
6780
+ # targetVpnGateway).
6781
+ # For more information, read Forwarding rule concepts and Using protocol
6782
+ # forwarding.
6774
6783
  # (== resource_for beta.forwardingRules ==) (== resource_for v1.forwardingRules =
6775
6784
  # =) (== resource_for beta.globalForwardingRules ==) (== resource_for v1.
6776
6785
  # globalForwardingRules ==) (== resource_for beta.regionForwardingRules ==) (==
@@ -6798,8 +6807,14 @@ module Google
6798
6807
 
6799
6808
  # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP,
6800
6809
  # AH, SCTP or ICMP.
6801
- # When the load balancing scheme is INTERNAL, only TCP and UDP are valid. When
6802
- # the load balancing scheme is INTERNAL_SELF_MANAGED, only TCPis valid.
6810
+ # For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL,
6811
+ # and one of TCP or UDP are valid. For Traffic Director, the load balancing
6812
+ # scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S)
6813
+ # Load Balancing, the load balancing scheme is INTERNAL_MANAGED, and only TCP is
6814
+ # valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load
6815
+ # balancing scheme is EXTERNAL and only TCP is valid. For Network TCP/UDP Load
6816
+ # Balancing, the load balancing scheme is EXTERNAL, and one of TCP or UDP is
6817
+ # valid.
6803
6818
  # Corresponds to the JSON property `IPProtocol`
6804
6819
  # @return [String]
6805
6820
  attr_accessor :ip_protocol
@@ -6867,6 +6882,16 @@ module Google
6867
6882
  # @return [String]
6868
6883
  attr_accessor :ip_version
6869
6884
 
6885
+ # Indicates whether or not this load balancer can be used as a collector for
6886
+ # packet mirroring. To prevent mirroring loops, instances behind this load
6887
+ # balancer will not have their traffic mirrored even if a PacketMirroring rule
6888
+ # applies to them. This can only be set to true for load balancers that have
6889
+ # their loadBalancingScheme set to INTERNAL.
6890
+ # Corresponds to the JSON property `isMirroringCollector`
6891
+ # @return [Boolean]
6892
+ attr_accessor :is_mirroring_collector
6893
+ alias_method :is_mirroring_collector?, :is_mirroring_collector
6894
+
6870
6895
  # [Output Only] Type of the resource. Always compute#forwardingRule for
6871
6896
  # Forwarding Rule resources.
6872
6897
  # Corresponds to the JSON property `kind`
@@ -6893,12 +6918,14 @@ module Google
6893
6918
  # @return [Hash<String,String>]
6894
6919
  attr_accessor :labels
6895
6920
 
6896
- # This signifies what the ForwardingRule will be used for and can only take the
6897
- # following values: INTERNAL, INTERNAL_SELF_MANAGED, EXTERNAL. The value of
6898
- # INTERNAL means that this will be used for Internal Network Load Balancing (TCP,
6899
- # UDP). The value of INTERNAL_SELF_MANAGED means that this will be used for
6900
- # Internal Global HTTP(S) LB. The value of EXTERNAL means that this will be used
6901
- # for External Load Balancing (HTTP(S) LB, External TCP/UDP LB, SSL Proxy)
6921
+ # Specifies the forwarding rule type. EXTERNAL is used for: - Classic Cloud VPN
6922
+ # gateways - Protocol forwarding to VMs from an external IP address - The
6923
+ # following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/UDP.
6924
+ # INTERNAL is used for: - Protocol forwarding to VMs from an internal IP address
6925
+ # - Internal TCP/UDP load balancers
6926
+ # INTERNAL_MANAGED is used for: - Internal HTTP(S) load balancers
6927
+ # INTERNAL_SELF_MANAGED is used for: - Traffic Director
6928
+ # For more information about forwarding rules, refer to Forwarding rule concepts.
6902
6929
  # Corresponds to the JSON property `loadBalancingScheme`
6903
6930
  # @return [String]
6904
6931
  attr_accessor :load_balancing_scheme
@@ -7054,6 +7081,7 @@ module Google
7054
7081
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
7055
7082
  @id = args[:id] if args.key?(:id)
7056
7083
  @ip_version = args[:ip_version] if args.key?(:ip_version)
7084
+ @is_mirroring_collector = args[:is_mirroring_collector] if args.key?(:is_mirroring_collector)
7057
7085
  @kind = args[:kind] if args.key?(:kind)
7058
7086
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
7059
7087
  @labels = args[:labels] if args.key?(:labels)
@@ -7474,19 +7502,28 @@ module Google
7474
7502
 
7475
7503
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
7476
7504
  # access control policies for Cloud Platform resources.
7477
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
7478
- # members` to a `role`, where the members can be user accounts, Google groups,
7479
- # Google domains, and service accounts. A `role` is a named list of permissions
7480
- # defined by IAM.
7505
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
7506
+ # members` to a single `role`. Members can be user accounts, service accounts,
7507
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
7508
+ # permissions (defined by IAM or configured by users). A `binding` can
7509
+ # optionally specify a `condition`, which is a logic expression that further
7510
+ # constrains the role binding based on attributes about the request and/or
7511
+ # target resource.
7481
7512
  # **JSON Example**
7482
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
7483
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
7484
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
7485
- # sean@example.com"] ` ] `
7513
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
7514
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
7515
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
7516
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
7517
+ # "condition": ` "title": "expirable access", "description": "Does not grant
7518
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
7519
+ # 00:00.000Z')", ` ` ] `
7486
7520
  # **YAML Example**
7487
7521
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
7488
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
7489
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
7522
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
7523
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
7524
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
7525
+ # access description: Does not grant access after Sep 2020 expression: request.
7526
+ # time < timestamp('2020-10-01T00:00:00.000Z')
7490
7527
  # For a description of IAM and its features, see the [IAM developer's guide](
7491
7528
  # https://cloud.google.com/iam/docs).
7492
7529
  # Corresponds to the JSON property `policy`
@@ -9058,7 +9095,8 @@ module Google
9058
9095
  class HttpRetryPolicy
9059
9096
  include Google::Apis::Core::Hashable
9060
9097
 
9061
- # Specifies the allowed number retries. This number must be > 0.
9098
+ # Specifies the allowed number retries. This number must be > 0. If not
9099
+ # specified, defaults to 1.
9062
9100
  # Corresponds to the JSON property `numRetries`
9063
9101
  # @return [Fixnum]
9064
9102
  attr_accessor :num_retries
@@ -9192,6 +9230,12 @@ module Google
9192
9230
  class HttpRouteRule
9193
9231
  include Google::Apis::Core::Hashable
9194
9232
 
9233
+ # The short description conveying the intent of this routeRule.
9234
+ # The description can have a maximum length of 1024 characters.
9235
+ # Corresponds to the JSON property `description`
9236
+ # @return [String]
9237
+ attr_accessor :description
9238
+
9195
9239
  # The request and response header transformations that take effect before the
9196
9240
  # request is passed along to the selected backendService.
9197
9241
  # Corresponds to the JSON property `headerAction`
@@ -9203,6 +9247,22 @@ module Google
9203
9247
  # @return [Array<Google::Apis::ComputeBeta::HttpRouteRuleMatch>]
9204
9248
  attr_accessor :match_rules
9205
9249
 
9250
+ # For routeRules within a given pathMatcher, priority determines the order in
9251
+ # which load balancer will interpret routeRules. RouteRules are evaluated in
9252
+ # order of priority, from the lowest to highest number. The priority of a rule
9253
+ # decreases as its number increases (1, 2, 3, N+1). The first rule that matches
9254
+ # the request is applied.
9255
+ # You cannot configure two or more routeRules with the same priority. Priority
9256
+ # for each rule must be set to a number between 0 and 2147483647 inclusive.
9257
+ # Priority numbers can have gaps, which enable you to add or remove rules in the
9258
+ # future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9,
9259
+ # 12, 16 is a valid series of priority numbers to which you could add rules
9260
+ # numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact
9261
+ # on existing rules.
9262
+ # Corresponds to the JSON property `priority`
9263
+ # @return [Fixnum]
9264
+ attr_accessor :priority
9265
+
9206
9266
  # In response to a matching matchRule, the load balancer performs advanced
9207
9267
  # routing actions like URL rewrites, header transformations, etc. prior to
9208
9268
  # forwarding the request to the selected backend. If routeAction specifies any
@@ -9236,8 +9296,10 @@ module Google
9236
9296
 
9237
9297
  # Update properties of this object
9238
9298
  def update!(**args)
9299
+ @description = args[:description] if args.key?(:description)
9239
9300
  @header_action = args[:header_action] if args.key?(:header_action)
9240
9301
  @match_rules = args[:match_rules] if args.key?(:match_rules)
9302
+ @priority = args[:priority] if args.key?(:priority)
9241
9303
  @route_action = args[:route_action] if args.key?(:route_action)
9242
9304
  @service = args[:service] if args.key?(:service)
9243
9305
  @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
@@ -14931,10 +14993,10 @@ module Google
14931
14993
  # a representation of IAMContext.principal even if a token or authority selector
14932
14994
  # is present; or - "" (empty string), resulting in a counter with no fields.
14933
14995
  # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==>
14934
- # increment counter /iam/policy/backend_debug_access_count `iam_principal=[value
14935
- # of IAMContext.principal]`
14936
- # At this time we do not support multiple field names (though this may be
14937
- # supported in the future).
14996
+ # increment counter /iam/policy/debug_access_count `iam_principal=[value of
14997
+ # IAMContext.principal]`
14998
+ # TODO(b/141846426): Consider supporting "authority" and "iam_principal" fields
14999
+ # in the same counter.
14938
15000
  # Corresponds to the JSON property `counter`
14939
15001
  # @return [Google::Apis::ComputeBeta::LogConfigCounterOptions]
14940
15002
  attr_accessor :counter
@@ -14993,13 +15055,18 @@ module Google
14993
15055
  # a representation of IAMContext.principal even if a token or authority selector
14994
15056
  # is present; or - "" (empty string), resulting in a counter with no fields.
14995
15057
  # Examples: counter ` metric: "/debug_access_count" field: "iam_principal" ` ==>
14996
- # increment counter /iam/policy/backend_debug_access_count `iam_principal=[value
14997
- # of IAMContext.principal]`
14998
- # At this time we do not support multiple field names (though this may be
14999
- # supported in the future).
15058
+ # increment counter /iam/policy/debug_access_count `iam_principal=[value of
15059
+ # IAMContext.principal]`
15060
+ # TODO(b/141846426): Consider supporting "authority" and "iam_principal" fields
15061
+ # in the same counter.
15000
15062
  class LogConfigCounterOptions
15001
15063
  include Google::Apis::Core::Hashable
15002
15064
 
15065
+ # Custom fields.
15066
+ # Corresponds to the JSON property `customFields`
15067
+ # @return [Array<Google::Apis::ComputeBeta::LogConfigCounterOptionsCustomField>]
15068
+ attr_accessor :custom_fields
15069
+
15003
15070
  # The field value to attribute.
15004
15071
  # Corresponds to the JSON property `field`
15005
15072
  # @return [String]
@@ -15016,11 +15083,40 @@ module Google
15016
15083
 
15017
15084
  # Update properties of this object
15018
15085
  def update!(**args)
15086
+ @custom_fields = args[:custom_fields] if args.key?(:custom_fields)
15019
15087
  @field = args[:field] if args.key?(:field)
15020
15088
  @metric = args[:metric] if args.key?(:metric)
15021
15089
  end
15022
15090
  end
15023
15091
 
15092
+ # Custom fields. These can be used to create a counter with arbitrary field/
15093
+ # value pairs. See: go/rpcsp-custom-fields.
15094
+ class LogConfigCounterOptionsCustomField
15095
+ include Google::Apis::Core::Hashable
15096
+
15097
+ # Name is the field name.
15098
+ # Corresponds to the JSON property `name`
15099
+ # @return [String]
15100
+ attr_accessor :name
15101
+
15102
+ # Value is the field value. It is important that in contrast to the
15103
+ # CounterOptions.field, the value here is a constant that is not derived from
15104
+ # the IAMContext.
15105
+ # Corresponds to the JSON property `value`
15106
+ # @return [String]
15107
+ attr_accessor :value
15108
+
15109
+ def initialize(**args)
15110
+ update!(**args)
15111
+ end
15112
+
15113
+ # Update properties of this object
15114
+ def update!(**args)
15115
+ @name = args[:name] if args.key?(:name)
15116
+ @value = args[:value] if args.key?(:value)
15117
+ end
15118
+ end
15119
+
15024
15120
  # Write a Data Access (Gin) log
15025
15121
  class LogConfigDataAccessOptions
15026
15122
  include Google::Apis::Core::Hashable
@@ -19214,7 +19310,8 @@ module Google
19214
19310
  end
19215
19311
  end
19216
19312
 
19217
- # Settings controlling eviction of unhealthy hosts from the load balancing pool.
19313
+ # Settings controlling the eviction of unhealthy hosts from the load balancing
19314
+ # pool for the backend service.
19218
19315
  class OutlierDetection
19219
19316
  include Google::Apis::Core::Hashable
19220
19317
 
@@ -19235,21 +19332,21 @@ module Google
19235
19332
 
19236
19333
  # The number of consecutive gateway failures (502, 503, 504 status or connection
19237
19334
  # errors that are mapped to one of those status codes) before a consecutive
19238
- # gateway failure ejection occurs. Defaults to 5.
19335
+ # gateway failure ejection occurs. Defaults to 3.
19239
19336
  # Corresponds to the JSON property `consecutiveGatewayFailure`
19240
19337
  # @return [Fixnum]
19241
19338
  attr_accessor :consecutive_gateway_failure
19242
19339
 
19243
19340
  # The percentage chance that a host will be actually ejected when an outlier
19244
19341
  # status is detected through consecutive 5xx. This setting can be used to
19245
- # disable ejection or to ramp it up slowly. Defaults to 100.
19342
+ # disable ejection or to ramp it up slowly. Defaults to 0.
19246
19343
  # Corresponds to the JSON property `enforcingConsecutiveErrors`
19247
19344
  # @return [Fixnum]
19248
19345
  attr_accessor :enforcing_consecutive_errors
19249
19346
 
19250
19347
  # The percentage chance that a host will be actually ejected when an outlier
19251
19348
  # status is detected through consecutive gateway failures. This setting can be
19252
- # used to disable ejection or to ramp it up slowly. Defaults to 0.
19349
+ # used to disable ejection or to ramp it up slowly. Defaults to 100.
19253
19350
  # Corresponds to the JSON property `enforcingConsecutiveGatewayFailure`
19254
19351
  # @return [Fixnum]
19255
19352
  attr_accessor :enforcing_consecutive_gateway_failure
@@ -19270,7 +19367,7 @@ module Google
19270
19367
  attr_accessor :interval
19271
19368
 
19272
19369
  # Maximum percentage of hosts in the load balancing pool for the backend service
19273
- # that can be ejected. Defaults to 10%.
19370
+ # that can be ejected. Defaults to 50%.
19274
19371
  # Corresponds to the JSON property `maxEjectionPercent`
19275
19372
  # @return [Fixnum]
19276
19373
  attr_accessor :max_ejection_percent
@@ -19371,49 +19468,21 @@ module Google
19371
19468
  end
19372
19469
  end
19373
19470
 
19374
- # A matcher for the path portion of the URL. The BackendService from the longest-
19375
- # matched rule will serve the URL. If no rule was matched, the default service
19376
- # will be used.
19377
- class PathMatcher
19471
+ # Represents a PacketMirroring resource.
19472
+ class PacketMirroring
19378
19473
  include Google::Apis::Core::Hashable
19379
19474
 
19380
- # defaultRouteAction takes effect when none of the pathRules or routeRules
19381
- # match. The load balancer performs advanced routing actions like URL rewrites,
19382
- # header transformations, etc. prior to forwarding the request to the selected
19383
- # backend. If defaultRouteAction specifies any weightedBackendServices,
19384
- # defaultService must not be set. Conversely if defaultService is set,
19385
- # defaultRouteAction cannot contain any weightedBackendServices.
19386
- # Only one of defaultRouteAction or defaultUrlRedirect must be set.
19387
- # Corresponds to the JSON property `defaultRouteAction`
19388
- # @return [Google::Apis::ComputeBeta::HttpRouteAction]
19389
- attr_accessor :default_route_action
19475
+ # The Forwarding Rule resource of type loadBalancingScheme=INTERNAL that will be
19476
+ # used as collector for mirrored traffic. The specified forwarding rule must
19477
+ # have isMirroringCollector set to true.
19478
+ # Corresponds to the JSON property `collectorIlb`
19479
+ # @return [Google::Apis::ComputeBeta::PacketMirroringForwardingRuleInfo]
19480
+ attr_accessor :collector_ilb
19390
19481
 
19391
- # The full or partial URL to the BackendService resource. This will be used if
19392
- # none of the pathRules or routeRules defined by this PathMatcher are matched.
19393
- # For example, the following are all valid URLs to a BackendService resource:
19394
- # - https://www.googleapis.com/compute/v1/projects/project/global/
19395
- # backendServices/backendService
19396
- # - compute/v1/projects/project/global/backendServices/backendService
19397
- # - global/backendServices/backendService If defaultRouteAction is additionally
19398
- # specified, advanced routing actions like URL Rewrites, etc. take effect prior
19399
- # to sending the request to the backend. However, if defaultService is specified,
19400
- # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
19401
- # defaultRouteAction specifies any weightedBackendServices, defaultService must
19402
- # not be specified.
19403
- # Only one of defaultService, defaultUrlRedirect or defaultRouteAction.
19404
- # weightedBackendService must be set.
19405
- # Authorization requires one or more of the following Google IAM permissions on
19406
- # the specified resource default_service:
19407
- # - compute.backendBuckets.use
19408
- # - compute.backendServices.use
19409
- # Corresponds to the JSON property `defaultService`
19482
+ # [Output Only] Creation timestamp in RFC3339 text format.
19483
+ # Corresponds to the JSON property `creationTimestamp`
19410
19484
  # @return [String]
19411
- attr_accessor :default_service
19412
-
19413
- # Specifies settings for an HTTP redirect.
19414
- # Corresponds to the JSON property `defaultUrlRedirect`
19415
- # @return [Google::Apis::ComputeBeta::HttpRedirectAction]
19416
- attr_accessor :default_url_redirect
19485
+ attr_accessor :creation_timestamp
19417
19486
 
19418
19487
  # An optional description of this resource. Provide this property when you
19419
19488
  # create the resource.
@@ -19421,37 +19490,72 @@ module Google
19421
19490
  # @return [String]
19422
19491
  attr_accessor :description
19423
19492
 
19424
- # The request and response header transformations that take effect before the
19425
- # request is passed along to the selected backendService.
19426
- # Corresponds to the JSON property `headerAction`
19427
- # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
19428
- attr_accessor :header_action
19493
+ # Indicates whether or not this packet mirroring takes effect. If set to FALSE,
19494
+ # this packet mirroring policy will not be enforced on the network.
19495
+ # The default is TRUE.
19496
+ # Corresponds to the JSON property `enable`
19497
+ # @return [String]
19498
+ attr_accessor :enable
19429
19499
 
19430
- # The name to which this PathMatcher is referred by the HostRule.
19500
+ # Filter for mirrored traffic. If unspecified, all traffic is mirrored.
19501
+ # Corresponds to the JSON property `filter`
19502
+ # @return [Google::Apis::ComputeBeta::PacketMirroringFilter]
19503
+ attr_accessor :filter
19504
+
19505
+ # [Output Only] The unique identifier for the resource. This identifier is
19506
+ # defined by the server.
19507
+ # Corresponds to the JSON property `id`
19508
+ # @return [Fixnum]
19509
+ attr_accessor :id
19510
+
19511
+ # [Output Only] Type of the resource. Always compute#packetMirroring for packet
19512
+ # mirrorings.
19513
+ # Corresponds to the JSON property `kind`
19514
+ # @return [String]
19515
+ attr_accessor :kind
19516
+
19517
+ # PacketMirroring mirroredResourceInfos. MirroredResourceInfo specifies a set of
19518
+ # mirrored VM instances, subnetworks and/or tags for which traffic from/to all
19519
+ # VM instances will be mirrored.
19520
+ # Corresponds to the JSON property `mirroredResources`
19521
+ # @return [Google::Apis::ComputeBeta::PacketMirroringMirroredResourceInfo]
19522
+ attr_accessor :mirrored_resources
19523
+
19524
+ # Name of the resource; provided by the client when the resource is created. The
19525
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
19526
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
19527
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
19528
+ # and all following characters must be a dash, lowercase letter, or digit,
19529
+ # except the last character, which cannot be a dash.
19431
19530
  # Corresponds to the JSON property `name`
19432
19531
  # @return [String]
19433
19532
  attr_accessor :name
19434
19533
 
19435
- # The list of path rules. Use this list instead of routeRules when routing based
19436
- # on simple path matching is all that's required. The order by which path rules
19437
- # are specified does not matter. Matches are always done on the longest-path-
19438
- # first basis.
19439
- # For example: a pathRule with a path /a/b/c/* will match before /a/b/*
19440
- # irrespective of the order in which those paths appear in this list.
19441
- # Within a given pathMatcher, only one of pathRules or routeRules must be set.
19442
- # Corresponds to the JSON property `pathRules`
19443
- # @return [Array<Google::Apis::ComputeBeta::PathRule>]
19444
- attr_accessor :path_rules
19534
+ # Specifies the mirrored VPC network. Only packets in this network will be
19535
+ # mirrored. All mirrored VMs should have a NIC in the given network. All
19536
+ # mirrored subnetworks should belong to the given network.
19537
+ # Corresponds to the JSON property `network`
19538
+ # @return [Google::Apis::ComputeBeta::PacketMirroringNetworkInfo]
19539
+ attr_accessor :network
19445
19540
 
19446
- # The list of ordered HTTP route rules. Use this list instead of pathRules when
19447
- # advanced route matching and routing actions are desired. The order of
19448
- # specifying routeRules matters: the first rule that matches will cause its
19449
- # specified routing action to take effect.
19450
- # Within a given pathMatcher, only one of pathRules or routeRules must be set.
19451
- # routeRules are not supported in UrlMaps intended for External Load balancers.
19452
- # Corresponds to the JSON property `routeRules`
19453
- # @return [Array<Google::Apis::ComputeBeta::HttpRouteRule>]
19454
- attr_accessor :route_rules
19541
+ # The priority of applying this configuration. Priority is used to break ties in
19542
+ # cases where there is more than one matching rule. In the case of two rules
19543
+ # that apply for a given Instance, the one with the lowest-numbered priority
19544
+ # value wins.
19545
+ # Default value is 1000. Valid range is 0 through 65535.
19546
+ # Corresponds to the JSON property `priority`
19547
+ # @return [Fixnum]
19548
+ attr_accessor :priority
19549
+
19550
+ # [Output Only] URI of the region where the packetMirroring resides.
19551
+ # Corresponds to the JSON property `region`
19552
+ # @return [String]
19553
+ attr_accessor :region
19554
+
19555
+ # [Output Only] Server-defined URL for the resource.
19556
+ # Corresponds to the JSON property `selfLink`
19557
+ # @return [String]
19558
+ attr_accessor :self_link
19455
19559
 
19456
19560
  def initialize(**args)
19457
19561
  update!(**args)
@@ -19459,92 +19563,59 @@ module Google
19459
19563
 
19460
19564
  # Update properties of this object
19461
19565
  def update!(**args)
19462
- @default_route_action = args[:default_route_action] if args.key?(:default_route_action)
19463
- @default_service = args[:default_service] if args.key?(:default_service)
19464
- @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)
19566
+ @collector_ilb = args[:collector_ilb] if args.key?(:collector_ilb)
19567
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
19465
19568
  @description = args[:description] if args.key?(:description)
19466
- @header_action = args[:header_action] if args.key?(:header_action)
19569
+ @enable = args[:enable] if args.key?(:enable)
19570
+ @filter = args[:filter] if args.key?(:filter)
19571
+ @id = args[:id] if args.key?(:id)
19572
+ @kind = args[:kind] if args.key?(:kind)
19573
+ @mirrored_resources = args[:mirrored_resources] if args.key?(:mirrored_resources)
19467
19574
  @name = args[:name] if args.key?(:name)
19468
- @path_rules = args[:path_rules] if args.key?(:path_rules)
19469
- @route_rules = args[:route_rules] if args.key?(:route_rules)
19575
+ @network = args[:network] if args.key?(:network)
19576
+ @priority = args[:priority] if args.key?(:priority)
19577
+ @region = args[:region] if args.key?(:region)
19578
+ @self_link = args[:self_link] if args.key?(:self_link)
19470
19579
  end
19471
19580
  end
19472
19581
 
19473
- # A path-matching rule for a URL. If matched, will use the specified
19474
- # BackendService to handle the traffic arriving at this URL.
19475
- class PathRule
19582
+ # Contains a list of packetMirrorings.
19583
+ class PacketMirroringAggregatedList
19476
19584
  include Google::Apis::Core::Hashable
19477
19585
 
19478
- # The list of path patterns to match. Each must start with / and the only place
19479
- # a * is allowed is at the end following a /. The string fed to the path matcher
19480
- # does not include any text after the first ? or #, and those chars are not
19481
- # allowed here.
19482
- # Corresponds to the JSON property `paths`
19483
- # @return [Array<String>]
19484
- attr_accessor :paths
19485
-
19486
- # In response to a matching path, the load balancer performs advanced routing
19487
- # actions like URL rewrites, header transformations, etc. prior to forwarding
19488
- # the request to the selected backend. If routeAction specifies any
19489
- # weightedBackendServices, service must not be set. Conversely if service is set,
19490
- # routeAction cannot contain any weightedBackendServices.
19491
- # Only one of routeAction or urlRedirect must be set.
19492
- # Corresponds to the JSON property `routeAction`
19493
- # @return [Google::Apis::ComputeBeta::HttpRouteAction]
19494
- attr_accessor :route_action
19495
-
19496
- # The full or partial URL of the backend service resource to which traffic is
19497
- # directed if this rule is matched. If routeAction is additionally specified,
19498
- # advanced routing actions like URL Rewrites, etc. take effect prior to sending
19499
- # the request to the backend. However, if service is specified, routeAction
19500
- # cannot contain any weightedBackendService s. Conversely, if routeAction
19501
- # specifies any weightedBackendServices, service must not be specified.
19502
- # Only one of urlRedirect, service or routeAction.weightedBackendService must be
19503
- # set.
19504
- # Corresponds to the JSON property `service`
19586
+ # [Output Only] Unique identifier for the resource; defined by the server.
19587
+ # Corresponds to the JSON property `id`
19505
19588
  # @return [String]
19506
- attr_accessor :service
19507
-
19508
- # Specifies settings for an HTTP redirect.
19509
- # Corresponds to the JSON property `urlRedirect`
19510
- # @return [Google::Apis::ComputeBeta::HttpRedirectAction]
19511
- attr_accessor :url_redirect
19512
-
19513
- def initialize(**args)
19514
- update!(**args)
19515
- end
19589
+ attr_accessor :id
19516
19590
 
19517
- # Update properties of this object
19518
- def update!(**args)
19519
- @paths = args[:paths] if args.key?(:paths)
19520
- @route_action = args[:route_action] if args.key?(:route_action)
19521
- @service = args[:service] if args.key?(:service)
19522
- @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
19523
- end
19524
- end
19591
+ # A list of PacketMirroring resources.
19592
+ # Corresponds to the JSON property `items`
19593
+ # @return [Hash<String,Google::Apis::ComputeBeta::PacketMirroringsScopedList>]
19594
+ attr_accessor :items
19525
19595
 
19526
- #
19527
- class PerInstanceConfig
19528
- include Google::Apis::Core::Hashable
19596
+ # Type of resource.
19597
+ # Corresponds to the JSON property `kind`
19598
+ # @return [String]
19599
+ attr_accessor :kind
19529
19600
 
19530
- # Fingerprint of this per-instance config. This field may be used in optimistic
19531
- # locking. It will be ignored when inserting a per-instance config. An up-to-
19532
- # date fingerprint must be provided in order to update an existing per-instance
19533
- # config or the field needs to be unset.
19534
- # Corresponds to the JSON property `fingerprint`
19535
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
19601
+ # [Output Only] This token allows you to get the next page of results for list
19602
+ # requests. If the number of results is larger than maxResults, use the
19603
+ # nextPageToken as a value for the query parameter pageToken in the next list
19604
+ # request. Subsequent list requests will have their own nextPageToken to
19605
+ # continue paging through the results.
19606
+ # Corresponds to the JSON property `nextPageToken`
19536
19607
  # @return [String]
19537
- attr_accessor :fingerprint
19608
+ attr_accessor :next_page_token
19538
19609
 
19539
- # The name of the per-instance config and the corresponding instance. Serves as
19540
- # a merge key during UpdatePerInstanceConfigs operation, i.e. if per-instance
19541
- # config with the same name exists then it will be updated, otherwise a new one
19542
- # will be created for the VM instance with the same name. An attempt to create a
19543
- # per-instance config for a VM instance that either doesn't exist or is not part
19544
- # of the group will result in a failure.
19545
- # Corresponds to the JSON property `name`
19610
+ # [Output Only] Server-defined URL for this resource.
19611
+ # Corresponds to the JSON property `selfLink`
19546
19612
  # @return [String]
19547
- attr_accessor :name
19613
+ attr_accessor :self_link
19614
+
19615
+ # [Output Only] Informational warning message.
19616
+ # Corresponds to the JSON property `warning`
19617
+ # @return [Google::Apis::ComputeBeta::PacketMirroringAggregatedList::Warning]
19618
+ attr_accessor :warning
19548
19619
 
19549
19620
  def initialize(**args)
19550
19621
  update!(**args)
@@ -19552,26 +19623,668 @@ module Google
19552
19623
 
19553
19624
  # Update properties of this object
19554
19625
  def update!(**args)
19555
- @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
19556
- @name = args[:name] if args.key?(:name)
19557
- end
19626
+ @id = args[:id] if args.key?(:id)
19627
+ @items = args[:items] if args.key?(:items)
19628
+ @kind = args[:kind] if args.key?(:kind)
19629
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
19630
+ @self_link = args[:self_link] if args.key?(:self_link)
19631
+ @warning = args[:warning] if args.key?(:warning)
19632
+ end
19633
+
19634
+ # [Output Only] Informational warning message.
19635
+ class Warning
19636
+ include Google::Apis::Core::Hashable
19637
+
19638
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
19639
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
19640
+ # Corresponds to the JSON property `code`
19641
+ # @return [String]
19642
+ attr_accessor :code
19643
+
19644
+ # [Output Only] Metadata about this warning in key: value format. For example:
19645
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
19646
+ # Corresponds to the JSON property `data`
19647
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroringAggregatedList::Warning::Datum>]
19648
+ attr_accessor :data
19649
+
19650
+ # [Output Only] A human-readable description of the warning code.
19651
+ # Corresponds to the JSON property `message`
19652
+ # @return [String]
19653
+ attr_accessor :message
19654
+
19655
+ def initialize(**args)
19656
+ update!(**args)
19657
+ end
19658
+
19659
+ # Update properties of this object
19660
+ def update!(**args)
19661
+ @code = args[:code] if args.key?(:code)
19662
+ @data = args[:data] if args.key?(:data)
19663
+ @message = args[:message] if args.key?(:message)
19664
+ end
19665
+
19666
+ #
19667
+ class Datum
19668
+ include Google::Apis::Core::Hashable
19669
+
19670
+ # [Output Only] A key that provides more detail on the warning being returned.
19671
+ # For example, for warnings where there are no results in a list request for a
19672
+ # particular zone, this key might be scope and the key value might be the zone
19673
+ # name. Other examples might be a key indicating a deprecated resource and a
19674
+ # suggested replacement, or a warning about invalid network settings (for
19675
+ # example, if an instance attempts to perform IP forwarding but is not enabled
19676
+ # for IP forwarding).
19677
+ # Corresponds to the JSON property `key`
19678
+ # @return [String]
19679
+ attr_accessor :key
19680
+
19681
+ # [Output Only] A warning data value corresponding to the key.
19682
+ # Corresponds to the JSON property `value`
19683
+ # @return [String]
19684
+ attr_accessor :value
19685
+
19686
+ def initialize(**args)
19687
+ update!(**args)
19688
+ end
19689
+
19690
+ # Update properties of this object
19691
+ def update!(**args)
19692
+ @key = args[:key] if args.key?(:key)
19693
+ @value = args[:value] if args.key?(:value)
19694
+ end
19695
+ end
19696
+ end
19697
+ end
19698
+
19699
+ #
19700
+ class PacketMirroringFilter
19701
+ include Google::Apis::Core::Hashable
19702
+
19703
+ # Protocols that apply as filter on mirrored traffic. If no protocols are
19704
+ # specified, all traffic that matches the specified CIDR ranges is mirrored. If
19705
+ # neither cidrRanges nor IPProtocols is specified, all traffic is mirrored.
19706
+ # Corresponds to the JSON property `IPProtocols`
19707
+ # @return [Array<String>]
19708
+ attr_accessor :ip_protocols
19709
+
19710
+ # IP CIDR ranges that apply as filter on the source (ingress) or destination (
19711
+ # egress) IP in the IP header. Only IPv4 is supported. If no ranges are
19712
+ # specified, all traffic that matches the specified IPProtocols is mirrored. If
19713
+ # neither cidrRanges nor IPProtocols is specified, all traffic is mirrored.
19714
+ # Corresponds to the JSON property `cidrRanges`
19715
+ # @return [Array<String>]
19716
+ attr_accessor :cidr_ranges
19717
+
19718
+ def initialize(**args)
19719
+ update!(**args)
19720
+ end
19721
+
19722
+ # Update properties of this object
19723
+ def update!(**args)
19724
+ @ip_protocols = args[:ip_protocols] if args.key?(:ip_protocols)
19725
+ @cidr_ranges = args[:cidr_ranges] if args.key?(:cidr_ranges)
19726
+ end
19727
+ end
19728
+
19729
+ #
19730
+ class PacketMirroringForwardingRuleInfo
19731
+ include Google::Apis::Core::Hashable
19732
+
19733
+ # [Output Only] Unique identifier for the forwarding rule; defined by the server.
19734
+ # Corresponds to the JSON property `canonicalUrl`
19735
+ # @return [String]
19736
+ attr_accessor :canonical_url
19737
+
19738
+ # Resource URL to the forwarding rule representing the ILB configured as
19739
+ # destination of the mirrored traffic.
19740
+ # Corresponds to the JSON property `url`
19741
+ # @return [String]
19742
+ attr_accessor :url
19743
+
19744
+ def initialize(**args)
19745
+ update!(**args)
19746
+ end
19747
+
19748
+ # Update properties of this object
19749
+ def update!(**args)
19750
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
19751
+ @url = args[:url] if args.key?(:url)
19752
+ end
19753
+ end
19754
+
19755
+ # Contains a list of PacketMirroring resources.
19756
+ class PacketMirroringList
19757
+ include Google::Apis::Core::Hashable
19758
+
19759
+ # [Output Only] Unique identifier for the resource; defined by the server.
19760
+ # Corresponds to the JSON property `id`
19761
+ # @return [String]
19762
+ attr_accessor :id
19763
+
19764
+ # A list of PacketMirroring resources.
19765
+ # Corresponds to the JSON property `items`
19766
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroring>]
19767
+ attr_accessor :items
19768
+
19769
+ # [Output Only] Type of resource. Always compute#packetMirroring for
19770
+ # packetMirrorings.
19771
+ # Corresponds to the JSON property `kind`
19772
+ # @return [String]
19773
+ attr_accessor :kind
19774
+
19775
+ # [Output Only] This token allows you to get the next page of results for list
19776
+ # requests. If the number of results is larger than maxResults, use the
19777
+ # nextPageToken as a value for the query parameter pageToken in the next list
19778
+ # request. Subsequent list requests will have their own nextPageToken to
19779
+ # continue paging through the results.
19780
+ # Corresponds to the JSON property `nextPageToken`
19781
+ # @return [String]
19782
+ attr_accessor :next_page_token
19783
+
19784
+ # [Output Only] Server-defined URL for this resource.
19785
+ # Corresponds to the JSON property `selfLink`
19786
+ # @return [String]
19787
+ attr_accessor :self_link
19788
+
19789
+ # [Output Only] Informational warning message.
19790
+ # Corresponds to the JSON property `warning`
19791
+ # @return [Google::Apis::ComputeBeta::PacketMirroringList::Warning]
19792
+ attr_accessor :warning
19793
+
19794
+ def initialize(**args)
19795
+ update!(**args)
19796
+ end
19797
+
19798
+ # Update properties of this object
19799
+ def update!(**args)
19800
+ @id = args[:id] if args.key?(:id)
19801
+ @items = args[:items] if args.key?(:items)
19802
+ @kind = args[:kind] if args.key?(:kind)
19803
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
19804
+ @self_link = args[:self_link] if args.key?(:self_link)
19805
+ @warning = args[:warning] if args.key?(:warning)
19806
+ end
19807
+
19808
+ # [Output Only] Informational warning message.
19809
+ class Warning
19810
+ include Google::Apis::Core::Hashable
19811
+
19812
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
19813
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
19814
+ # Corresponds to the JSON property `code`
19815
+ # @return [String]
19816
+ attr_accessor :code
19817
+
19818
+ # [Output Only] Metadata about this warning in key: value format. For example:
19819
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
19820
+ # Corresponds to the JSON property `data`
19821
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroringList::Warning::Datum>]
19822
+ attr_accessor :data
19823
+
19824
+ # [Output Only] A human-readable description of the warning code.
19825
+ # Corresponds to the JSON property `message`
19826
+ # @return [String]
19827
+ attr_accessor :message
19828
+
19829
+ def initialize(**args)
19830
+ update!(**args)
19831
+ end
19832
+
19833
+ # Update properties of this object
19834
+ def update!(**args)
19835
+ @code = args[:code] if args.key?(:code)
19836
+ @data = args[:data] if args.key?(:data)
19837
+ @message = args[:message] if args.key?(:message)
19838
+ end
19839
+
19840
+ #
19841
+ class Datum
19842
+ include Google::Apis::Core::Hashable
19843
+
19844
+ # [Output Only] A key that provides more detail on the warning being returned.
19845
+ # For example, for warnings where there are no results in a list request for a
19846
+ # particular zone, this key might be scope and the key value might be the zone
19847
+ # name. Other examples might be a key indicating a deprecated resource and a
19848
+ # suggested replacement, or a warning about invalid network settings (for
19849
+ # example, if an instance attempts to perform IP forwarding but is not enabled
19850
+ # for IP forwarding).
19851
+ # Corresponds to the JSON property `key`
19852
+ # @return [String]
19853
+ attr_accessor :key
19854
+
19855
+ # [Output Only] A warning data value corresponding to the key.
19856
+ # Corresponds to the JSON property `value`
19857
+ # @return [String]
19858
+ attr_accessor :value
19859
+
19860
+ def initialize(**args)
19861
+ update!(**args)
19862
+ end
19863
+
19864
+ # Update properties of this object
19865
+ def update!(**args)
19866
+ @key = args[:key] if args.key?(:key)
19867
+ @value = args[:value] if args.key?(:value)
19868
+ end
19869
+ end
19870
+ end
19871
+ end
19872
+
19873
+ #
19874
+ class PacketMirroringMirroredResourceInfo
19875
+ include Google::Apis::Core::Hashable
19876
+
19877
+ # A set of virtual machine instances that are being mirrored. They must live in
19878
+ # zones contained in the same region as this packetMirroring.
19879
+ # Note that this config will apply only to those network interfaces of the
19880
+ # Instances that belong to the network specified in this packetMirroring.
19881
+ # You may specify a maximum of 50 Instances.
19882
+ # Corresponds to the JSON property `instances`
19883
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroringMirroredResourceInfoInstanceInfo>]
19884
+ attr_accessor :instances
19885
+
19886
+ # A set of subnetworks for which traffic from/to all VM instances will be
19887
+ # mirrored. They must live in the same region as this packetMirroring.
19888
+ # You may specify a maximum of 5 subnetworks.
19889
+ # Corresponds to the JSON property `subnetworks`
19890
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroringMirroredResourceInfoSubnetInfo>]
19891
+ attr_accessor :subnetworks
19892
+
19893
+ # A set of mirrored tags. Traffic from/to all VM instances that have one or more
19894
+ # of these tags will be mirrored.
19895
+ # Corresponds to the JSON property `tags`
19896
+ # @return [Array<String>]
19897
+ attr_accessor :tags
19898
+
19899
+ def initialize(**args)
19900
+ update!(**args)
19901
+ end
19902
+
19903
+ # Update properties of this object
19904
+ def update!(**args)
19905
+ @instances = args[:instances] if args.key?(:instances)
19906
+ @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
19907
+ @tags = args[:tags] if args.key?(:tags)
19908
+ end
19909
+ end
19910
+
19911
+ #
19912
+ class PacketMirroringMirroredResourceInfoInstanceInfo
19913
+ include Google::Apis::Core::Hashable
19914
+
19915
+ # [Output Only] Unique identifier for the instance; defined by the server.
19916
+ # Corresponds to the JSON property `canonicalUrl`
19917
+ # @return [String]
19918
+ attr_accessor :canonical_url
19919
+
19920
+ # Resource URL to the virtual machine instance which is being mirrored.
19921
+ # Corresponds to the JSON property `url`
19922
+ # @return [String]
19923
+ attr_accessor :url
19924
+
19925
+ def initialize(**args)
19926
+ update!(**args)
19927
+ end
19928
+
19929
+ # Update properties of this object
19930
+ def update!(**args)
19931
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
19932
+ @url = args[:url] if args.key?(:url)
19933
+ end
19934
+ end
19935
+
19936
+ #
19937
+ class PacketMirroringMirroredResourceInfoSubnetInfo
19938
+ include Google::Apis::Core::Hashable
19939
+
19940
+ # [Output Only] Unique identifier for the subnetwork; defined by the server.
19941
+ # Corresponds to the JSON property `canonicalUrl`
19942
+ # @return [String]
19943
+ attr_accessor :canonical_url
19944
+
19945
+ # Resource URL to the subnetwork for which traffic from/to all VM instances will
19946
+ # be mirrored.
19947
+ # Corresponds to the JSON property `url`
19948
+ # @return [String]
19949
+ attr_accessor :url
19950
+
19951
+ def initialize(**args)
19952
+ update!(**args)
19953
+ end
19954
+
19955
+ # Update properties of this object
19956
+ def update!(**args)
19957
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
19958
+ @url = args[:url] if args.key?(:url)
19959
+ end
19960
+ end
19961
+
19962
+ #
19963
+ class PacketMirroringNetworkInfo
19964
+ include Google::Apis::Core::Hashable
19965
+
19966
+ # [Output Only] Unique identifier for the network; defined by the server.
19967
+ # Corresponds to the JSON property `canonicalUrl`
19968
+ # @return [String]
19969
+ attr_accessor :canonical_url
19970
+
19971
+ # URL of the network resource.
19972
+ # Corresponds to the JSON property `url`
19973
+ # @return [String]
19974
+ attr_accessor :url
19975
+
19976
+ def initialize(**args)
19977
+ update!(**args)
19978
+ end
19979
+
19980
+ # Update properties of this object
19981
+ def update!(**args)
19982
+ @canonical_url = args[:canonical_url] if args.key?(:canonical_url)
19983
+ @url = args[:url] if args.key?(:url)
19984
+ end
19985
+ end
19986
+
19987
+ #
19988
+ class PacketMirroringsScopedList
19989
+ include Google::Apis::Core::Hashable
19990
+
19991
+ # A list of packetMirrorings contained in this scope.
19992
+ # Corresponds to the JSON property `packetMirrorings`
19993
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroring>]
19994
+ attr_accessor :packet_mirrorings
19995
+
19996
+ # Informational warning which replaces the list of packetMirrorings when the
19997
+ # list is empty.
19998
+ # Corresponds to the JSON property `warning`
19999
+ # @return [Google::Apis::ComputeBeta::PacketMirroringsScopedList::Warning]
20000
+ attr_accessor :warning
20001
+
20002
+ def initialize(**args)
20003
+ update!(**args)
20004
+ end
20005
+
20006
+ # Update properties of this object
20007
+ def update!(**args)
20008
+ @packet_mirrorings = args[:packet_mirrorings] if args.key?(:packet_mirrorings)
20009
+ @warning = args[:warning] if args.key?(:warning)
20010
+ end
20011
+
20012
+ # Informational warning which replaces the list of packetMirrorings when the
20013
+ # list is empty.
20014
+ class Warning
20015
+ include Google::Apis::Core::Hashable
20016
+
20017
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
20018
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
20019
+ # Corresponds to the JSON property `code`
20020
+ # @return [String]
20021
+ attr_accessor :code
20022
+
20023
+ # [Output Only] Metadata about this warning in key: value format. For example:
20024
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
20025
+ # Corresponds to the JSON property `data`
20026
+ # @return [Array<Google::Apis::ComputeBeta::PacketMirroringsScopedList::Warning::Datum>]
20027
+ attr_accessor :data
20028
+
20029
+ # [Output Only] A human-readable description of the warning code.
20030
+ # Corresponds to the JSON property `message`
20031
+ # @return [String]
20032
+ attr_accessor :message
20033
+
20034
+ def initialize(**args)
20035
+ update!(**args)
20036
+ end
20037
+
20038
+ # Update properties of this object
20039
+ def update!(**args)
20040
+ @code = args[:code] if args.key?(:code)
20041
+ @data = args[:data] if args.key?(:data)
20042
+ @message = args[:message] if args.key?(:message)
20043
+ end
20044
+
20045
+ #
20046
+ class Datum
20047
+ include Google::Apis::Core::Hashable
20048
+
20049
+ # [Output Only] A key that provides more detail on the warning being returned.
20050
+ # For example, for warnings where there are no results in a list request for a
20051
+ # particular zone, this key might be scope and the key value might be the zone
20052
+ # name. Other examples might be a key indicating a deprecated resource and a
20053
+ # suggested replacement, or a warning about invalid network settings (for
20054
+ # example, if an instance attempts to perform IP forwarding but is not enabled
20055
+ # for IP forwarding).
20056
+ # Corresponds to the JSON property `key`
20057
+ # @return [String]
20058
+ attr_accessor :key
20059
+
20060
+ # [Output Only] A warning data value corresponding to the key.
20061
+ # Corresponds to the JSON property `value`
20062
+ # @return [String]
20063
+ attr_accessor :value
20064
+
20065
+ def initialize(**args)
20066
+ update!(**args)
20067
+ end
20068
+
20069
+ # Update properties of this object
20070
+ def update!(**args)
20071
+ @key = args[:key] if args.key?(:key)
20072
+ @value = args[:value] if args.key?(:value)
20073
+ end
20074
+ end
20075
+ end
20076
+ end
20077
+
20078
+ # A matcher for the path portion of the URL. The BackendService from the longest-
20079
+ # matched rule will serve the URL. If no rule was matched, the default service
20080
+ # will be used.
20081
+ class PathMatcher
20082
+ include Google::Apis::Core::Hashable
20083
+
20084
+ # defaultRouteAction takes effect when none of the pathRules or routeRules
20085
+ # match. The load balancer performs advanced routing actions like URL rewrites,
20086
+ # header transformations, etc. prior to forwarding the request to the selected
20087
+ # backend. If defaultRouteAction specifies any weightedBackendServices,
20088
+ # defaultService must not be set. Conversely if defaultService is set,
20089
+ # defaultRouteAction cannot contain any weightedBackendServices.
20090
+ # Only one of defaultRouteAction or defaultUrlRedirect must be set.
20091
+ # Corresponds to the JSON property `defaultRouteAction`
20092
+ # @return [Google::Apis::ComputeBeta::HttpRouteAction]
20093
+ attr_accessor :default_route_action
20094
+
20095
+ # The full or partial URL to the BackendService resource. This will be used if
20096
+ # none of the pathRules or routeRules defined by this PathMatcher are matched.
20097
+ # For example, the following are all valid URLs to a BackendService resource:
20098
+ # - https://www.googleapis.com/compute/v1/projects/project/global/
20099
+ # backendServices/backendService
20100
+ # - compute/v1/projects/project/global/backendServices/backendService
20101
+ # - global/backendServices/backendService If defaultRouteAction is additionally
20102
+ # specified, advanced routing actions like URL Rewrites, etc. take effect prior
20103
+ # to sending the request to the backend. However, if defaultService is specified,
20104
+ # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
20105
+ # defaultRouteAction specifies any weightedBackendServices, defaultService must
20106
+ # not be specified.
20107
+ # Only one of defaultService, defaultUrlRedirect or defaultRouteAction.
20108
+ # weightedBackendService must be set.
20109
+ # Authorization requires one or more of the following Google IAM permissions on
20110
+ # the specified resource default_service:
20111
+ # - compute.backendBuckets.use
20112
+ # - compute.backendServices.use
20113
+ # Corresponds to the JSON property `defaultService`
20114
+ # @return [String]
20115
+ attr_accessor :default_service
20116
+
20117
+ # Specifies settings for an HTTP redirect.
20118
+ # Corresponds to the JSON property `defaultUrlRedirect`
20119
+ # @return [Google::Apis::ComputeBeta::HttpRedirectAction]
20120
+ attr_accessor :default_url_redirect
20121
+
20122
+ # An optional description of this resource. Provide this property when you
20123
+ # create the resource.
20124
+ # Corresponds to the JSON property `description`
20125
+ # @return [String]
20126
+ attr_accessor :description
20127
+
20128
+ # The request and response header transformations that take effect before the
20129
+ # request is passed along to the selected backendService.
20130
+ # Corresponds to the JSON property `headerAction`
20131
+ # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
20132
+ attr_accessor :header_action
20133
+
20134
+ # The name to which this PathMatcher is referred by the HostRule.
20135
+ # Corresponds to the JSON property `name`
20136
+ # @return [String]
20137
+ attr_accessor :name
20138
+
20139
+ # The list of path rules. Use this list instead of routeRules when routing based
20140
+ # on simple path matching is all that's required. The order by which path rules
20141
+ # are specified does not matter. Matches are always done on the longest-path-
20142
+ # first basis.
20143
+ # For example: a pathRule with a path /a/b/c/* will match before /a/b/*
20144
+ # irrespective of the order in which those paths appear in this list.
20145
+ # Within a given pathMatcher, only one of pathRules or routeRules must be set.
20146
+ # Corresponds to the JSON property `pathRules`
20147
+ # @return [Array<Google::Apis::ComputeBeta::PathRule>]
20148
+ attr_accessor :path_rules
20149
+
20150
+ # The list of ordered HTTP route rules. Use this list instead of pathRules when
20151
+ # advanced route matching and routing actions are desired. The order of
20152
+ # specifying routeRules matters: the first rule that matches will cause its
20153
+ # specified routing action to take effect.
20154
+ # Within a given pathMatcher, only one of pathRules or routeRules must be set.
20155
+ # routeRules are not supported in UrlMaps intended for External Load balancers.
20156
+ # Corresponds to the JSON property `routeRules`
20157
+ # @return [Array<Google::Apis::ComputeBeta::HttpRouteRule>]
20158
+ attr_accessor :route_rules
20159
+
20160
+ def initialize(**args)
20161
+ update!(**args)
20162
+ end
20163
+
20164
+ # Update properties of this object
20165
+ def update!(**args)
20166
+ @default_route_action = args[:default_route_action] if args.key?(:default_route_action)
20167
+ @default_service = args[:default_service] if args.key?(:default_service)
20168
+ @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)
20169
+ @description = args[:description] if args.key?(:description)
20170
+ @header_action = args[:header_action] if args.key?(:header_action)
20171
+ @name = args[:name] if args.key?(:name)
20172
+ @path_rules = args[:path_rules] if args.key?(:path_rules)
20173
+ @route_rules = args[:route_rules] if args.key?(:route_rules)
20174
+ end
20175
+ end
20176
+
20177
+ # A path-matching rule for a URL. If matched, will use the specified
20178
+ # BackendService to handle the traffic arriving at this URL.
20179
+ class PathRule
20180
+ include Google::Apis::Core::Hashable
20181
+
20182
+ # The list of path patterns to match. Each must start with / and the only place
20183
+ # a * is allowed is at the end following a /. The string fed to the path matcher
20184
+ # does not include any text after the first ? or #, and those chars are not
20185
+ # allowed here.
20186
+ # Corresponds to the JSON property `paths`
20187
+ # @return [Array<String>]
20188
+ attr_accessor :paths
20189
+
20190
+ # In response to a matching path, the load balancer performs advanced routing
20191
+ # actions like URL rewrites, header transformations, etc. prior to forwarding
20192
+ # the request to the selected backend. If routeAction specifies any
20193
+ # weightedBackendServices, service must not be set. Conversely if service is set,
20194
+ # routeAction cannot contain any weightedBackendServices.
20195
+ # Only one of routeAction or urlRedirect must be set.
20196
+ # Corresponds to the JSON property `routeAction`
20197
+ # @return [Google::Apis::ComputeBeta::HttpRouteAction]
20198
+ attr_accessor :route_action
20199
+
20200
+ # The full or partial URL of the backend service resource to which traffic is
20201
+ # directed if this rule is matched. If routeAction is additionally specified,
20202
+ # advanced routing actions like URL Rewrites, etc. take effect prior to sending
20203
+ # the request to the backend. However, if service is specified, routeAction
20204
+ # cannot contain any weightedBackendService s. Conversely, if routeAction
20205
+ # specifies any weightedBackendServices, service must not be specified.
20206
+ # Only one of urlRedirect, service or routeAction.weightedBackendService must be
20207
+ # set.
20208
+ # Corresponds to the JSON property `service`
20209
+ # @return [String]
20210
+ attr_accessor :service
20211
+
20212
+ # Specifies settings for an HTTP redirect.
20213
+ # Corresponds to the JSON property `urlRedirect`
20214
+ # @return [Google::Apis::ComputeBeta::HttpRedirectAction]
20215
+ attr_accessor :url_redirect
20216
+
20217
+ def initialize(**args)
20218
+ update!(**args)
20219
+ end
20220
+
20221
+ # Update properties of this object
20222
+ def update!(**args)
20223
+ @paths = args[:paths] if args.key?(:paths)
20224
+ @route_action = args[:route_action] if args.key?(:route_action)
20225
+ @service = args[:service] if args.key?(:service)
20226
+ @url_redirect = args[:url_redirect] if args.key?(:url_redirect)
20227
+ end
20228
+ end
20229
+
20230
+ #
20231
+ class PerInstanceConfig
20232
+ include Google::Apis::Core::Hashable
20233
+
20234
+ # Fingerprint of this per-instance config. This field may be used in optimistic
20235
+ # locking. It will be ignored when inserting a per-instance config. An up-to-
20236
+ # date fingerprint must be provided in order to update an existing per-instance
20237
+ # config or the field needs to be unset.
20238
+ # Corresponds to the JSON property `fingerprint`
20239
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
20240
+ # @return [String]
20241
+ attr_accessor :fingerprint
20242
+
20243
+ # The name of the per-instance config and the corresponding instance. Serves as
20244
+ # a merge key during UpdatePerInstanceConfigs operation, i.e. if per-instance
20245
+ # config with the same name exists then it will be updated, otherwise a new one
20246
+ # will be created for the VM instance with the same name. An attempt to create a
20247
+ # per-instance config for a VM instance that either doesn't exist or is not part
20248
+ # of the group will result in a failure.
20249
+ # Corresponds to the JSON property `name`
20250
+ # @return [String]
20251
+ attr_accessor :name
20252
+
20253
+ def initialize(**args)
20254
+ update!(**args)
20255
+ end
20256
+
20257
+ # Update properties of this object
20258
+ def update!(**args)
20259
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
20260
+ @name = args[:name] if args.key?(:name)
20261
+ end
19558
20262
  end
19559
20263
 
19560
20264
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
19561
20265
  # access control policies for Cloud Platform resources.
19562
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
19563
- # members` to a `role`, where the members can be user accounts, Google groups,
19564
- # Google domains, and service accounts. A `role` is a named list of permissions
19565
- # defined by IAM.
20266
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
20267
+ # members` to a single `role`. Members can be user accounts, service accounts,
20268
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
20269
+ # permissions (defined by IAM or configured by users). A `binding` can
20270
+ # optionally specify a `condition`, which is a logic expression that further
20271
+ # constrains the role binding based on attributes about the request and/or
20272
+ # target resource.
19566
20273
  # **JSON Example**
19567
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
19568
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
19569
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
19570
- # sean@example.com"] ` ] `
20274
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
20275
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
20276
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
20277
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
20278
+ # "condition": ` "title": "expirable access", "description": "Does not grant
20279
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
20280
+ # 00:00.000Z')", ` ` ] `
19571
20281
  # **YAML Example**
19572
20282
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
19573
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
19574
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
20283
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
20284
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
20285
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
20286
+ # access description: Does not grant access after Sep 2020 expression: request.
20287
+ # time < timestamp('2020-10-01T00:00:00.000Z')
19575
20288
  # For a description of IAM and its features, see the [IAM developer's guide](
19576
20289
  # https://cloud.google.com/iam/docs).
19577
20290
  class Policy
@@ -19582,8 +20295,9 @@ module Google
19582
20295
  # @return [Array<Google::Apis::ComputeBeta::AuditConfig>]
19583
20296
  attr_accessor :audit_configs
19584
20297
 
19585
- # Associates a list of `members` to a `role`. `bindings` with no members will
19586
- # result in an error.
20298
+ # Associates a list of `members` to a `role`. Optionally may specify a `
20299
+ # condition` that determines when binding is in effect. `bindings` with no
20300
+ # members will result in an error.
19587
20301
  # Corresponds to the JSON property `bindings`
19588
20302
  # @return [Array<Google::Apis::ComputeBeta::Binding>]
19589
20303
  attr_accessor :bindings
@@ -19596,7 +20310,9 @@ module Google
19596
20310
  # that etag in the request to `setIamPolicy` to ensure that their change will be
19597
20311
  # applied to the same version of the policy.
19598
20312
  # If no `etag` is provided in the call to `setIamPolicy`, then the existing
19599
- # policy is overwritten.
20313
+ # policy is overwritten. Due to blind-set semantics of an etag-less policy, '
20314
+ # setIamPolicy' will not fail even if either of incoming or stored policy does
20315
+ # not meet the version requirements.
19600
20316
  # Corresponds to the JSON property `etag`
19601
20317
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
19602
20318
  # @return [String]
@@ -19622,9 +20338,13 @@ module Google
19622
20338
  # Specifies the format of the policy.
19623
20339
  # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
19624
20340
  # rejected.
19625
- # Policies with any conditional bindings must specify version 3. Policies
19626
- # without any conditional bindings may specify any valid value or leave the
19627
- # field unset.
20341
+ # Operations affecting conditional bindings must specify version 3. This can be
20342
+ # either setting a conditional policy, modifying a conditional binding, or
20343
+ # removing a conditional binding from the stored conditional policy. Operations
20344
+ # on non-conditional policies may specify any valid value or leave the field
20345
+ # unset.
20346
+ # If no etag is provided in the call to `setIamPolicy`, any version compliance
20347
+ # checks on the incoming and/or stored policy is skipped.
19628
20348
  # Corresponds to the JSON property `version`
19629
20349
  # @return [Fixnum]
19630
20350
  attr_accessor :version
@@ -21147,19 +21867,28 @@ module Google
21147
21867
 
21148
21868
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
21149
21869
  # access control policies for Cloud Platform resources.
21150
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
21151
- # members` to a `role`, where the members can be user accounts, Google groups,
21152
- # Google domains, and service accounts. A `role` is a named list of permissions
21153
- # defined by IAM.
21870
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
21871
+ # members` to a single `role`. Members can be user accounts, service accounts,
21872
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
21873
+ # permissions (defined by IAM or configured by users). A `binding` can
21874
+ # optionally specify a `condition`, which is a logic expression that further
21875
+ # constrains the role binding based on attributes about the request and/or
21876
+ # target resource.
21154
21877
  # **JSON Example**
21155
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
21156
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
21157
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
21158
- # sean@example.com"] ` ] `
21878
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
21879
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
21880
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
21881
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
21882
+ # "condition": ` "title": "expirable access", "description": "Does not grant
21883
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
21884
+ # 00:00.000Z')", ` ` ] `
21159
21885
  # **YAML Example**
21160
21886
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
21161
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
21162
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
21887
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
21888
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
21889
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
21890
+ # access description: Does not grant access after Sep 2020 expression: request.
21891
+ # time < timestamp('2020-10-01T00:00:00.000Z')
21163
21892
  # For a description of IAM and its features, see the [IAM developer's guide](
21164
21893
  # https://cloud.google.com/iam/docs).
21165
21894
  # Corresponds to the JSON property `policy`
@@ -22502,8 +23231,7 @@ module Google
22502
23231
  # or full URL. For example, the following are all valid URLs:
22503
23232
  # - https://www.googleapis.com/compute/v1/projects/project/regions/region/
22504
23233
  # forwardingRules/forwardingRule
22505
- # - regions/region/forwardingRules/forwardingRule Note that this can only be
22506
- # used when the destination_range is a public (non-RFC 1918) IP CIDR range.
23234
+ # - regions/region/forwardingRules/forwardingRule
22507
23235
  # Corresponds to the JSON property `nextHopIlb`
22508
23236
  # @return [String]
22509
23237
  attr_accessor :next_hop_ilb
@@ -27329,12 +28057,14 @@ module Google
27329
28057
  attr_accessor :name
27330
28058
 
27331
28059
  # Specifies the QUIC override policy for this TargetHttpsProxy resource. This
27332
- # determines whether the load balancer will attempt to negotiate QUIC with
27333
- # clients or not. Can specify one of NONE, ENABLE, or DISABLE. Specify ENABLE to
27334
- # always enable QUIC, Enables QUIC when set to ENABLE, and disables QUIC when
27335
- # set to DISABLE. If NONE is specified, uses the QUIC policy with no user
27336
- # overrides, which is equivalent to DISABLE. Not specifying this field is
27337
- # equivalent to specifying NONE.
28060
+ # setting determines whether the load balancer attempts to negotiate QUIC with
28061
+ # clients. You can specify NONE, ENABLE, or DISABLE.
28062
+ # - When quic-override is set to NONE, Google manages whether QUIC is used.
28063
+ # - When quic-override is set to ENABLE, the load balancer uses QUIC when
28064
+ # possible.
28065
+ # - When quic-override is set to DISABLE, the load balancer doesn't use QUIC.
28066
+ # - If the quic-override flag is not specified, NONE is implied.
28067
+ # -
27338
28068
  # Corresponds to the JSON property `quicOverride`
27339
28069
  # @return [String]
27340
28070
  attr_accessor :quic_override
@@ -27358,8 +28088,8 @@ module Google
27358
28088
  attr_accessor :ssl_certificates
27359
28089
 
27360
28090
  # URL of SslPolicy resource that will be associated with the TargetHttpsProxy
27361
- # resource. If not set, the TargetHttpsProxy resource will not have any SSL
27362
- # policy configured.
28091
+ # resource. If not set, the TargetHttpsProxy resource has no SSL policy
28092
+ # configured.
27363
28093
  # Corresponds to the JSON property `sslPolicy`
27364
28094
  # @return [String]
27365
28095
  attr_accessor :ssl_policy
@@ -31443,6 +32173,17 @@ module Google
31443
32173
  # - NEGOTIATION_FAILURE: Handshake failed.
31444
32174
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
31445
32175
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
32176
+ # - NO_INCOMING_PACKETS: No incoming packets from peer.
32177
+ # - REJECTED: Tunnel configuration was rejected, can be result of being
32178
+ # blacklisted.
32179
+ # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
32180
+ # resources.
32181
+ # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for
32182
+ # Classic VPN tunnels or the project is in frozen state.
32183
+ # - PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, probably
32184
+ # behind NAT.
32185
+ # - TS_NARROWING_NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-
32186
+ # VPN tunnel.
31446
32187
  # Corresponds to the JSON property `status`
31447
32188
  # @return [String]
31448
32189
  attr_accessor :status
@@ -32312,19 +33053,28 @@ module Google
32312
33053
 
32313
33054
  # Defines an Identity and Access Management (IAM) policy. It is used to specify
32314
33055
  # access control policies for Cloud Platform resources.
32315
- # A `Policy` consists of a list of `bindings`. A `binding` binds a list of `
32316
- # members` to a `role`, where the members can be user accounts, Google groups,
32317
- # Google domains, and service accounts. A `role` is a named list of permissions
32318
- # defined by IAM.
33056
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
33057
+ # members` to a single `role`. Members can be user accounts, service accounts,
33058
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
33059
+ # permissions (defined by IAM or configured by users). A `binding` can
33060
+ # optionally specify a `condition`, which is a logic expression that further
33061
+ # constrains the role binding based on attributes about the request and/or
33062
+ # target resource.
32319
33063
  # **JSON Example**
32320
- # ` "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com",
32321
- # "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
32322
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/viewer", "members": ["user:
32323
- # sean@example.com"] ` ] `
33064
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
33065
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
33066
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
33067
+ # roles/resourcemanager.organizationViewer", "members": ["user:eve@example.com"],
33068
+ # "condition": ` "title": "expirable access", "description": "Does not grant
33069
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
33070
+ # 00:00.000Z')", ` ` ] `
32324
33071
  # **YAML Example**
32325
33072
  # bindings: - members: - user:mike@example.com - group:admins@example.com -
32326
- # domain:google.com - serviceAccount:my-other-app@appspot.gserviceaccount.com
32327
- # role: roles/owner - members: - user:sean@example.com role: roles/viewer
33073
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
33074
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
33075
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
33076
+ # access description: Does not grant access after Sep 2020 expression: request.
33077
+ # time < timestamp('2020-10-01T00:00:00.000Z')
32328
33078
  # For a description of IAM and its features, see the [IAM developer's guide](
32329
33079
  # https://cloud.google.com/iam/docs).
32330
33080
  # Corresponds to the JSON property `policy`