google-api-client 0.32.1 → 0.34.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +159 -0
  3. data/README.md +1 -1
  4. data/generated/google/apis/accessapproval_v1beta1/classes.rb +35 -2
  5. data/generated/google/apis/accessapproval_v1beta1/representations.rb +13 -0
  6. data/generated/google/apis/accessapproval_v1beta1/service.rb +108 -6
  7. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  8. data/generated/google/apis/accesscontextmanager_v1/classes.rb +1 -1
  9. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  10. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +1 -73
  11. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +0 -32
  12. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  13. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  14. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +15 -2
  15. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  16. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +16 -3
  17. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  18. data/generated/google/apis/admin_datatransfer_v1/classes.rb +5 -5
  19. data/generated/google/apis/admin_datatransfer_v1/service.rb +2 -2
  20. data/generated/google/apis/admin_datatransfer_v1.rb +1 -1
  21. data/generated/google/apis/admin_directory_v1/classes.rb +4 -3
  22. data/generated/google/apis/admin_directory_v1.rb +4 -1
  23. data/generated/google/apis/admin_reports_v1/classes.rb +87 -44
  24. data/generated/google/apis/admin_reports_v1/service.rb +310 -64
  25. data/generated/google/apis/admin_reports_v1.rb +2 -2
  26. data/generated/google/apis/androidpublisher_v3/classes.rb +12 -0
  27. data/generated/google/apis/androidpublisher_v3/representations.rb +2 -0
  28. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  29. data/generated/google/apis/appengine_v1/service.rb +10 -6
  30. data/generated/google/apis/appengine_v1.rb +1 -1
  31. data/generated/google/apis/appengine_v1beta/service.rb +10 -6
  32. data/generated/google/apis/appengine_v1beta.rb +1 -1
  33. data/generated/google/apis/bigquery_v2/classes.rb +25 -19
  34. data/generated/google/apis/bigquery_v2/representations.rb +2 -0
  35. data/generated/google/apis/bigquery_v2.rb +1 -1
  36. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +3 -2
  37. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  38. data/generated/google/apis/bigtableadmin_v2/classes.rb +62 -29
  39. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  40. data/generated/google/apis/binaryauthorization_v1/service.rb +2 -0
  41. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  42. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +2 -0
  43. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  44. data/generated/google/apis/civicinfo_v2/representations.rb +2 -2
  45. data/generated/google/apis/civicinfo_v2.rb +1 -1
  46. data/generated/google/apis/cloudasset_v1/classes.rb +14 -15
  47. data/generated/google/apis/cloudasset_v1/service.rb +1 -2
  48. data/generated/google/apis/cloudasset_v1.rb +1 -1
  49. data/generated/google/apis/cloudbilling_v1/classes.rb +65 -36
  50. data/generated/google/apis/cloudbilling_v1/representations.rb +0 -1
  51. data/generated/google/apis/cloudbilling_v1/service.rb +5 -3
  52. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  53. data/generated/google/apis/clouddebugger_v2/service.rb +14 -14
  54. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  55. data/generated/google/apis/cloudfunctions_v1/service.rb +7 -3
  56. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  57. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +7 -0
  58. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  59. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +10 -4
  60. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  61. data/generated/google/apis/cloudidentity_v1/classes.rb +11 -8
  62. data/generated/google/apis/cloudidentity_v1/service.rb +2 -1
  63. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  64. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +13 -10
  65. data/generated/google/apis/cloudidentity_v1beta1/service.rb +2 -1
  66. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  67. data/generated/google/apis/cloudkms_v1/service.rb +3 -0
  68. data/generated/google/apis/cloudkms_v1.rb +1 -1
  69. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +12 -12
  70. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  71. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +4 -8
  72. data/generated/google/apis/cloudresourcemanager_v2/service.rb +11 -13
  73. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  74. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +4 -8
  75. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +11 -13
  76. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  77. data/generated/google/apis/cloudsearch_v1/classes.rb +5 -2
  78. data/generated/google/apis/cloudsearch_v1/service.rb +5 -2
  79. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  80. data/generated/google/apis/cloudshell_v1/classes.rb +22 -0
  81. data/generated/google/apis/cloudshell_v1/representations.rb +3 -0
  82. data/generated/google/apis/cloudshell_v1.rb +1 -1
  83. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +22 -0
  84. data/generated/google/apis/cloudshell_v1alpha1/representations.rb +3 -0
  85. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  86. data/generated/google/apis/compute_alpha/classes.rb +519 -152
  87. data/generated/google/apis/compute_alpha/representations.rb +108 -2
  88. data/generated/google/apis/compute_alpha/service.rb +1035 -640
  89. data/generated/google/apis/compute_alpha.rb +1 -1
  90. data/generated/google/apis/compute_beta/classes.rb +1016 -266
  91. data/generated/google/apis/compute_beta/representations.rb +284 -0
  92. data/generated/google/apis/compute_beta/service.rb +1242 -532
  93. data/generated/google/apis/compute_beta.rb +1 -1
  94. data/generated/google/apis/compute_v1/classes.rb +283 -125
  95. data/generated/google/apis/compute_v1/representations.rb +24 -0
  96. data/generated/google/apis/compute_v1/service.rb +759 -473
  97. data/generated/google/apis/compute_v1.rb +1 -1
  98. data/generated/google/apis/container_v1/classes.rb +207 -5
  99. data/generated/google/apis/container_v1/representations.rb +85 -0
  100. data/generated/google/apis/container_v1.rb +1 -1
  101. data/generated/google/apis/container_v1beta1/classes.rb +125 -3
  102. data/generated/google/apis/container_v1beta1/representations.rb +22 -0
  103. data/generated/google/apis/container_v1beta1.rb +1 -1
  104. data/generated/google/apis/content_v2/classes.rb +23 -220
  105. data/generated/google/apis/content_v2/representations.rb +0 -115
  106. data/generated/google/apis/content_v2/service.rb +0 -160
  107. data/generated/google/apis/content_v2.rb +1 -1
  108. data/generated/google/apis/content_v2_1/classes.rb +57 -18
  109. data/generated/google/apis/content_v2_1/representations.rb +3 -0
  110. data/generated/google/apis/content_v2_1.rb +1 -1
  111. data/generated/google/apis/dataflow_v1b3/classes.rb +6 -9
  112. data/generated/google/apis/dataflow_v1b3/representations.rb +1 -1
  113. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  114. data/generated/google/apis/datafusion_v1beta1/classes.rb +156 -46
  115. data/generated/google/apis/datafusion_v1beta1/representations.rb +33 -0
  116. data/generated/google/apis/datafusion_v1beta1/service.rb +10 -1
  117. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  118. data/generated/google/apis/datastore_v1/service.rb +85 -1
  119. data/generated/google/apis/datastore_v1.rb +1 -1
  120. data/generated/google/apis/datastore_v1beta3/service.rb +1 -1
  121. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  122. data/generated/google/apis/dialogflow_v2/classes.rb +25 -7
  123. data/generated/google/apis/dialogflow_v2/representations.rb +2 -0
  124. data/generated/google/apis/dialogflow_v2.rb +1 -1
  125. data/generated/google/apis/dialogflow_v2beta1/classes.rb +33 -7
  126. data/generated/google/apis/dialogflow_v2beta1/representations.rb +3 -0
  127. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  128. data/generated/google/apis/dlp_v2/classes.rb +19 -11
  129. data/generated/google/apis/dlp_v2/representations.rb +1 -0
  130. data/generated/google/apis/dlp_v2/service.rb +43 -0
  131. data/generated/google/apis/dlp_v2.rb +1 -1
  132. data/generated/google/apis/docs_v1/classes.rb +175 -0
  133. data/generated/google/apis/docs_v1/representations.rb +77 -0
  134. data/generated/google/apis/docs_v1.rb +1 -1
  135. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  136. data/generated/google/apis/drive_v2/classes.rb +2 -1
  137. data/generated/google/apis/drive_v2/service.rb +3 -3
  138. data/generated/google/apis/drive_v2.rb +1 -1
  139. data/generated/google/apis/drive_v3.rb +1 -1
  140. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +37 -0
  141. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +16 -0
  142. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  143. data/generated/google/apis/firestore_v1.rb +1 -1
  144. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  145. data/generated/google/apis/fitness_v1/service.rb +1 -1
  146. data/generated/google/apis/fitness_v1.rb +1 -1
  147. data/generated/google/apis/games_management_v1management/classes.rb +6 -26
  148. data/generated/google/apis/games_management_v1management/representations.rb +1 -14
  149. data/generated/google/apis/games_management_v1management/service.rb +0 -158
  150. data/generated/google/apis/games_management_v1management.rb +1 -1
  151. data/generated/google/apis/games_v1/classes.rb +6 -292
  152. data/generated/google/apis/games_v1/representations.rb +1 -98
  153. data/generated/google/apis/games_v1/service.rb +0 -123
  154. data/generated/google/apis/games_v1.rb +1 -1
  155. data/generated/google/apis/healthcare_v1beta1/classes.rb +205 -9
  156. data/generated/google/apis/healthcare_v1beta1/representations.rb +101 -0
  157. data/generated/google/apis/healthcare_v1beta1/service.rb +198 -104
  158. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  159. data/generated/google/apis/iam_v1/classes.rb +9 -2
  160. data/generated/google/apis/iam_v1/representations.rb +1 -0
  161. data/generated/google/apis/iam_v1.rb +1 -1
  162. data/generated/google/apis/iap_v1/classes.rb +187 -2
  163. data/generated/google/apis/iap_v1/representations.rb +102 -0
  164. data/generated/google/apis/iap_v1/service.rb +72 -0
  165. data/generated/google/apis/iap_v1.rb +1 -1
  166. data/generated/google/apis/iap_v1beta1/classes.rb +2 -2
  167. data/generated/google/apis/iap_v1beta1.rb +1 -1
  168. data/generated/google/apis/jobs_v2/classes.rb +167 -0
  169. data/generated/google/apis/jobs_v2/representations.rb +40 -0
  170. data/generated/google/apis/jobs_v2.rb +1 -1
  171. data/generated/google/apis/jobs_v3/classes.rb +179 -0
  172. data/generated/google/apis/jobs_v3/representations.rb +41 -0
  173. data/generated/google/apis/jobs_v3.rb +1 -1
  174. data/generated/google/apis/jobs_v3p1beta1/classes.rb +179 -0
  175. data/generated/google/apis/jobs_v3p1beta1/representations.rb +41 -0
  176. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  177. data/generated/google/apis/licensing_v1/classes.rb +15 -7
  178. data/generated/google/apis/licensing_v1/service.rb +81 -37
  179. data/generated/google/apis/licensing_v1.rb +4 -4
  180. data/generated/google/apis/lifesciences_v2beta/classes.rb +1329 -0
  181. data/generated/google/apis/lifesciences_v2beta/representations.rb +533 -0
  182. data/generated/google/apis/lifesciences_v2beta/service.rb +303 -0
  183. data/generated/google/apis/{urlshortener_v1.rb → lifesciences_v2beta.rb} +12 -11
  184. data/generated/google/apis/logging_v2/classes.rb +12 -0
  185. data/generated/google/apis/logging_v2/representations.rb +2 -0
  186. data/generated/google/apis/logging_v2/service.rb +10 -5
  187. data/generated/google/apis/logging_v2.rb +1 -1
  188. data/generated/google/apis/ml_v1/classes.rb +66 -23
  189. data/generated/google/apis/ml_v1/representations.rb +1 -0
  190. data/generated/google/apis/ml_v1/service.rb +7 -3
  191. data/generated/google/apis/ml_v1.rb +2 -2
  192. data/generated/google/apis/monitoring_v1/classes.rb +260 -0
  193. data/generated/google/apis/monitoring_v1/representations.rb +123 -0
  194. data/generated/google/apis/monitoring_v1/service.rb +64 -0
  195. data/generated/google/apis/monitoring_v1.rb +36 -0
  196. data/generated/google/apis/monitoring_v3/classes.rb +27 -13
  197. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  198. data/generated/google/apis/monitoring_v3/service.rb +2 -2
  199. data/generated/google/apis/monitoring_v3.rb +1 -1
  200. data/generated/google/apis/oslogin_v1/classes.rb +1 -1
  201. data/generated/google/apis/oslogin_v1/service.rb +10 -6
  202. data/generated/google/apis/oslogin_v1.rb +1 -1
  203. data/generated/google/apis/oslogin_v1beta/classes.rb +1 -1
  204. data/generated/google/apis/oslogin_v1beta/service.rb +9 -5
  205. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  206. data/generated/google/apis/people_v1/classes.rb +67 -63
  207. data/generated/google/apis/people_v1/service.rb +53 -44
  208. data/generated/google/apis/people_v1.rb +1 -1
  209. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +5 -4
  210. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  211. data/generated/google/apis/pubsub_v1/service.rb +3 -0
  212. data/generated/google/apis/pubsub_v1.rb +1 -1
  213. data/generated/google/apis/pubsub_v1beta2/service.rb +2 -0
  214. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  215. data/generated/google/apis/remotebuildexecution_v1/classes.rb +24 -0
  216. data/generated/google/apis/remotebuildexecution_v1/representations.rb +4 -0
  217. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  218. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +24 -0
  219. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +4 -0
  220. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  221. data/generated/google/apis/remotebuildexecution_v2/classes.rb +24 -0
  222. data/generated/google/apis/remotebuildexecution_v2/representations.rb +4 -0
  223. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  224. data/generated/google/apis/reseller_v1/service.rb +1 -1
  225. data/generated/google/apis/reseller_v1.rb +1 -1
  226. data/generated/google/apis/run_v1/classes.rb +0 -7
  227. data/generated/google/apis/run_v1/service.rb +156 -94
  228. data/generated/google/apis/run_v1.rb +1 -1
  229. data/generated/google/apis/run_v1alpha1/classes.rb +319 -0
  230. data/generated/google/apis/run_v1alpha1/representations.rb +126 -0
  231. data/generated/google/apis/run_v1alpha1/service.rb +408 -0
  232. data/generated/google/apis/run_v1alpha1.rb +1 -1
  233. data/generated/google/apis/securitycenter_v1/classes.rb +2 -2
  234. data/generated/google/apis/securitycenter_v1.rb +1 -1
  235. data/generated/google/apis/securitycenter_v1beta1/classes.rb +2 -2
  236. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  237. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +63 -0
  238. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +30 -0
  239. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  240. data/generated/google/apis/servicecontrol_v1/classes.rb +0 -11
  241. data/generated/google/apis/servicecontrol_v1/representations.rb +0 -1
  242. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  243. data/generated/google/apis/servicemanagement_v1/classes.rb +33 -7
  244. data/generated/google/apis/servicemanagement_v1/representations.rb +24 -0
  245. data/generated/google/apis/servicemanagement_v1/service.rb +31 -17
  246. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  247. data/generated/google/apis/serviceusage_v1/classes.rb +55 -0
  248. data/generated/google/apis/serviceusage_v1/representations.rb +29 -0
  249. data/generated/google/apis/serviceusage_v1.rb +1 -1
  250. data/generated/google/apis/serviceusage_v1beta1/classes.rb +55 -0
  251. data/generated/google/apis/serviceusage_v1beta1/representations.rb +29 -0
  252. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  253. data/generated/google/apis/sheets_v4/classes.rb +389 -0
  254. data/generated/google/apis/sheets_v4/representations.rb +79 -0
  255. data/generated/google/apis/sheets_v4.rb +1 -1
  256. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/classes.rb +9 -8
  257. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/representations.rb +6 -6
  258. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/service.rb +13 -13
  259. data/generated/google/apis/{speech_v2beta.rb → speech_v2beta1.rb} +6 -6
  260. data/generated/google/apis/sql_v1beta4/classes.rb +2752 -0
  261. data/generated/google/apis/sql_v1beta4/representations.rb +1131 -0
  262. data/generated/google/apis/sql_v1beta4/service.rb +1791 -0
  263. data/generated/google/apis/sql_v1beta4.rb +37 -0
  264. data/generated/google/apis/storage_v1.rb +1 -1
  265. data/generated/google/apis/testing_v1/classes.rb +142 -1
  266. data/generated/google/apis/testing_v1/representations.rb +76 -0
  267. data/generated/google/apis/testing_v1.rb +1 -1
  268. data/generated/google/apis/videointelligence_v1/classes.rb +35 -36
  269. data/generated/google/apis/videointelligence_v1.rb +1 -1
  270. data/generated/google/apis/videointelligence_v1beta2/classes.rb +35 -36
  271. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  272. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +35 -36
  273. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  274. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +35 -36
  275. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  276. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +35 -36
  277. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  278. data/generated/google/apis/vision_v1.rb +1 -1
  279. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  280. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  281. data/generated/google/apis/youtube_partner_v1/service.rb +2 -2
  282. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  283. data/google-api-client.gemspec +6 -3
  284. data/lib/google/apis/version.rb +1 -1
  285. metadata +28 -30
  286. data/generated/google/apis/dfareporting_v3_2/classes.rb +0 -12299
  287. data/generated/google/apis/dfareporting_v3_2/representations.rb +0 -4397
  288. data/generated/google/apis/dfareporting_v3_2/service.rb +0 -8793
  289. data/generated/google/apis/dfareporting_v3_2.rb +0 -40
  290. data/generated/google/apis/urlshortener_v1/classes.rb +0 -246
  291. data/generated/google/apis/urlshortener_v1/representations.rb +0 -121
  292. data/generated/google/apis/urlshortener_v1/service.rb +0 -169
@@ -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`