google-api-client 0.25.0 → 0.26.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (265) hide show
  1. checksums.yaml +4 -4
  2. data/{CONTRIBUTING.md → .github/CONTRIBUTING.md} +0 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
  4. data/.github/ISSUE_TEMPLATE/feature_request.md +21 -0
  5. data/.github/ISSUE_TEMPLATE/support_request.md +7 -0
  6. data/.kokoro/build.bat +8 -0
  7. data/.kokoro/build.sh +36 -0
  8. data/.kokoro/common.cfg +22 -0
  9. data/.kokoro/continuous/common.cfg +20 -0
  10. data/.kokoro/continuous/linux.cfg +15 -0
  11. data/.kokoro/continuous/osx.cfg +3 -0
  12. data/.kokoro/continuous/windows.cfg +3 -0
  13. data/.kokoro/osx.sh +35 -0
  14. data/.kokoro/presubmit/common.cfg +19 -0
  15. data/.kokoro/presubmit/linux.cfg +14 -0
  16. data/.kokoro/presubmit/osx.cfg +3 -0
  17. data/.kokoro/presubmit/windows.cfg +3 -0
  18. data/.kokoro/trampoline.sh +24 -0
  19. data/.kokoro/windows.sh +32 -0
  20. data/CHANGELOG.md +83 -0
  21. data/Gemfile +2 -2
  22. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  23. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +3 -1
  24. data/generated/google/apis/alertcenter_v1beta1.rb +5 -3
  25. data/generated/google/apis/alertcenter_v1beta1/classes.rb +110 -101
  26. data/generated/google/apis/alertcenter_v1beta1/representations.rb +13 -0
  27. data/generated/google/apis/alertcenter_v1beta1/service.rb +83 -76
  28. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  29. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +7 -0
  30. data/generated/google/apis/androiddeviceprovisioning_v1/representations.rb +2 -0
  31. data/generated/google/apis/androiddeviceprovisioning_v1/service.rb +1 -1
  32. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  33. data/generated/google/apis/androidenterprise_v1/classes.rb +129 -44
  34. data/generated/google/apis/androidenterprise_v1/representations.rb +48 -0
  35. data/generated/google/apis/androidenterprise_v1/service.rb +218 -0
  36. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  37. data/generated/google/apis/androidmanagement_v1/classes.rb +1 -1
  38. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  39. data/generated/google/apis/androidpublisher_v3/classes.rb +8 -0
  40. data/generated/google/apis/androidpublisher_v3/representations.rb +1 -0
  41. data/generated/google/apis/appengine_v1.rb +1 -1
  42. data/generated/google/apis/appengine_v1beta.rb +1 -1
  43. data/generated/google/apis/bigquery_v2.rb +1 -1
  44. data/generated/google/apis/bigquery_v2/classes.rb +87 -29
  45. data/generated/google/apis/bigquery_v2/representations.rb +21 -0
  46. data/generated/google/apis/bigquery_v2/service.rb +7 -9
  47. data/generated/google/apis/calendar_v3.rb +2 -2
  48. data/generated/google/apis/calendar_v3/classes.rb +14 -6
  49. data/generated/google/apis/classroom_v1.rb +1 -1
  50. data/generated/google/apis/classroom_v1/service.rb +1 -1
  51. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  52. data/generated/google/apis/cloudasset_v1beta1/classes.rb +14 -10
  53. data/generated/google/apis/cloudasset_v1beta1/service.rb +4 -4
  54. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  55. data/generated/google/apis/clouddebugger_v2/classes.rb +2 -2
  56. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  57. data/generated/google/apis/cloudfunctions_v1/classes.rb +2 -3
  58. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  59. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +2 -3
  60. data/generated/google/apis/cloudiot_v1.rb +1 -1
  61. data/generated/google/apis/cloudiot_v1/classes.rb +127 -0
  62. data/generated/google/apis/cloudiot_v1/representations.rb +70 -0
  63. data/generated/google/apis/cloudiot_v1/service.rb +172 -2
  64. data/generated/google/apis/cloudkms_v1.rb +1 -1
  65. data/generated/google/apis/cloudkms_v1/service.rb +107 -0
  66. data/generated/google/apis/{cloudiot_v1beta1.rb → cloudscheduler_v1beta1.rb} +8 -12
  67. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +882 -0
  68. data/generated/google/apis/cloudscheduler_v1beta1/representations.rb +264 -0
  69. data/generated/google/apis/cloudscheduler_v1beta1/service.rb +445 -0
  70. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  71. data/generated/google/apis/cloudsearch_v1/classes.rb +79 -1
  72. data/generated/google/apis/cloudsearch_v1/representations.rb +44 -0
  73. data/generated/google/apis/cloudsearch_v1/service.rb +88 -3
  74. data/generated/google/apis/composer_v1.rb +1 -1
  75. data/generated/google/apis/composer_v1/classes.rb +9 -0
  76. data/generated/google/apis/composer_v1/representations.rb +1 -0
  77. data/generated/google/apis/compute_alpha.rb +1 -1
  78. data/generated/google/apis/compute_alpha/classes.rb +938 -117
  79. data/generated/google/apis/compute_alpha/representations.rb +310 -2
  80. data/generated/google/apis/compute_alpha/service.rb +1203 -245
  81. data/generated/google/apis/compute_beta.rb +1 -1
  82. data/generated/google/apis/compute_beta/classes.rb +1175 -219
  83. data/generated/google/apis/compute_beta/representations.rb +375 -2
  84. data/generated/google/apis/compute_beta/service.rb +907 -139
  85. data/generated/google/apis/compute_v1.rb +1 -1
  86. data/generated/google/apis/compute_v1/classes.rb +1485 -143
  87. data/generated/google/apis/compute_v1/representations.rb +503 -0
  88. data/generated/google/apis/compute_v1/service.rb +1375 -85
  89. data/generated/google/apis/container_v1.rb +3 -3
  90. data/generated/google/apis/container_v1/classes.rb +99 -6
  91. data/generated/google/apis/container_v1/representations.rb +39 -0
  92. data/generated/google/apis/container_v1/service.rb +2 -2
  93. data/generated/google/apis/container_v1beta1.rb +3 -3
  94. data/generated/google/apis/container_v1beta1/classes.rb +162 -9
  95. data/generated/google/apis/container_v1beta1/representations.rb +80 -0
  96. data/generated/google/apis/container_v1beta1/service.rb +3 -3
  97. data/generated/google/apis/content_v2.rb +1 -1
  98. data/generated/google/apis/content_v2/classes.rb +40 -32
  99. data/generated/google/apis/content_v2/representations.rb +0 -1
  100. data/generated/google/apis/content_v2/service.rb +3 -3
  101. data/generated/google/apis/content_v2_1.rb +35 -0
  102. data/generated/google/apis/content_v2_1/classes.rb +9104 -0
  103. data/generated/google/apis/content_v2_1/representations.rb +3967 -0
  104. data/generated/google/apis/content_v2_1/service.rb +3463 -0
  105. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  106. data/generated/google/apis/dataflow_v1b3/classes.rb +82 -0
  107. data/generated/google/apis/dataflow_v1b3/representations.rb +33 -0
  108. data/generated/google/apis/dataflow_v1b3/service.rb +97 -6
  109. data/generated/google/apis/dataproc_v1.rb +1 -1
  110. data/generated/google/apis/dataproc_v1/classes.rb +15 -1
  111. data/generated/google/apis/dataproc_v1/representations.rb +2 -0
  112. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  113. data/generated/google/apis/dataproc_v1beta2/classes.rb +125 -1
  114. data/generated/google/apis/dataproc_v1beta2/representations.rb +41 -0
  115. data/generated/google/apis/dialogflow_v2.rb +1 -1
  116. data/generated/google/apis/dialogflow_v2/classes.rb +13 -6
  117. data/generated/google/apis/dialogflow_v2/service.rb +2 -0
  118. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  119. data/generated/google/apis/dialogflow_v2beta1/classes.rb +26 -6
  120. data/generated/google/apis/dialogflow_v2beta1/representations.rb +12 -0
  121. data/generated/google/apis/dialogflow_v2beta1/service.rb +261 -12
  122. data/generated/google/apis/dlp_v2.rb +1 -1
  123. data/generated/google/apis/dlp_v2/classes.rb +4 -4
  124. data/generated/google/apis/dns_v1beta2.rb +1 -1
  125. data/generated/google/apis/dns_v1beta2/classes.rb +326 -0
  126. data/generated/google/apis/dns_v1beta2/representations.rb +149 -0
  127. data/generated/google/apis/dns_v1beta2/service.rb +246 -0
  128. data/generated/google/apis/drive_v2.rb +3 -3
  129. data/generated/google/apis/drive_v3.rb +3 -3
  130. data/generated/google/apis/driveactivity_v2.rb +37 -0
  131. data/generated/google/apis/driveactivity_v2/classes.rb +1388 -0
  132. data/generated/google/apis/driveactivity_v2/representations.rb +799 -0
  133. data/generated/google/apis/driveactivity_v2/service.rb +89 -0
  134. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  135. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +8 -1
  136. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +1 -0
  137. data/generated/google/apis/firebasehosting_v1beta1.rb +3 -2
  138. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +43 -17
  139. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +13 -0
  140. data/generated/google/apis/firebasehosting_v1beta1/service.rb +74 -1
  141. data/generated/google/apis/firestore_v1.rb +1 -1
  142. data/generated/google/apis/firestore_v1/classes.rb +2225 -520
  143. data/generated/google/apis/firestore_v1/representations.rb +800 -33
  144. data/generated/google/apis/firestore_v1/service.rb +526 -0
  145. data/generated/google/apis/fitness_v1.rb +1 -1
  146. data/generated/google/apis/fitness_v1/classes.rb +1 -2
  147. data/generated/google/apis/fitness_v1/service.rb +7 -3
  148. data/generated/google/apis/games_management_v1management.rb +1 -4
  149. data/generated/google/apis/games_v1.rb +1 -4
  150. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  151. data/generated/google/apis/genomics_v2alpha1/classes.rb +6 -1
  152. data/generated/google/apis/gmail_v1.rb +2 -2
  153. data/generated/google/apis/iap_v1.rb +34 -0
  154. data/generated/google/apis/iap_v1/classes.rb +308 -0
  155. data/generated/google/apis/iap_v1/representations.rb +126 -0
  156. data/generated/google/apis/iap_v1/service.rb +725 -0
  157. data/generated/google/apis/iap_v1beta1.rb +1 -1
  158. data/generated/google/apis/iap_v1beta1/classes.rb +0 -132
  159. data/generated/google/apis/iap_v1beta1/representations.rb +0 -32
  160. data/generated/google/apis/jobs_v2.rb +1 -1
  161. data/generated/google/apis/jobs_v2/classes.rb +8 -9
  162. data/generated/google/apis/jobs_v3.rb +1 -1
  163. data/generated/google/apis/jobs_v3/classes.rb +6 -6
  164. data/generated/google/apis/jobs_v3/service.rb +8 -8
  165. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  166. data/generated/google/apis/jobs_v3p1beta1/classes.rb +9 -9
  167. data/generated/google/apis/jobs_v3p1beta1/service.rb +8 -8
  168. data/generated/google/apis/monitoring_v3.rb +1 -1
  169. data/generated/google/apis/monitoring_v3/classes.rb +20 -7
  170. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  171. data/generated/google/apis/monitoring_v3/service.rb +0 -365
  172. data/generated/google/apis/pagespeedonline_v5.rb +32 -0
  173. data/generated/google/apis/pagespeedonline_v5/classes.rb +724 -0
  174. data/generated/google/apis/pagespeedonline_v5/representations.rb +315 -0
  175. data/generated/google/apis/pagespeedonline_v5/service.rb +116 -0
  176. data/generated/google/apis/people_v1.rb +3 -3
  177. data/generated/google/apis/pubsub_v1.rb +1 -1
  178. data/generated/google/apis/pubsub_v1/classes.rb +63 -12
  179. data/generated/google/apis/pubsub_v1/representations.rb +15 -0
  180. data/generated/google/apis/pubsub_v1/service.rb +26 -18
  181. data/generated/google/apis/redis_v1.rb +2 -3
  182. data/generated/google/apis/redis_v1/service.rb +1 -2
  183. data/generated/google/apis/redis_v1beta1.rb +2 -3
  184. data/generated/google/apis/redis_v1beta1/service.rb +1 -2
  185. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  186. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +2 -2
  187. data/generated/google/apis/script_v1.rb +24 -6
  188. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  189. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +66 -1
  190. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +30 -0
  191. data/generated/google/apis/serviceconsumermanagement_v1/service.rb +89 -0
  192. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  193. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  194. data/generated/google/apis/servicemanagement_v1/classes.rb +7 -0
  195. data/generated/google/apis/servicemanagement_v1/representations.rb +1 -0
  196. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  197. data/generated/google/apis/servicenetworking_v1beta/classes.rb +84 -37
  198. data/generated/google/apis/servicenetworking_v1beta/representations.rb +15 -0
  199. data/generated/google/apis/servicenetworking_v1beta/service.rb +132 -43
  200. data/generated/google/apis/serviceusage_v1.rb +1 -1
  201. data/generated/google/apis/serviceusage_v1/classes.rb +1 -1
  202. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  203. data/generated/google/apis/serviceusage_v1beta1/classes.rb +1 -1
  204. data/generated/google/apis/sheets_v4.rb +4 -4
  205. data/generated/google/apis/slides_v1.rb +4 -4
  206. data/generated/google/apis/slides_v1/classes.rb +187 -2
  207. data/generated/google/apis/slides_v1/representations.rb +67 -0
  208. data/generated/google/apis/slides_v1/service.rb +4 -3
  209. data/generated/google/apis/sourcerepo_v1.rb +2 -2
  210. data/generated/google/apis/sourcerepo_v1/service.rb +1 -1
  211. data/generated/google/apis/speech_v1.rb +1 -1
  212. data/generated/google/apis/speech_v1/classes.rb +58 -10
  213. data/generated/google/apis/speech_v1/representations.rb +29 -1
  214. data/generated/google/apis/{speech_v1beta1.rb → speech_v1p1beta1.rb} +6 -6
  215. data/generated/google/apis/speech_v1p1beta1/classes.rb +922 -0
  216. data/generated/google/apis/speech_v1p1beta1/representations.rb +294 -0
  217. data/generated/google/apis/{speech_v1beta1 → speech_v1p1beta1}/service.rb +33 -35
  218. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  219. data/generated/google/apis/sqladmin_v1beta4/classes.rb +64 -3
  220. data/generated/google/apis/sqladmin_v1beta4/representations.rb +31 -0
  221. data/generated/google/apis/storage_v1.rb +1 -1
  222. data/generated/google/apis/storage_v1/classes.rb +54 -0
  223. data/generated/google/apis/storage_v1/representations.rb +31 -0
  224. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  225. data/generated/google/apis/streetviewpublish_v1/classes.rb +26 -0
  226. data/generated/google/apis/streetviewpublish_v1/representations.rb +4 -0
  227. data/generated/google/apis/streetviewpublish_v1/service.rb +29 -3
  228. data/generated/google/apis/tasks_v1.rb +1 -1
  229. data/generated/google/apis/testing_v1.rb +1 -1
  230. data/generated/google/apis/testing_v1/classes.rb +49 -19
  231. data/generated/google/apis/testing_v1/representations.rb +20 -2
  232. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  233. data/generated/google/apis/toolresults_v1beta3/classes.rb +77 -70
  234. data/generated/google/apis/vault_v1.rb +1 -1
  235. data/generated/google/apis/vault_v1/classes.rb +78 -7
  236. data/generated/google/apis/vault_v1/representations.rb +34 -1
  237. data/generated/google/apis/vault_v1/service.rb +141 -0
  238. data/generated/google/apis/vision_v1.rb +1 -1
  239. data/generated/google/apis/vision_v1/classes.rb +33 -0
  240. data/generated/google/apis/vision_v1/representations.rb +16 -0
  241. data/generated/google/apis/vision_v1/service.rb +2 -2
  242. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  243. data/generated/google/apis/vision_v1p1beta1/classes.rb +33 -0
  244. data/generated/google/apis/vision_v1p1beta1/representations.rb +16 -0
  245. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  246. data/generated/google/apis/vision_v1p2beta1/classes.rb +33 -0
  247. data/generated/google/apis/vision_v1p2beta1/representations.rb +16 -0
  248. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  249. data/google-api-client.gemspec +1 -1
  250. data/lib/google/api_client/auth/installed_app.rb +17 -2
  251. data/lib/google/api_client/client_secrets.rb +1 -1
  252. data/lib/google/apis/core/download.rb +2 -2
  253. data/lib/google/apis/errors.rb +9 -0
  254. data/lib/google/apis/generator/annotator.rb +2 -2
  255. data/lib/google/apis/version.rb +1 -1
  256. metadata +46 -17
  257. data/generated/google/apis/cloudiot_v1beta1/classes.rb +0 -959
  258. data/generated/google/apis/cloudiot_v1beta1/representations.rb +0 -375
  259. data/generated/google/apis/cloudiot_v1beta1/service.rb +0 -618
  260. data/generated/google/apis/dfareporting_v3_0.rb +0 -40
  261. data/generated/google/apis/dfareporting_v3_0/classes.rb +0 -12119
  262. data/generated/google/apis/dfareporting_v3_0/representations.rb +0 -4336
  263. data/generated/google/apis/dfareporting_v3_0/service.rb +0 -8701
  264. data/generated/google/apis/speech_v1beta1/classes.rb +0 -480
  265. data/generated/google/apis/speech_v1beta1/representations.rb +0 -194
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://gsuite.google.com/products/cloud-search/
27
27
  module CloudsearchV1
28
28
  VERSION = 'V1'
29
- REVISION = '20181029'
29
+ REVISION = '20181203'
30
30
 
31
31
  # Index and serve your organization's data with Cloud Search
32
32
  AUTH_CLOUD_SEARCH = 'https://www.googleapis.com/auth/cloud_search'
@@ -73,6 +73,26 @@ module Google
73
73
  end
74
74
  end
75
75
 
76
+ #
77
+ class CheckAccessResponse
78
+ include Google::Apis::Core::Hashable
79
+
80
+ # Returns true if principal has access. Returns false otherwise.
81
+ # Corresponds to the JSON property `hasAccess`
82
+ # @return [Boolean]
83
+ attr_accessor :has_access
84
+ alias_method :has_access?, :has_access
85
+
86
+ def initialize(**args)
87
+ update!(**args)
88
+ end
89
+
90
+ # Update properties of this object
91
+ def update!(**args)
92
+ @has_access = args[:has_access] if args.key?(:has_access)
93
+ end
94
+ end
95
+
76
96
  #
77
97
  class CompositeFilter
78
98
  include Google::Apis::Core::Hashable
@@ -1059,7 +1079,7 @@ module Google
1059
1079
 
1060
1080
  # This property indicates the freshness level of the object in the index.
1061
1081
  # If set, this property must be a top-level property within the
1062
- # PropertyDefinitions
1082
+ # property definitions
1063
1083
  # and it must be a
1064
1084
  # timestamp type
1065
1085
  # or
@@ -3583,6 +3603,64 @@ module Google
3583
3603
  end
3584
3604
  end
3585
3605
 
3606
+ #
3607
+ class SearchItemsByViewUrlRequest
3608
+ include Google::Apis::Core::Hashable
3609
+
3610
+ # Shared request debug options for all cloudsearch RPC methods.
3611
+ # Corresponds to the JSON property `debugOptions`
3612
+ # @return [Google::Apis::CloudsearchV1::DebugOptions]
3613
+ attr_accessor :debug_options
3614
+
3615
+ # The next_page_token value returned from a previous request, if any.
3616
+ # Corresponds to the JSON property `pageToken`
3617
+ # @return [String]
3618
+ attr_accessor :page_token
3619
+
3620
+ # Specify the full view URL to find the corresponding item.
3621
+ # The maximum length is 2048 characters.
3622
+ # Corresponds to the JSON property `viewUrl`
3623
+ # @return [String]
3624
+ attr_accessor :view_url
3625
+
3626
+ def initialize(**args)
3627
+ update!(**args)
3628
+ end
3629
+
3630
+ # Update properties of this object
3631
+ def update!(**args)
3632
+ @debug_options = args[:debug_options] if args.key?(:debug_options)
3633
+ @page_token = args[:page_token] if args.key?(:page_token)
3634
+ @view_url = args[:view_url] if args.key?(:view_url)
3635
+ end
3636
+ end
3637
+
3638
+ #
3639
+ class SearchItemsByViewUrlResponse
3640
+ include Google::Apis::Core::Hashable
3641
+
3642
+ #
3643
+ # Corresponds to the JSON property `items`
3644
+ # @return [Array<Google::Apis::CloudsearchV1::Item>]
3645
+ attr_accessor :items
3646
+
3647
+ # Token to retrieve the next page of results, or empty if there are no
3648
+ # more results in the list.
3649
+ # Corresponds to the JSON property `nextPageToken`
3650
+ # @return [String]
3651
+ attr_accessor :next_page_token
3652
+
3653
+ def initialize(**args)
3654
+ update!(**args)
3655
+ end
3656
+
3657
+ # Update properties of this object
3658
+ def update!(**args)
3659
+ @items = args[:items] if args.key?(:items)
3660
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3661
+ end
3662
+ end
3663
+
3586
3664
  # Additional search quality metadata of the item.
3587
3665
  class SearchQualityMetadata
3588
3666
  include Google::Apis::Core::Hashable
@@ -34,6 +34,12 @@ module Google
34
34
  include Google::Apis::Core::JsonObjectSupport
35
35
  end
36
36
 
37
+ class CheckAccessResponse
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
41
+ end
42
+
37
43
  class CompositeFilter
38
44
  class Representation < Google::Apis::Core::JsonRepresentation; end
39
45
 
@@ -634,6 +640,18 @@ module Google
634
640
  include Google::Apis::Core::JsonObjectSupport
635
641
  end
636
642
 
643
+ class SearchItemsByViewUrlRequest
644
+ class Representation < Google::Apis::Core::JsonRepresentation; end
645
+
646
+ include Google::Apis::Core::JsonObjectSupport
647
+ end
648
+
649
+ class SearchItemsByViewUrlResponse
650
+ class Representation < Google::Apis::Core::JsonRepresentation; end
651
+
652
+ include Google::Apis::Core::JsonObjectSupport
653
+ end
654
+
637
655
  class SearchQualityMetadata
638
656
  class Representation < Google::Apis::Core::JsonRepresentation; end
639
657
 
@@ -841,6 +859,13 @@ module Google
841
859
  end
842
860
  end
843
861
 
862
+ class CheckAccessResponse
863
+ # @private
864
+ class Representation < Google::Apis::Core::JsonRepresentation
865
+ property :has_access, as: 'hasAccess'
866
+ end
867
+ end
868
+
844
869
  class CompositeFilter
845
870
  # @private
846
871
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -1824,6 +1849,25 @@ module Google
1824
1849
  end
1825
1850
  end
1826
1851
 
1852
+ class SearchItemsByViewUrlRequest
1853
+ # @private
1854
+ class Representation < Google::Apis::Core::JsonRepresentation
1855
+ property :debug_options, as: 'debugOptions', class: Google::Apis::CloudsearchV1::DebugOptions, decorator: Google::Apis::CloudsearchV1::DebugOptions::Representation
1856
+
1857
+ property :page_token, as: 'pageToken'
1858
+ property :view_url, as: 'viewUrl'
1859
+ end
1860
+ end
1861
+
1862
+ class SearchItemsByViewUrlResponse
1863
+ # @private
1864
+ class Representation < Google::Apis::Core::JsonRepresentation
1865
+ collection :items, as: 'items', class: Google::Apis::CloudsearchV1::Item, decorator: Google::Apis::CloudsearchV1::Item::Representation
1866
+
1867
+ property :next_page_token, as: 'nextPageToken'
1868
+ end
1869
+ end
1870
+
1827
1871
  class SearchQualityMetadata
1828
1872
  # @private
1829
1873
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -48,10 +48,86 @@ module Google
48
48
  @batch_path = 'batch'
49
49
  end
50
50
 
51
+ # Checks whether an item is accessible by specified principal.
52
+ # @param [String] name
53
+ # Item name, format:
54
+ # datasources/`source_id`/items/`item_id`
55
+ # @param [Google::Apis::CloudsearchV1::Principal] principal_object
56
+ # @param [Boolean] debug_options_enable_debugging
57
+ # If set, the request will enable debugging features of Cloud Search.
58
+ # Only turn on this field, if asked by Google to help with debugging.
59
+ # @param [String] fields
60
+ # Selector specifying which fields to include in a partial response.
61
+ # @param [String] quota_user
62
+ # Available to use for quota purposes for server-side applications. Can be any
63
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
64
+ # @param [Google::Apis::RequestOptions] options
65
+ # Request-specific options
66
+ #
67
+ # @yield [result, err] Result & error if block supplied
68
+ # @yieldparam result [Google::Apis::CloudsearchV1::CheckAccessResponse] parsed result object
69
+ # @yieldparam err [StandardError] error object if request failed
70
+ #
71
+ # @return [Google::Apis::CloudsearchV1::CheckAccessResponse]
72
+ #
73
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
74
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
75
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
76
+ def check_debug_datasource_item_access(name, principal_object = nil, debug_options_enable_debugging: nil, fields: nil, quota_user: nil, options: nil, &block)
77
+ command = make_simple_command(:post, 'v1/debug/{+name}:checkAccess', options)
78
+ command.request_representation = Google::Apis::CloudsearchV1::Principal::Representation
79
+ command.request_object = principal_object
80
+ command.response_representation = Google::Apis::CloudsearchV1::CheckAccessResponse::Representation
81
+ command.response_class = Google::Apis::CloudsearchV1::CheckAccessResponse
82
+ command.params['name'] = name unless name.nil?
83
+ command.query['debugOptions.enableDebugging'] = debug_options_enable_debugging unless debug_options_enable_debugging.nil?
84
+ command.query['fields'] = fields unless fields.nil?
85
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
86
+ execute_or_queue_command(command, &block)
87
+ end
88
+
89
+ # Fetches the item whose viewUrl exactly matches that of the URL provided
90
+ # in the request.
91
+ # @param [String] name
92
+ # Source name, format:
93
+ # datasources/`source_id`
94
+ # @param [Google::Apis::CloudsearchV1::SearchItemsByViewUrlRequest] search_items_by_view_url_request_object
95
+ # @param [String] fields
96
+ # Selector specifying which fields to include in a partial response.
97
+ # @param [String] quota_user
98
+ # Available to use for quota purposes for server-side applications. Can be any
99
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
100
+ # @param [Google::Apis::RequestOptions] options
101
+ # Request-specific options
102
+ #
103
+ # @yield [result, err] Result & error if block supplied
104
+ # @yieldparam result [Google::Apis::CloudsearchV1::SearchItemsByViewUrlResponse] parsed result object
105
+ # @yieldparam err [StandardError] error object if request failed
106
+ #
107
+ # @return [Google::Apis::CloudsearchV1::SearchItemsByViewUrlResponse]
108
+ #
109
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
110
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
111
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
112
+ def search_debug_datasource_item_by_view_url(name, search_items_by_view_url_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
113
+ command = make_simple_command(:post, 'v1/debug/{+name}/items:searchByViewUrl', options)
114
+ command.request_representation = Google::Apis::CloudsearchV1::SearchItemsByViewUrlRequest::Representation
115
+ command.request_object = search_items_by_view_url_request_object
116
+ command.response_representation = Google::Apis::CloudsearchV1::SearchItemsByViewUrlResponse::Representation
117
+ command.response_class = Google::Apis::CloudsearchV1::SearchItemsByViewUrlResponse
118
+ command.params['name'] = name unless name.nil?
119
+ command.query['fields'] = fields unless fields.nil?
120
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
121
+ execute_or_queue_command(command, &block)
122
+ end
123
+
51
124
  # List all unmapped identities for a specific item.
52
125
  # @param [String] parent
53
126
  # The name of the item, in the following format:
54
127
  # datasources/`source_id`/items/`ID`
128
+ # @param [Boolean] debug_options_enable_debugging
129
+ # If set, the request will enable debugging features of Cloud Search.
130
+ # Only turn on this field, if asked by Google to help with debugging.
55
131
  # @param [Fixnum] page_size
56
132
  # Maximum number of items to fetch in a request.
57
133
  # Defaults to 100.
@@ -74,11 +150,12 @@ module Google
74
150
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
75
151
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
76
152
  # @raise [Google::Apis::AuthorizationError] Authorization is required
77
- def list_debug_datasource_item_unmappedids(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
153
+ def list_debug_datasource_item_unmappedids(parent, debug_options_enable_debugging: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
78
154
  command = make_simple_command(:get, 'v1/debug/{+parent}/unmappedids', options)
79
155
  command.response_representation = Google::Apis::CloudsearchV1::ListUnmappedIdentitiesResponse::Representation
80
156
  command.response_class = Google::Apis::CloudsearchV1::ListUnmappedIdentitiesResponse
81
157
  command.params['parent'] = parent unless parent.nil?
158
+ command.query['debugOptions.enableDebugging'] = debug_options_enable_debugging unless debug_options_enable_debugging.nil?
82
159
  command.query['pageSize'] = page_size unless page_size.nil?
83
160
  command.query['pageToken'] = page_token unless page_token.nil?
84
161
  command.query['fields'] = fields unless fields.nil?
@@ -90,6 +167,9 @@ module Google
90
167
  # @param [String] parent
91
168
  # The name of the identity source, in the following format:
92
169
  # identitysources/`source_id``
170
+ # @param [Boolean] debug_options_enable_debugging
171
+ # If set, the request will enable debugging features of Cloud Search.
172
+ # Only turn on this field, if asked by Google to help with debugging.
93
173
  # @param [String] group_resource_name
94
174
  # @param [Fixnum] page_size
95
175
  # Maximum number of items to fetch in a request.
@@ -114,11 +194,12 @@ module Google
114
194
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
115
195
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
116
196
  # @raise [Google::Apis::AuthorizationError] Authorization is required
117
- def list_debug_identitysource_item_forunmappedidentity(parent, group_resource_name: nil, page_size: nil, page_token: nil, user_resource_name: nil, fields: nil, quota_user: nil, options: nil, &block)
197
+ def list_debug_identitysource_item_forunmappedidentity(parent, debug_options_enable_debugging: nil, group_resource_name: nil, page_size: nil, page_token: nil, user_resource_name: nil, fields: nil, quota_user: nil, options: nil, &block)
118
198
  command = make_simple_command(:get, 'v1/debug/{+parent}/items:forunmappedidentity', options)
119
199
  command.response_representation = Google::Apis::CloudsearchV1::ListItemNamesForUnmappedIdentityResponse::Representation
120
200
  command.response_class = Google::Apis::CloudsearchV1::ListItemNamesForUnmappedIdentityResponse
121
201
  command.params['parent'] = parent unless parent.nil?
202
+ command.query['debugOptions.enableDebugging'] = debug_options_enable_debugging unless debug_options_enable_debugging.nil?
122
203
  command.query['groupResourceName'] = group_resource_name unless group_resource_name.nil?
123
204
  command.query['pageSize'] = page_size unless page_size.nil?
124
205
  command.query['pageToken'] = page_token unless page_token.nil?
@@ -132,6 +213,9 @@ module Google
132
213
  # @param [String] parent
133
214
  # The name of the identity source, in the following format:
134
215
  # identitysources/`source_id`
216
+ # @param [Boolean] debug_options_enable_debugging
217
+ # If set, the request will enable debugging features of Cloud Search.
218
+ # Only turn on this field, if asked by Google to help with debugging.
135
219
  # @param [Fixnum] page_size
136
220
  # Maximum number of items to fetch in a request.
137
221
  # Defaults to 100.
@@ -156,11 +240,12 @@ module Google
156
240
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
157
241
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
158
242
  # @raise [Google::Apis::AuthorizationError] Authorization is required
159
- def list_debug_identitysource_unmappedids(parent, page_size: nil, page_token: nil, resolution_status_code: nil, fields: nil, quota_user: nil, options: nil, &block)
243
+ def list_debug_identitysource_unmappedids(parent, debug_options_enable_debugging: nil, page_size: nil, page_token: nil, resolution_status_code: nil, fields: nil, quota_user: nil, options: nil, &block)
160
244
  command = make_simple_command(:get, 'v1/debug/{+parent}/unmappedids', options)
161
245
  command.response_representation = Google::Apis::CloudsearchV1::ListUnmappedIdentitiesResponse::Representation
162
246
  command.response_class = Google::Apis::CloudsearchV1::ListUnmappedIdentitiesResponse
163
247
  command.params['parent'] = parent unless parent.nil?
248
+ command.query['debugOptions.enableDebugging'] = debug_options_enable_debugging unless debug_options_enable_debugging.nil?
164
249
  command.query['pageSize'] = page_size unless page_size.nil?
165
250
  command.query['pageToken'] = page_token unless page_token.nil?
166
251
  command.query['resolutionStatusCode'] = resolution_status_code unless resolution_status_code.nil?
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/composer/
26
26
  module ComposerV1
27
27
  VERSION = 'V1'
28
- REVISION = '20181001'
28
+ REVISION = '20181120'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -552,6 +552,14 @@ module Google
552
552
  # @return [Hash<String,String>]
553
553
  attr_accessor :pypi_packages
554
554
 
555
+ # Optional. The major version of Python used to run the Apache Airflow
556
+ # scheduler, worker, and webserver processes.
557
+ # Can be set to '2' or '3'. If not specified, the default is '2'. Cannot be
558
+ # updated.
559
+ # Corresponds to the JSON property `pythonVersion`
560
+ # @return [String]
561
+ attr_accessor :python_version
562
+
555
563
  def initialize(**args)
556
564
  update!(**args)
557
565
  end
@@ -562,6 +570,7 @@ module Google
562
570
  @env_variables = args[:env_variables] if args.key?(:env_variables)
563
571
  @image_version = args[:image_version] if args.key?(:image_version)
564
572
  @pypi_packages = args[:pypi_packages] if args.key?(:pypi_packages)
573
+ @python_version = args[:python_version] if args.key?(:python_version)
565
574
  end
566
575
  end
567
576
 
@@ -179,6 +179,7 @@ module Google
179
179
  hash :env_variables, as: 'envVariables'
180
180
  property :image_version, as: 'imageVersion'
181
181
  hash :pypi_packages, as: 'pypiPackages'
182
+ property :python_version, as: 'pythonVersion'
182
183
  end
183
184
  end
184
185
 
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/compute/docs/reference/latest/
26
26
  module ComputeAlpha
27
27
  VERSION = 'Alpha'
28
- REVISION = '20181017'
28
+ REVISION = '20181128'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -584,7 +584,8 @@ module Google
584
584
  # essentially a hash of the labels set used for optimistic locking. The
585
585
  # fingerprint is initially generated by Compute Engine and changes after every
586
586
  # request to modify or update labels. You must always provide an up-to-date
587
- # fingerprint hash in order to update or change labels.
587
+ # fingerprint hash in order to update or change labels, otherwise the request
588
+ # will fail with error 412 conditionNotMet.
588
589
  # To see the latest fingerprint, make a get() request to retrieve an Address.
589
590
  # Corresponds to the JSON property `labelFingerprint`
590
591
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
@@ -615,7 +616,11 @@ module Google
615
616
  attr_accessor :network
616
617
 
617
618
  # This signifies the networking tier used for configuring this Address and can
618
- # only take the following values: PREMIUM , STANDARD.
619
+ # only take the following values: PREMIUM, STANDARD. Global forwarding rules can
620
+ # only be Premium Tier. Regional forwarding rules can be either Premium or
621
+ # Standard Tier. Standard Tier addresses applied to regional forwarding rules
622
+ # can be used with any external load balancer. Regional forwarding rules in
623
+ # Premium Tier can only be used with a Network load balancer.
619
624
  # If this field is not specified, it is assumed to be PREMIUM.
620
625
  # Corresponds to the JSON property `networkTier`
621
626
  # @return [String]
@@ -1102,7 +1107,7 @@ module Google
1102
1107
  # @return [Google::Apis::ComputeAlpha::AllocationSpecificSkuAllocation]
1103
1108
  attr_accessor :specific_allocation
1104
1109
 
1105
- # Indicates whether the allocation can be consumed by VMs with ?any allocation?
1110
+ # Indicates whether the allocation can be consumed by VMs with "any allocation"
1106
1111
  # defined. If the field is set, then only VMs that target the allocation by name
1107
1112
  # using --allocation-affinity can consume this allocation.
1108
1113
  # Corresponds to the JSON property `specificAllocationRequired`
@@ -2597,8 +2602,7 @@ module Google
2597
2602
  attr_accessor :utilization_target
2598
2603
 
2599
2604
  # Defines how target utilization value is expressed for a Stackdriver Monitoring
2600
- # metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not specified,
2601
- # the default is GAUGE.
2605
+ # metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE.
2602
2606
  # Corresponds to the JSON property `utilizationTargetType`
2603
2607
  # @return [String]
2604
2608
  attr_accessor :utilization_target_type
@@ -2741,15 +2745,21 @@ module Google
2741
2745
  attr_accessor :failover
2742
2746
  alias_method :failover?, :failover
2743
2747
 
2744
- # The fully-qualified URL of a Instance Group resource. This instance group
2745
- # defines the list of instances that serve traffic. Member virtual machine
2746
- # instances from each instance group must live in the same zone as the instance
2747
- # group itself. No two backends in a backend service are allowed to use same
2748
- # Instance Group resource.
2749
- # Note that you must specify an Instance Group resource using the fully-
2750
- # qualified URL, rather than a partial URL.
2748
+ # The fully-qualified URL of an Instance Group or Network Endpoint Group
2749
+ # resource. In case of instance group this defines the list of instances that
2750
+ # serve traffic. Member virtual machine instances from each instance group must
2751
+ # live in the same zone as the instance group itself. No two backends in a
2752
+ # backend service are allowed to use same Instance Group resource.
2753
+ # For Network Endpoint Groups this defines list of endpoints. All endpoints of
2754
+ # Network Endpoint Group must be hosted on instances located in the same zone as
2755
+ # the Network Endpoint Group.
2756
+ # Backend service can not contain mix of Instance Group and Network Endpoint
2757
+ # Group backends.
2758
+ # Note that you must specify an Instance Group or Network Endpoint Group
2759
+ # resource using the fully-qualified URL, rather than a partial URL.
2751
2760
  # When the BackendService has load balancing scheme INTERNAL, the instance group
2752
- # must be within the same region as the BackendService.
2761
+ # must be within the same region as the BackendService. Network Endpoint Groups
2762
+ # are not supported for INTERNAL load balancing scheme.
2753
2763
  # Corresponds to the JSON property `group`
2754
2764
  # @return [String]
2755
2765
  attr_accessor :group
@@ -2916,7 +2926,7 @@ module Google
2916
2926
  # considered fresh. After this time period, the response will be revalidated
2917
2927
  # before being served. Defaults to 1hr (3600s). When serving responses to signed
2918
2928
  # URL requests, Cloud CDN will internally behave as though all responses from
2919
- # this backend had a ?Cache-Control: public, max-age=[TTL]? header, regardless
2929
+ # this backend had a "Cache-Control: public, max-age=[TTL]" header, regardless
2920
2930
  # of any existing Cache-Control header. The actual headers served in responses
2921
2931
  # will not be altered.
2922
2932
  # Corresponds to the JSON property `signedUrlCacheMaxAgeSec`
@@ -3126,7 +3136,8 @@ module Google
3126
3136
  # Fingerprint of this resource. A hash of the contents stored in this object.
3127
3137
  # This field is used in optimistic locking. This field will be ignored when
3128
3138
  # inserting a BackendService. An up-to-date fingerprint must be provided in
3129
- # order to update the BackendService.
3139
+ # order to update the BackendService, otherwise the request will fail with error
3140
+ # 412 conditionNotMet.
3130
3141
  # To see the latest fingerprint, make a get() request to retrieve a
3131
3142
  # BackendService.
3132
3143
  # Corresponds to the JSON property `fingerprint`
@@ -3169,6 +3180,12 @@ module Google
3169
3180
  # @return [String]
3170
3181
  attr_accessor :load_balancing_scheme
3171
3182
 
3183
+ # The available logging options for the load balancer traffic served by this
3184
+ # backend service.
3185
+ # Corresponds to the JSON property `logConfig`
3186
+ # @return [Google::Apis::ComputeAlpha::BackendServiceLogConfig]
3187
+ attr_accessor :log_config
3188
+
3172
3189
  # Name of the resource. Provided by the client when the resource is created. The
3173
3190
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
3174
3191
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3260,6 +3277,7 @@ module Google
3260
3277
  @id = args[:id] if args.key?(:id)
3261
3278
  @kind = args[:kind] if args.key?(:kind)
3262
3279
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3280
+ @log_config = args[:log_config] if args.key?(:log_config)
3263
3281
  @name = args[:name] if args.key?(:name)
3264
3282
  @port = args[:port] if args.key?(:port)
3265
3283
  @port_name = args[:port_name] if args.key?(:port_name)
@@ -3436,7 +3454,7 @@ module Google
3436
3454
  # considered fresh. After this time period, the response will be revalidated
3437
3455
  # before being served. Defaults to 1hr (3600s). When serving responses to signed
3438
3456
  # URL requests, Cloud CDN will internally behave as though all responses from
3439
- # this backend had a ?Cache-Control: public, max-age=[TTL]? header, regardless
3457
+ # this backend had a "Cache-Control: public, max-age=[TTL]" header, regardless
3440
3458
  # of any existing Cache-Control header. The actual headers served in responses
3441
3459
  # will not be altered.
3442
3460
  # Corresponds to the JSON property `signedUrlCacheMaxAgeSec`
@@ -3539,7 +3557,13 @@ module Google
3539
3557
  class BackendServiceGroupHealth
3540
3558
  include Google::Apis::Core::Hashable
3541
3559
 
3542
- #
3560
+ # Metadata defined as annotations on the network endpoint group.
3561
+ # Corresponds to the JSON property `annotations`
3562
+ # @return [Hash<String,String>]
3563
+ attr_accessor :annotations
3564
+
3565
+ # Health state of the backend instances or endpoints in requested instance or
3566
+ # network endpoint group, determined based on configured health checks.
3543
3567
  # Corresponds to the JSON property `healthStatus`
3544
3568
  # @return [Array<Google::Apis::ComputeAlpha::HealthStatus>]
3545
3569
  attr_accessor :health_status
@@ -3556,6 +3580,7 @@ module Google
3556
3580
 
3557
3581
  # Update properties of this object
3558
3582
  def update!(**args)
3583
+ @annotations = args[:annotations] if args.key?(:annotations)
3559
3584
  @health_status = args[:health_status] if args.key?(:health_status)
3560
3585
  @kind = args[:kind] if args.key?(:kind)
3561
3586
  end
@@ -3756,6 +3781,38 @@ module Google
3756
3781
  end
3757
3782
  end
3758
3783
 
3784
+ # The available logging options for the load balancer traffic served by this
3785
+ # backend service.
3786
+ class BackendServiceLogConfig
3787
+ include Google::Apis::Core::Hashable
3788
+
3789
+ # This field denotes whether to enable logging for the load balancer traffic
3790
+ # served by this backend service.
3791
+ # Corresponds to the JSON property `enable`
3792
+ # @return [Boolean]
3793
+ attr_accessor :enable
3794
+ alias_method :enable?, :enable
3795
+
3796
+ # This field can only be specified if logging is enabled for this backend
3797
+ # service. The value of the field must be in [0, 1]. This configures the
3798
+ # sampling rate of requests to the load balancer where 1.0 means all logged
3799
+ # requests are reported and 0.0 means no logged requests are reported. The
3800
+ # default value is 1.0.
3801
+ # Corresponds to the JSON property `sampleRate`
3802
+ # @return [Float]
3803
+ attr_accessor :sample_rate
3804
+
3805
+ def initialize(**args)
3806
+ update!(**args)
3807
+ end
3808
+
3809
+ # Update properties of this object
3810
+ def update!(**args)
3811
+ @enable = args[:enable] if args.key?(:enable)
3812
+ @sample_rate = args[:sample_rate] if args.key?(:sample_rate)
3813
+ end
3814
+ end
3815
+
3759
3816
  #
3760
3817
  class BackendServiceReference
3761
3818
  include Google::Apis::Core::Hashable
@@ -4687,7 +4744,8 @@ module Google
4687
4744
  # a hash of the labels set used for optimistic locking. The fingerprint is
4688
4745
  # initially generated by Compute Engine and changes after every request to
4689
4746
  # modify or update labels. You must always provide an up-to-date fingerprint
4690
- # hash in order to update or change labels.
4747
+ # hash in order to update or change labels, otherwise the request will fail with
4748
+ # error 412 conditionNotMet.
4691
4749
  # To see the latest fingerprint, make a get() request to retrieve a disk.
4692
4750
  # Corresponds to the JSON property `labelFingerprint`
4693
4751
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
@@ -4736,10 +4794,9 @@ module Google
4736
4794
  attr_accessor :options
4737
4795
 
4738
4796
  # Physical block size of the persistent disk, in bytes. If not present in a
4739
- # request, a default value is used. Initially only 4096 is supported, but other
4740
- # powers of two may be added. If an unsupported value is requested, the error
4741
- # message will list the supported values, but even a supported value may be
4742
- # allowed for only some projects.
4797
+ # request, a default value is used. Currently supported sizes are 4096 and 16384,
4798
+ # other sizes may be added in the future. If an unsupported value is requested,
4799
+ # the error message will list the supported values for the caller's project.
4743
4800
  # Corresponds to the JSON property `physicalBlockSizeBytes`
4744
4801
  # @return [Fixnum]
4745
4802
  attr_accessor :physical_block_size_bytes
@@ -5785,6 +5842,26 @@ module Google
5785
5842
  end
5786
5843
  end
5787
5844
 
5845
+ # A set of Display Device options
5846
+ class DisplayDevice
5847
+ include Google::Apis::Core::Hashable
5848
+
5849
+ # Defines whether the instance has Display enabled.
5850
+ # Corresponds to the JSON property `enableDisplay`
5851
+ # @return [Boolean]
5852
+ attr_accessor :enable_display
5853
+ alias_method :enable_display?, :enable_display
5854
+
5855
+ def initialize(**args)
5856
+ update!(**args)
5857
+ end
5858
+
5859
+ # Update properties of this object
5860
+ def update!(**args)
5861
+ @enable_display = args[:enable_display] if args.key?(:enable_display)
5862
+ end
5863
+ end
5864
+
5788
5865
  #
5789
5866
  class DistributionPolicy
5790
5867
  include Google::Apis::Core::Hashable
@@ -5825,6 +5902,168 @@ module Google
5825
5902
  end
5826
5903
  end
5827
5904
 
5905
+ #
5906
+ class ExchangedPeeringRoute
5907
+ include Google::Apis::Core::Hashable
5908
+
5909
+ # The destination range of the route.
5910
+ # Corresponds to the JSON property `destRange`
5911
+ # @return [String]
5912
+ attr_accessor :dest_range
5913
+
5914
+ # If the peering route is imported if there is no confliction.
5915
+ # Corresponds to the JSON property `imported`
5916
+ # @return [Boolean]
5917
+ attr_accessor :imported
5918
+ alias_method :imported?, :imported
5919
+
5920
+ # The region of peering route next hop, only applies to dynamic routes.
5921
+ # Corresponds to the JSON property `nextHopRegion`
5922
+ # @return [String]
5923
+ attr_accessor :next_hop_region
5924
+
5925
+ # The priority of the peering route.
5926
+ # Corresponds to the JSON property `priority`
5927
+ # @return [Fixnum]
5928
+ attr_accessor :priority
5929
+
5930
+ # The type of the peering route.
5931
+ # Corresponds to the JSON property `type`
5932
+ # @return [String]
5933
+ attr_accessor :type
5934
+
5935
+ def initialize(**args)
5936
+ update!(**args)
5937
+ end
5938
+
5939
+ # Update properties of this object
5940
+ def update!(**args)
5941
+ @dest_range = args[:dest_range] if args.key?(:dest_range)
5942
+ @imported = args[:imported] if args.key?(:imported)
5943
+ @next_hop_region = args[:next_hop_region] if args.key?(:next_hop_region)
5944
+ @priority = args[:priority] if args.key?(:priority)
5945
+ @type = args[:type] if args.key?(:type)
5946
+ end
5947
+ end
5948
+
5949
+ #
5950
+ class ExchangedPeeringRoutesList
5951
+ include Google::Apis::Core::Hashable
5952
+
5953
+ # [Output Only] Unique identifier for the resource; defined by the server.
5954
+ # Corresponds to the JSON property `id`
5955
+ # @return [String]
5956
+ attr_accessor :id
5957
+
5958
+ # A list of ExchangedPeeringRoute resources.
5959
+ # Corresponds to the JSON property `items`
5960
+ # @return [Array<Google::Apis::ComputeAlpha::ExchangedPeeringRoute>]
5961
+ attr_accessor :items
5962
+
5963
+ # [Output Only] Type of resource. Always compute#exchangedPeeringRoutesList for
5964
+ # exchanged peering routes lists.
5965
+ # Corresponds to the JSON property `kind`
5966
+ # @return [String]
5967
+ attr_accessor :kind
5968
+
5969
+ # [Output Only] This token allows you to get the next page of results for list
5970
+ # requests. If the number of results is larger than maxResults, use the
5971
+ # nextPageToken as a value for the query parameter pageToken in the next list
5972
+ # request. Subsequent list requests will have their own nextPageToken to
5973
+ # continue paging through the results.
5974
+ # Corresponds to the JSON property `nextPageToken`
5975
+ # @return [String]
5976
+ attr_accessor :next_page_token
5977
+
5978
+ # [Output Only] Server-defined URL for this resource.
5979
+ # Corresponds to the JSON property `selfLink`
5980
+ # @return [String]
5981
+ attr_accessor :self_link
5982
+
5983
+ # [Output Only] Informational warning message.
5984
+ # Corresponds to the JSON property `warning`
5985
+ # @return [Google::Apis::ComputeAlpha::ExchangedPeeringRoutesList::Warning]
5986
+ attr_accessor :warning
5987
+
5988
+ def initialize(**args)
5989
+ update!(**args)
5990
+ end
5991
+
5992
+ # Update properties of this object
5993
+ def update!(**args)
5994
+ @id = args[:id] if args.key?(:id)
5995
+ @items = args[:items] if args.key?(:items)
5996
+ @kind = args[:kind] if args.key?(:kind)
5997
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
5998
+ @self_link = args[:self_link] if args.key?(:self_link)
5999
+ @warning = args[:warning] if args.key?(:warning)
6000
+ end
6001
+
6002
+ # [Output Only] Informational warning message.
6003
+ class Warning
6004
+ include Google::Apis::Core::Hashable
6005
+
6006
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
6007
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
6008
+ # Corresponds to the JSON property `code`
6009
+ # @return [String]
6010
+ attr_accessor :code
6011
+
6012
+ # [Output Only] Metadata about this warning in key: value format. For example:
6013
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
6014
+ # Corresponds to the JSON property `data`
6015
+ # @return [Array<Google::Apis::ComputeAlpha::ExchangedPeeringRoutesList::Warning::Datum>]
6016
+ attr_accessor :data
6017
+
6018
+ # [Output Only] A human-readable description of the warning code.
6019
+ # Corresponds to the JSON property `message`
6020
+ # @return [String]
6021
+ attr_accessor :message
6022
+
6023
+ def initialize(**args)
6024
+ update!(**args)
6025
+ end
6026
+
6027
+ # Update properties of this object
6028
+ def update!(**args)
6029
+ @code = args[:code] if args.key?(:code)
6030
+ @data = args[:data] if args.key?(:data)
6031
+ @message = args[:message] if args.key?(:message)
6032
+ end
6033
+
6034
+ #
6035
+ class Datum
6036
+ include Google::Apis::Core::Hashable
6037
+
6038
+ # [Output Only] A key that provides more detail on the warning being returned.
6039
+ # For example, for warnings where there are no results in a list request for a
6040
+ # particular zone, this key might be scope and the key value might be the zone
6041
+ # name. Other examples might be a key indicating a deprecated resource and a
6042
+ # suggested replacement, or a warning about invalid network settings (for
6043
+ # example, if an instance attempts to perform IP forwarding but is not enabled
6044
+ # for IP forwarding).
6045
+ # Corresponds to the JSON property `key`
6046
+ # @return [String]
6047
+ attr_accessor :key
6048
+
6049
+ # [Output Only] A warning data value corresponding to the key.
6050
+ # Corresponds to the JSON property `value`
6051
+ # @return [String]
6052
+ attr_accessor :value
6053
+
6054
+ def initialize(**args)
6055
+ update!(**args)
6056
+ end
6057
+
6058
+ # Update properties of this object
6059
+ def update!(**args)
6060
+ @key = args[:key] if args.key?(:key)
6061
+ @value = args[:value] if args.key?(:value)
6062
+ end
6063
+ end
6064
+ end
6065
+ end
6066
+
5828
6067
  # Represents an expression text. Example:
5829
6068
  # title: "User account presence" description: "Determines whether the request
5830
6069
  # has a user account" expression: "size(request.user) > 0"
@@ -5919,8 +6158,9 @@ module Google
5919
6158
  attr_accessor :disabled
5920
6159
  alias_method :disabled?, :disabled
5921
6160
 
5922
- # This field denotes whether to enable logging for a particular firewall rule.
5923
- # If logging is enabled, logs will be exported to Stackdriver.
6161
+ # Deprecated in favor of enable in LogConfig. This field denotes whether to
6162
+ # enable logging for a particular firewall rule. If logging is enabled, logs
6163
+ # will be exported to Stackdriver.
5924
6164
  # Corresponds to the JSON property `enableLogging`
5925
6165
  # @return [Boolean]
5926
6166
  attr_accessor :enable_logging
@@ -5937,6 +6177,11 @@ module Google
5937
6177
  # @return [String]
5938
6178
  attr_accessor :kind
5939
6179
 
6180
+ # The available logging options for a firewall rule.
6181
+ # Corresponds to the JSON property `logConfig`
6182
+ # @return [Google::Apis::ComputeAlpha::FirewallLogConfig]
6183
+ attr_accessor :log_config
6184
+
5940
6185
  # Name of the resource; provided by the client when the resource is created. The
5941
6186
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
5942
6187
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -6047,6 +6292,7 @@ module Google
6047
6292
  @enable_logging = args[:enable_logging] if args.key?(:enable_logging)
6048
6293
  @id = args[:id] if args.key?(:id)
6049
6294
  @kind = args[:kind] if args.key?(:kind)
6295
+ @log_config = args[:log_config] if args.key?(:log_config)
6050
6296
  @name = args[:name] if args.key?(:name)
6051
6297
  @network = args[:network] if args.key?(:network)
6052
6298
  @priority = args[:priority] if args.key?(:priority)
@@ -6239,6 +6485,26 @@ module Google
6239
6485
  end
6240
6486
  end
6241
6487
 
6488
+ # The available logging options for a firewall rule.
6489
+ class FirewallLogConfig
6490
+ include Google::Apis::Core::Hashable
6491
+
6492
+ # This field denotes whether to enable logging for a particular firewall rule.
6493
+ # Corresponds to the JSON property `enable`
6494
+ # @return [Boolean]
6495
+ attr_accessor :enable
6496
+ alias_method :enable?, :enable
6497
+
6498
+ def initialize(**args)
6499
+ update!(**args)
6500
+ end
6501
+
6502
+ # Update properties of this object
6503
+ def update!(**args)
6504
+ @enable = args[:enable] if args.key?(:enable)
6505
+ end
6506
+ end
6507
+
6242
6508
  # Encapsulates numeric value that can be either absolute or relative.
6243
6509
  class FixedOrPercent
6244
6510
  include Google::Apis::Core::Hashable
@@ -6399,7 +6665,8 @@ module Google
6399
6665
  # essentially a hash of the labels set used for optimistic locking. The
6400
6666
  # fingerprint is initially generated by Compute Engine and changes after every
6401
6667
  # request to modify or update labels. You must always provide an up-to-date
6402
- # fingerprint hash in order to update or change labels.
6668
+ # fingerprint hash in order to update or change labels, otherwise the request
6669
+ # will fail with error 412 conditionNotMet.
6403
6670
  # To see the latest fingerprint, make a get() request to retrieve a
6404
6671
  # ForwardingRule.
6405
6672
  # Corresponds to the JSON property `labelFingerprint`
@@ -6472,9 +6739,9 @@ module Google
6472
6739
 
6473
6740
  # This field is used along with the backend_service field for internal load
6474
6741
  # balancing.
6475
- # When the load balancing scheme is INTERNAL, a single port or a comma separated
6476
- # list of ports can be configured. Only packets addressed to these ports will be
6477
- # forwarded to the backends configured with this forwarding rule.
6742
+ # When the load balancing scheme is INTERNAL, a list of ports can be configured,
6743
+ # for example, ['80'], ['8000','9000'] etc. Only packets addressed to these
6744
+ # ports will be forwarded to the backends configured with this forwarding rule.
6478
6745
  # You may specify a maximum of up to 5 ports.
6479
6746
  # Corresponds to the JSON property `ports`
6480
6747
  # @return [Array<String>]
@@ -6918,8 +7185,9 @@ module Google
6918
7185
  # The fingerprint of the previous set of labels for this resource, used to
6919
7186
  # detect conflicts. The fingerprint is initially generated by Compute Engine and
6920
7187
  # changes after every request to modify or update labels. You must always
6921
- # provide an up-to-date fingerprint hash when updating or changing labels. Make
6922
- # a get() request to the resource to get the latest fingerprint.
7188
+ # provide an up-to-date fingerprint hash when updating or changing labels,
7189
+ # otherwise the request will fail with error 412 conditionNotMet. Make a get()
7190
+ # request to the resource to get the latest fingerprint.
6923
7191
  # Corresponds to the JSON property `labelFingerprint`
6924
7192
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
6925
7193
  # @return [String]
@@ -6951,7 +7219,7 @@ module Google
6951
7219
  class GlobalSetPolicyRequest
6952
7220
  include Google::Apis::Core::Hashable
6953
7221
 
6954
- # Flatten Policy to create a backwacd compatible wire-format. Deprecated. Use '
7222
+ # Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
6955
7223
  # policy' to specify bindings.
6956
7224
  # Corresponds to the JSON property `bindings`
6957
7225
  # @return [Array<Google::Apis::ComputeAlpha::Binding>]
@@ -7839,6 +8107,11 @@ module Google
7839
8107
  class HealthStatus
7840
8108
  include Google::Apis::Core::Hashable
7841
8109
 
8110
+ # Metadata defined as annotations for network endpoint.
8111
+ # Corresponds to the JSON property `annotations`
8112
+ # @return [Hash<String,String>]
8113
+ attr_accessor :annotations
8114
+
7842
8115
  # Health state of the instance.
7843
8116
  # Corresponds to the JSON property `healthState`
7844
8117
  # @return [String]
@@ -7865,6 +8138,7 @@ module Google
7865
8138
 
7866
8139
  # Update properties of this object
7867
8140
  def update!(**args)
8141
+ @annotations = args[:annotations] if args.key?(:annotations)
7868
8142
  @health_state = args[:health_state] if args.key?(:health_state)
7869
8143
  @instance = args[:instance] if args.key?(:instance)
7870
8144
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -8465,7 +8739,8 @@ module Google
8465
8739
  # a hash of the labels used for optimistic locking. The fingerprint is initially
8466
8740
  # generated by Compute Engine and changes after every request to modify or
8467
8741
  # update labels. You must always provide an up-to-date fingerprint hash in order
8468
- # to update or change labels.
8742
+ # to update or change labels, otherwise the request will fail with error 412
8743
+ # conditionNotMet.
8469
8744
  # To see the latest fingerprint, make a get() request to retrieve an image.
8470
8745
  # Corresponds to the JSON property `labelFingerprint`
8471
8746
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
@@ -8824,6 +9099,11 @@ module Google
8824
9099
  # @return [Array<Google::Apis::ComputeAlpha::AttachedDisk>]
8825
9100
  attr_accessor :disks
8826
9101
 
9102
+ # A set of Display Device options
9103
+ # Corresponds to the JSON property `displayDevice`
9104
+ # @return [Google::Apis::ComputeAlpha::DisplayDevice]
9105
+ attr_accessor :display_device
9106
+
8827
9107
  # A list of the type and count of accelerator cards attached to the instance.
8828
9108
  # Corresponds to the JSON property `guestAccelerators`
8829
9109
  # @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
@@ -9003,6 +9283,7 @@ module Google
9003
9283
  @deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection)
9004
9284
  @description = args[:description] if args.key?(:description)
9005
9285
  @disks = args[:disks] if args.key?(:disks)
9286
+ @display_device = args[:display_device] if args.key?(:display_device)
9006
9287
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
9007
9288
  @hostname = args[:hostname] if args.key?(:hostname)
9008
9289
  @id = args[:id] if args.key?(:id)
@@ -9546,7 +9827,8 @@ module Google
9546
9827
 
9547
9828
  # Fingerprint of this resource. This field may be used in optimistic locking. It
9548
9829
  # will be ignored when inserting an InstanceGroupManager. An up-to-date
9549
- # fingerprint must be provided in order to update the InstanceGroupManager.
9830
+ # fingerprint must be provided in order to update the InstanceGroupManager,
9831
+ # otherwise the request will fail with error 412 conditionNotMet.
9550
9832
  # To see the latest fingerprint, make a get() request to retrieve an
9551
9833
  # InstanceGroupManager.
9552
9834
  # Corresponds to the JSON property `fingerprint`
@@ -10301,6 +10583,25 @@ module Google
10301
10583
  end
10302
10584
  end
10303
10585
 
10586
+ # InstanceGroupManagers.createInstances
10587
+ class InstanceGroupManagersCreateInstancesRequest
10588
+ include Google::Apis::Core::Hashable
10589
+
10590
+ # [Required] List of specifications of per-instance configs.
10591
+ # Corresponds to the JSON property `instances`
10592
+ # @return [Array<Google::Apis::ComputeAlpha::PerInstanceConfig>]
10593
+ attr_accessor :instances
10594
+
10595
+ def initialize(**args)
10596
+ update!(**args)
10597
+ end
10598
+
10599
+ # Update properties of this object
10600
+ def update!(**args)
10601
+ @instances = args[:instances] if args.key?(:instances)
10602
+ end
10603
+ end
10604
+
10304
10605
  #
10305
10606
  class InstanceGroupManagersDeleteInstancesRequest
10306
10607
  include Google::Apis::Core::Hashable
@@ -10331,6 +10632,12 @@ module Google
10331
10632
  # @return [Array<String>]
10332
10633
  attr_accessor :instances
10333
10634
 
10635
+ # The list of instance names for which we want to delete per-instance configs on
10636
+ # this managed instance group.
10637
+ # Corresponds to the JSON property `names`
10638
+ # @return [Array<String>]
10639
+ attr_accessor :names
10640
+
10334
10641
  def initialize(**args)
10335
10642
  update!(**args)
10336
10643
  end
@@ -10338,6 +10645,7 @@ module Google
10338
10645
  # Update properties of this object
10339
10646
  def update!(**args)
10340
10647
  @instances = args[:instances] if args.key?(:instances)
10648
+ @names = args[:names] if args.key?(:names)
10341
10649
  end
10342
10650
  end
10343
10651
 
@@ -10497,7 +10805,7 @@ module Google
10497
10805
  # instances initiated by this resize request only once. If there is an error
10498
10806
  # during creation, the managed instance group does not retry create this
10499
10807
  # instance, and we will decrease the targetSize of the request instead. If the
10500
- # flag is false, the group attemps to recreate each instance continuously until
10808
+ # flag is false, the group attempts to recreate each instance continuously until
10501
10809
  # it succeeds.
10502
10810
  # This flag matters only in the first attempt of creation of an instance. After
10503
10811
  # an instance is successfully created while this flag is enabled, the instance
@@ -10995,7 +11303,8 @@ module Google
10995
11303
  # named ports settings concurrently. Obtain the fingerprint with the
10996
11304
  # instanceGroups.get method. Then, include the fingerprint in your request to
10997
11305
  # ensure that you do not overwrite changes that were applied from another
10998
- # concurrent request.
11306
+ # concurrent request. A request with an incorrect fingerprint will fail with
11307
+ # error 412 conditionNotMet.
10999
11308
  # Corresponds to the JSON property `fingerprint`
11000
11309
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
11001
11310
  # @return [String]
@@ -12036,7 +12345,8 @@ module Google
12036
12345
  # essentially a hash of the labels set used for optimistic locking. The
12037
12346
  # fingerprint is initially generated by Compute Engine and changes after every
12038
12347
  # request to modify or update labels. You must always provide an up-to-date
12039
- # fingerprint hash in order to update or change labels.
12348
+ # fingerprint hash in order to update or change labels, otherwise the request
12349
+ # will fail with error 412 conditionNotMet.
12040
12350
  # To see the latest fingerprint, make a get() request to retrieve an
12041
12351
  # Interconnect.
12042
12352
  # Corresponds to the JSON property `labelFingerprint`
@@ -12163,14 +12473,9 @@ module Google
12163
12473
  attr_accessor :admin_enabled
12164
12474
  alias_method :admin_enabled?, :admin_enabled
12165
12475
 
12166
- # [Deprecated] Replaced by edge_availability_domain.
12167
- # Corresponds to the JSON property `availabilityZone`
12168
- # @return [String]
12169
- attr_accessor :availability_zone
12170
-
12171
12476
  # Provisioned bandwidth capacity for the interconnectAttachment. Can be set by
12172
12477
  # the partner to update the customer's provisioned bandwidth. Output only for
12173
- # for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED.
12478
+ # PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED.
12174
12479
  # Corresponds to the JSON property `bandwidth`
12175
12480
  # @return [String]
12176
12481
  attr_accessor :bandwidth
@@ -12246,7 +12551,8 @@ module Google
12246
12551
  # which is essentially a hash of the labels set used for optimistic locking. The
12247
12552
  # fingerprint is initially generated by Compute Engine and changes after every
12248
12553
  # request to modify or update labels. You must always provide an up-to-date
12249
- # fingerprint hash in order to update or change labels.
12554
+ # fingerprint hash in order to update or change labels, otherwise the request
12555
+ # will fail with error 412 conditionNotMet.
12250
12556
  # To see the latest fingerprint, make a get() request to retrieve an
12251
12557
  # InterconnectAttachment.
12252
12558
  # Corresponds to the JSON property `labelFingerprint`
@@ -12312,7 +12618,7 @@ module Google
12312
12618
  # @return [String]
12313
12619
  attr_accessor :region
12314
12620
 
12315
- # URL of the cloud router to be used for dynamic routing. This router must be in
12621
+ # URL of the Cloud Router to be used for dynamic routing. This router must be in
12316
12622
  # the same region as this InterconnectAttachment. The InterconnectAttachment
12317
12623
  # will automatically connect the Interconnect to the network & region within
12318
12624
  # which the Cloud Router is configured.
@@ -12335,9 +12641,8 @@ module Google
12335
12641
  # @return [String]
12336
12642
  attr_accessor :type
12337
12643
 
12338
- # Available only for DEDICATED and PARTNER_PROVIDER. Desired VLAN tag for this
12339
- # attachment, in the range 2-4094. This field refers to 802.1q VLAN tag, also
12340
- # known as IEEE 802.1Q Only specified at creation time.
12644
+ # The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. Only
12645
+ # specified at creation time.
12341
12646
  # Corresponds to the JSON property `vlanTag8021q`
12342
12647
  # @return [Fixnum]
12343
12648
  attr_accessor :vlan_tag8021q
@@ -12349,7 +12654,6 @@ module Google
12349
12654
  # Update properties of this object
12350
12655
  def update!(**args)
12351
12656
  @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
12352
- @availability_zone = args[:availability_zone] if args.key?(:availability_zone)
12353
12657
  @bandwidth = args[:bandwidth] if args.key?(:bandwidth)
12354
12658
  @candidate_subnets = args[:candidate_subnets] if args.key?(:candidate_subnets)
12355
12659
  @cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
@@ -12622,7 +12926,7 @@ module Google
12622
12926
  include Google::Apis::Core::Hashable
12623
12927
 
12624
12928
  # Plain text name of the Interconnect this attachment is connected to, as
12625
- # displayed in the Partner?s portal. For instance ?Chicago 1?. This value may be
12929
+ # displayed in the Partner?s portal. For instance "Chicago 1". This value may be
12626
12930
  # validated to match approved Partner values.
12627
12931
  # Corresponds to the JSON property `interconnectName`
12628
12932
  # @return [String]
@@ -12899,7 +13203,10 @@ module Google
12899
13203
  # @return [String]
12900
13204
  attr_accessor :state
12901
13205
 
12902
- # Value of the current optical power, read in dBm.
13206
+ # Value of the current optical power, read in dBm. Take a known good optical
13207
+ # value, give it a 10% margin and trigger warnings relative to that value. In
13208
+ # general, a -7dBm warning and a -11dBm alarm are good optical value estimates
13209
+ # for most links.
12903
13210
  # Corresponds to the JSON property `value`
12904
13211
  # @return [Float]
12905
13212
  attr_accessor :value
@@ -14180,6 +14487,10 @@ module Google
14180
14487
 
14181
14488
  # Whether Gin logging should happen in a fail-closed manner at the caller. This
14182
14489
  # is relevant only in the LocalIAM implementation, for now.
14490
+ # NOTE: Logging to Gin in a fail-closed manner is currently unsupported while
14491
+ # work is being done to satisfy the requirements of go/345. Currently, setting
14492
+ # LOG_FAIL_CLOSED mode will have no effect, but still exists because there is
14493
+ # active work being done to support it (b/115874152).
14183
14494
  # Corresponds to the JSON property `logMode`
14184
14495
  # @return [String]
14185
14496
  attr_accessor :log_mode
@@ -14870,6 +15181,11 @@ module Google
14870
15181
  # @return [String]
14871
15182
  attr_accessor :instance
14872
15183
 
15184
+ # [Output Only] Health state of the instance per health-check.
15185
+ # Corresponds to the JSON property `instanceHealth`
15186
+ # @return [Array<Google::Apis::ComputeAlpha::ManagedInstanceInstanceHealth>]
15187
+ attr_accessor :instance_health
15188
+
14873
15189
  # [Output Only] The status of the instance. This field is empty when the
14874
15190
  # instance does not exist.
14875
15191
  # Corresponds to the JSON property `instanceStatus`
@@ -14893,6 +15209,16 @@ module Google
14893
15209
  # @return [Google::Apis::ComputeAlpha::ManagedInstanceOverride]
14894
15210
  attr_accessor :override
14895
15211
 
15212
+ # Preserved state for a given instance.
15213
+ # Corresponds to the JSON property `preservedStateFromConfig`
15214
+ # @return [Google::Apis::ComputeAlpha::PreservedState]
15215
+ attr_accessor :preserved_state_from_config
15216
+
15217
+ # Preserved state for a given instance.
15218
+ # Corresponds to the JSON property `preservedStateFromPolicy`
15219
+ # @return [Google::Apis::ComputeAlpha::PreservedState]
15220
+ attr_accessor :preserved_state_from_policy
15221
+
14896
15222
  # [Output Only] Tag describing the version.
14897
15223
  # Corresponds to the JSON property `tag`
14898
15224
  # @return [String]
@@ -14912,15 +15238,44 @@ module Google
14912
15238
  @current_action = args[:current_action] if args.key?(:current_action)
14913
15239
  @id = args[:id] if args.key?(:id)
14914
15240
  @instance = args[:instance] if args.key?(:instance)
15241
+ @instance_health = args[:instance_health] if args.key?(:instance_health)
14915
15242
  @instance_status = args[:instance_status] if args.key?(:instance_status)
14916
15243
  @instance_template = args[:instance_template] if args.key?(:instance_template)
14917
15244
  @last_attempt = args[:last_attempt] if args.key?(:last_attempt)
14918
15245
  @override = args[:override] if args.key?(:override)
15246
+ @preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config)
15247
+ @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy)
14919
15248
  @tag = args[:tag] if args.key?(:tag)
14920
15249
  @version = args[:version] if args.key?(:version)
14921
15250
  end
14922
15251
  end
14923
15252
 
15253
+ #
15254
+ class ManagedInstanceInstanceHealth
15255
+ include Google::Apis::Core::Hashable
15256
+
15257
+ # [Output Only] The URL for the health check that verifies whether the instance
15258
+ # is healthy.
15259
+ # Corresponds to the JSON property `healthCheck`
15260
+ # @return [String]
15261
+ attr_accessor :health_check
15262
+
15263
+ # [Output Only] The current instance health state.
15264
+ # Corresponds to the JSON property `healthState`
15265
+ # @return [String]
15266
+ attr_accessor :health_state
15267
+
15268
+ def initialize(**args)
15269
+ update!(**args)
15270
+ end
15271
+
15272
+ # Update properties of this object
15273
+ def update!(**args)
15274
+ @health_check = args[:health_check] if args.key?(:health_check)
15275
+ @health_state = args[:health_state] if args.key?(:health_state)
15276
+ end
15277
+ end
15278
+
14924
15279
  #
14925
15280
  class ManagedInstanceLastAttempt
14926
15281
  include Google::Apis::Core::Hashable
@@ -15125,7 +15480,8 @@ module Google
15125
15480
  # metadata's contents and used for optimistic locking. The fingerprint is
15126
15481
  # initially generated by Compute Engine and changes after every request to
15127
15482
  # modify or update metadata. You must always provide an up-to-date fingerprint
15128
- # hash in order to update or change metadata.
15483
+ # hash in order to update or change metadata, otherwise the request will fail
15484
+ # with error 412 conditionNotMet.
15129
15485
  # To see the latest fingerprint, make a get() request to retrieve the resource.
15130
15486
  # Corresponds to the JSON property `fingerprint`
15131
15487
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
@@ -15332,6 +15688,11 @@ module Google
15332
15688
  class NetworkEndpoint
15333
15689
  include Google::Apis::Core::Hashable
15334
15690
 
15691
+ # Metadata defined as annotations on the network endpoint.
15692
+ # Corresponds to the JSON property `annotations`
15693
+ # @return [Hash<String,String>]
15694
+ attr_accessor :annotations
15695
+
15335
15696
  # The name for a specific VM instance that the IP address belongs to. This is
15336
15697
  # required for network endpoints of type GCE_VM_IP_PORT. The instance must be in
15337
15698
  # the same zone of network endpoint group.
@@ -15361,6 +15722,7 @@ module Google
15361
15722
 
15362
15723
  # Update properties of this object
15363
15724
  def update!(**args)
15725
+ @annotations = args[:annotations] if args.key?(:annotations)
15364
15726
  @instance = args[:instance] if args.key?(:instance)
15365
15727
  @ip_address = args[:ip_address] if args.key?(:ip_address)
15366
15728
  @port = args[:port] if args.key?(:port)
@@ -15371,6 +15733,11 @@ module Google
15371
15733
  class NetworkEndpointGroup
15372
15734
  include Google::Apis::Core::Hashable
15373
15735
 
15736
+ # Metadata defined as annotations on the network endpoint group.
15737
+ # Corresponds to the JSON property `annotations`
15738
+ # @return [Hash<String,String>]
15739
+ attr_accessor :annotations
15740
+
15374
15741
  # [Output Only] Creation timestamp in RFC3339 text format.
15375
15742
  # Corresponds to the JSON property `creationTimestamp`
15376
15743
  # @return [String]
@@ -15460,6 +15827,7 @@ module Google
15460
15827
 
15461
15828
  # Update properties of this object
15462
15829
  def update!(**args)
15830
+ @annotations = args[:annotations] if args.key?(:annotations)
15463
15831
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
15464
15832
  @default_port = args[:default_port] if args.key?(:default_port)
15465
15833
  @description = args[:description] if args.key?(:description)
@@ -16063,7 +16431,8 @@ module Google
16063
16431
 
16064
16432
  # Fingerprint hash of contents stored in this network interface. This field will
16065
16433
  # be ignored when inserting an Instance or adding a NetworkInterface. An up-to-
16066
- # date fingerprint must be provided in order to update the NetworkInterface.
16434
+ # date fingerprint must be provided in order to update the NetworkInterface,
16435
+ # otherwise the request will fail with error 412 conditionNotMet.
16067
16436
  # Corresponds to the JSON property `fingerprint`
16068
16437
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
16069
16438
  # @return [String]
@@ -16258,15 +16627,31 @@ module Google
16258
16627
  class NetworkPeering
16259
16628
  include Google::Apis::Core::Hashable
16260
16629
 
16261
- # Whether full mesh connectivity is created and managed automatically. When it
16262
- # is set to true, Google Compute Engine will automatically create and manage the
16263
- # routes between two networks when the state is ACTIVE. Otherwise, user needs to
16264
- # create routes manually to route packets to peer network.
16265
- # Corresponds to the JSON property `autoCreateRoutes`
16630
+ # Whether Cloud Routers in this network can automatically advertise subnets from
16631
+ # the peer network.
16632
+ # Corresponds to the JSON property `advertisePeerSubnetsViaRouters`
16633
+ # @return [Boolean]
16634
+ attr_accessor :advertise_peer_subnets_via_routers
16635
+ alias_method :advertise_peer_subnets_via_routers?, :advertise_peer_subnets_via_routers
16636
+
16637
+ # Indicates whether full mesh connectivity is created and managed automatically.
16638
+ # When it is set to true, Google Compute Engine will automatically create and
16639
+ # manage the routes between two networks when the state is ACTIVE. Otherwise,
16640
+ # user needs to create routes manually to route packets to peer network.
16641
+ # Corresponds to the JSON property `autoCreateRoutes`
16266
16642
  # @return [Boolean]
16267
16643
  attr_accessor :auto_create_routes
16268
16644
  alias_method :auto_create_routes?, :auto_create_routes
16269
16645
 
16646
+ # Whether full mesh connectivity is created and managed automatically. When it
16647
+ # is set to true, Google Compute Engine will automatically create and manage the
16648
+ # routes between two networks when the peering state is ACTIVE. Otherwise, user
16649
+ # needs to create routes manually to route packets to peer network.
16650
+ # Corresponds to the JSON property `exchangeSubnetRoutes`
16651
+ # @return [Boolean]
16652
+ attr_accessor :exchange_subnet_routes
16653
+ alias_method :exchange_subnet_routes?, :exchange_subnet_routes
16654
+
16270
16655
  # Whether to export the custom routes to peer network.
16271
16656
  # Corresponds to the JSON property `exportCustomRoutes`
16272
16657
  # @return [Boolean]
@@ -16313,7 +16698,9 @@ module Google
16313
16698
 
16314
16699
  # Update properties of this object
16315
16700
  def update!(**args)
16701
+ @advertise_peer_subnets_via_routers = args[:advertise_peer_subnets_via_routers] if args.key?(:advertise_peer_subnets_via_routers)
16316
16702
  @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes)
16703
+ @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes)
16317
16704
  @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
16318
16705
  @import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes)
16319
16706
  @name = args[:name] if args.key?(:name)
@@ -16357,13 +16744,15 @@ module Google
16357
16744
  attr_accessor :auto_create_routes
16358
16745
  alias_method :auto_create_routes?, :auto_create_routes
16359
16746
 
16360
- # Whether to export the custom routes to peer network.
16747
+ # This field will be deprecated soon. Prefer using export_custom_routes in
16748
+ # network_peering instead. Whether to export the custom routes to peer network.
16361
16749
  # Corresponds to the JSON property `exportCustomRoutes`
16362
16750
  # @return [Boolean]
16363
16751
  attr_accessor :export_custom_routes
16364
16752
  alias_method :export_custom_routes?, :export_custom_routes
16365
16753
 
16366
- # Whether to import the custom routes from peer network.
16754
+ # This field will be deprecated soon. Prefer using import_custom_routes in
16755
+ # network_peering instead. Whether to import the custom routes from peer network.
16367
16756
  # Corresponds to the JSON property `importCustomRoutes`
16368
16757
  # @return [Boolean]
16369
16758
  attr_accessor :import_custom_routes
@@ -16374,6 +16763,13 @@ module Google
16374
16763
  # @return [String]
16375
16764
  attr_accessor :name
16376
16765
 
16766
+ # A network peering attached to a network resource. The message includes the
16767
+ # peering name, peer network, peering state, and a flag indicating whether
16768
+ # Google Compute Engine should automatically create routes for the peering.
16769
+ # Corresponds to the JSON property `networkPeering`
16770
+ # @return [Google::Apis::ComputeAlpha::NetworkPeering]
16771
+ attr_accessor :network_peering
16772
+
16377
16773
  # URL of the peer network. It can be either full URL or partial URL. The peer
16378
16774
  # network may belong to a different project. If the partial URL does not contain
16379
16775
  # project, it is assumed that the peer network is in the same project as the
@@ -16392,6 +16788,7 @@ module Google
16392
16788
  @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
16393
16789
  @import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes)
16394
16790
  @name = args[:name] if args.key?(:name)
16791
+ @network_peering = args[:network_peering] if args.key?(:network_peering)
16395
16792
  @peer_network = args[:peer_network] if args.key?(:peer_network)
16396
16793
  end
16397
16794
  end
@@ -16440,6 +16837,11 @@ module Google
16440
16837
  class NodeGroup
16441
16838
  include Google::Apis::Core::Hashable
16442
16839
 
16840
+ #
16841
+ # Corresponds to the JSON property `autoscalingPolicy`
16842
+ # @return [Google::Apis::ComputeAlpha::NodeGroupAutoscalingPolicy]
16843
+ attr_accessor :autoscaling_policy
16844
+
16443
16845
  # [Output Only] Creation timestamp in RFC3339 text format.
16444
16846
  # Corresponds to the JSON property `creationTimestamp`
16445
16847
  # @return [String]
@@ -16506,6 +16908,7 @@ module Google
16506
16908
 
16507
16909
  # Update properties of this object
16508
16910
  def update!(**args)
16911
+ @autoscaling_policy = args[:autoscaling_policy] if args.key?(:autoscaling_policy)
16509
16912
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
16510
16913
  @description = args[:description] if args.key?(:description)
16511
16914
  @id = args[:id] if args.key?(:id)
@@ -16637,6 +17040,31 @@ module Google
16637
17040
  end
16638
17041
  end
16639
17042
 
17043
+ #
17044
+ class NodeGroupAutoscalingPolicy
17045
+ include Google::Apis::Core::Hashable
17046
+
17047
+ #
17048
+ # Corresponds to the JSON property `maxSize`
17049
+ # @return [Fixnum]
17050
+ attr_accessor :max_size
17051
+
17052
+ #
17053
+ # Corresponds to the JSON property `minSize`
17054
+ # @return [Fixnum]
17055
+ attr_accessor :min_size
17056
+
17057
+ def initialize(**args)
17058
+ update!(**args)
17059
+ end
17060
+
17061
+ # Update properties of this object
17062
+ def update!(**args)
17063
+ @max_size = args[:max_size] if args.key?(:max_size)
17064
+ @min_size = args[:min_size] if args.key?(:min_size)
17065
+ end
17066
+ end
17067
+
16640
17068
  # Contains a list of nodeGroups.
16641
17069
  class NodeGroupList
16642
17070
  include Google::Apis::Core::Hashable
@@ -17097,8 +17525,8 @@ module Google
17097
17525
  # RFC1035. Specifically, the name must be 1-63 characters long and match the
17098
17526
  # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
17099
17527
  # character must be a lowercase letter, and all following characters must be a
17100
- # dash, lowercase letter, or digit, except the last charaicter, which cannot be
17101
- # a dash.
17528
+ # dash, lowercase letter, or digit, except the last character, which cannot be a
17529
+ # dash.
17102
17530
  # Corresponds to the JSON property `name`
17103
17531
  # @return [String]
17104
17532
  attr_accessor :name
@@ -18576,13 +19004,21 @@ module Google
18576
19004
  include Google::Apis::Core::Hashable
18577
19005
 
18578
19006
  # The full or partial URL to the BackendService resource. This will be used if
18579
- # none of the pathRules defined by this PathMatcher is matched by the URL's path
18580
- # portion. For example, the following are all valid URLs to a BackendService
18581
- # resource:
19007
+ # none of the pathRules or routeRules defined by this PathMatcher are matched.
19008
+ # For example, the following are all valid URLs to a BackendService resource:
18582
19009
  # - https://www.googleapis.com/compute/v1/projects/project/global/
18583
19010
  # backendServices/backendService
18584
19011
  # - compute/v1/projects/project/global/backendServices/backendService
18585
19012
  # - global/backendServices/backendService
19013
+ # Use defaultService instead of defaultRouteAction when simple routing to a
19014
+ # backend service is desired and other advanced capabilities like traffic
19015
+ # splitting and URL rewrites are not required.
19016
+ # Only one of defaultService, defaultRouteAction or defaultUrlRedirect must be
19017
+ # set.
19018
+ # Authorization requires one or more of the following Google IAM permissions on
19019
+ # the specified resource default_service:
19020
+ # - compute.backendBuckets.use
19021
+ # - compute.backendServices.use
18586
19022
  # Corresponds to the JSON property `defaultService`
18587
19023
  # @return [String]
18588
19024
  attr_accessor :default_service
@@ -18598,7 +19034,13 @@ module Google
18598
19034
  # @return [String]
18599
19035
  attr_accessor :name
18600
19036
 
18601
- # The list of path rules.
19037
+ # The list of path rules. Use this list instead of routeRules when routing based
19038
+ # on simple path matching is all that's required. The order by which path rules
19039
+ # are specified does not matter. Matches are always done on the longest-path-
19040
+ # first basis.
19041
+ # For example: a pathRule with a path /a/b/c/* will match before /a/b/*
19042
+ # irrespective of the order in which those paths appear in this list.
19043
+ # Only one of pathRules or routeRules must be set.
18602
19044
  # Corresponds to the JSON property `pathRules`
18603
19045
  # @return [Array<Google::Apis::ComputeAlpha::PathRule>]
18604
19046
  attr_accessor :path_rules
@@ -18629,7 +19071,11 @@ module Google
18629
19071
  # @return [Array<String>]
18630
19072
  attr_accessor :paths
18631
19073
 
18632
- # The URL of the BackendService resource if this rule is matched.
19074
+ # The URL of the backend service resource if this rule is matched.
19075
+ # Use service instead of routeAction when simple routing to a backend service is
19076
+ # desired and other advanced capabilities like traffic splitting and rewrites
19077
+ # are not required.
19078
+ # Only one of service, routeAction or urlRedirect should must be set.
18633
19079
  # Corresponds to the JSON property `service`
18634
19080
  # @return [String]
18635
19081
  attr_accessor :service
@@ -18665,11 +19111,26 @@ module Google
18665
19111
  # @return [String]
18666
19112
  attr_accessor :instance
18667
19113
 
19114
+ # The name of the per-instance config and the corresponding instance. Serves as
19115
+ # a merge key during UpdatePerInstanceConfigs operation, i.e. if per-instance
19116
+ # config with the same name exists then it will be updated, otherwise a new one
19117
+ # will be created for the VM instance with the same name. An attempt to create a
19118
+ # per-instance config for a VM instance that either doesn't exist or is not part
19119
+ # of the group will result in a failure.
19120
+ # Corresponds to the JSON property `name`
19121
+ # @return [String]
19122
+ attr_accessor :name
19123
+
18668
19124
  # Overrides of stateful properties for a given instance
18669
19125
  # Corresponds to the JSON property `override`
18670
19126
  # @return [Google::Apis::ComputeAlpha::ManagedInstanceOverride]
18671
19127
  attr_accessor :override
18672
19128
 
19129
+ # Preserved state for a given instance.
19130
+ # Corresponds to the JSON property `preservedState`
19131
+ # @return [Google::Apis::ComputeAlpha::PreservedState]
19132
+ attr_accessor :preserved_state
19133
+
18673
19134
  def initialize(**args)
18674
19135
  update!(**args)
18675
19136
  end
@@ -18678,7 +19139,9 @@ module Google
18678
19139
  def update!(**args)
18679
19140
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
18680
19141
  @instance = args[:instance] if args.key?(:instance)
19142
+ @name = args[:name] if args.key?(:name)
18681
19143
  @override = args[:override] if args.key?(:override)
19144
+ @preserved_state = args[:preserved_state] if args.key?(:preserved_state)
18682
19145
  end
18683
19146
  end
18684
19147
 
@@ -18783,6 +19246,69 @@ module Google
18783
19246
  end
18784
19247
  end
18785
19248
 
19249
+ # Preserved state for a given instance.
19250
+ class PreservedState
19251
+ include Google::Apis::Core::Hashable
19252
+
19253
+ # Preserved disks defined for this instance. This map is keyed with the device
19254
+ # names of the disks.
19255
+ # Corresponds to the JSON property `disks`
19256
+ # @return [Hash<String,Google::Apis::ComputeAlpha::PreservedStatePreservedDisk>]
19257
+ attr_accessor :disks
19258
+
19259
+ # Preserved metadata defined for this instance.
19260
+ # Corresponds to the JSON property `metadata`
19261
+ # @return [Hash<String,String>]
19262
+ attr_accessor :metadata
19263
+
19264
+ def initialize(**args)
19265
+ update!(**args)
19266
+ end
19267
+
19268
+ # Update properties of this object
19269
+ def update!(**args)
19270
+ @disks = args[:disks] if args.key?(:disks)
19271
+ @metadata = args[:metadata] if args.key?(:metadata)
19272
+ end
19273
+ end
19274
+
19275
+ #
19276
+ class PreservedStatePreservedDisk
19277
+ include Google::Apis::Core::Hashable
19278
+
19279
+ # These stateful disks will never be deleted during autohealing, update,
19280
+ # instance recreate operations. This flag is used to configure if the disk
19281
+ # should be deleted after it is no longer used by the group, e.g. when the given
19282
+ # instance or the whole MIG is deleted. Note: disks attached in READ_ONLY mode
19283
+ # cannot be auto-deleted.
19284
+ # Corresponds to the JSON property `autoDelete`
19285
+ # @return [String]
19286
+ attr_accessor :auto_delete
19287
+
19288
+ # The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not
19289
+ # specified, the default is to attach the disk in READ_WRITE mode.
19290
+ # Corresponds to the JSON property `mode`
19291
+ # @return [String]
19292
+ attr_accessor :mode
19293
+
19294
+ # The URL of the disk resource that is stateful and should be attached to the VM
19295
+ # instance.
19296
+ # Corresponds to the JSON property `source`
19297
+ # @return [String]
19298
+ attr_accessor :source
19299
+
19300
+ def initialize(**args)
19301
+ update!(**args)
19302
+ end
19303
+
19304
+ # Update properties of this object
19305
+ def update!(**args)
19306
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
19307
+ @mode = args[:mode] if args.key?(:mode)
19308
+ @source = args[:source] if args.key?(:source)
19309
+ end
19310
+ end
19311
+
18786
19312
  # A Project resource. For an overview of projects, see Cloud Platform Resource
18787
19313
  # Hierarchy. (== resource_for v1.projects ==) (== resource_for beta.projects ==)
18788
19314
  class Project
@@ -19581,6 +20107,12 @@ module Google
19581
20107
  # @return [Array<String>]
19582
20108
  attr_accessor :instances
19583
20109
 
20110
+ # The list of instance names for which we want to delete per-instance configs on
20111
+ # this managed instance group.
20112
+ # Corresponds to the JSON property `names`
20113
+ # @return [Array<String>]
20114
+ attr_accessor :names
20115
+
19584
20116
  def initialize(**args)
19585
20117
  update!(**args)
19586
20118
  end
@@ -19588,6 +20120,7 @@ module Google
19588
20120
  # Update properties of this object
19589
20121
  def update!(**args)
19590
20122
  @instances = args[:instances] if args.key?(:instances)
20123
+ @names = args[:names] if args.key?(:names)
19591
20124
  end
19592
20125
  end
19593
20126
 
@@ -20439,6 +20972,12 @@ module Google
20439
20972
  class ResourceCommitment
20440
20973
  include Google::Apis::Core::Hashable
20441
20974
 
20975
+ # Name of the accelerator type resource. Applicable only when the type is
20976
+ # ACCELERATOR.
20977
+ # Corresponds to the JSON property `acceleratorType`
20978
+ # @return [String]
20979
+ attr_accessor :accelerator_type
20980
+
20442
20981
  # The amount of the resource purchased (in a type-dependent unit, such as bytes).
20443
20982
  # For vCPUs, this can just be an integer. For memory, this must be provided in
20444
20983
  # MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per every
@@ -20459,6 +20998,7 @@ module Google
20459
20998
 
20460
20999
  # Update properties of this object
20461
21000
  def update!(**args)
21001
+ @accelerator_type = args[:accelerator_type] if args.key?(:accelerator_type)
20462
21002
  @amount = args[:amount] if args.key?(:amount)
20463
21003
  @type = args[:type] if args.key?(:type)
20464
21004
  end
@@ -20468,7 +21008,8 @@ module Google
20468
21008
  class ResourceGroupReference
20469
21009
  include Google::Apis::Core::Hashable
20470
21010
 
20471
- # A URI referencing one of the instance groups listed in the backend service.
21011
+ # A URI referencing one of the instance groups or network endpoint groups listed
21012
+ # in the backend service.
20472
21013
  # Corresponds to the JSON property `group`
20473
21014
  # @return [String]
20474
21015
  attr_accessor :group
@@ -20580,7 +21121,7 @@ module Google
20580
21121
 
20581
21122
  # A backup schedule policy specifies when and how frequently snapshots are to be
20582
21123
  # created for the target disk. Also specifies how many and how long these
20583
- # automatically created snapshot should be retained.
21124
+ # scheduled snapshots should be retained.
20584
21125
  # Corresponds to the JSON property `backupSchedulePolicy`
20585
21126
  # @return [Google::Apis::ComputeAlpha::ResourcePolicyBackupSchedulePolicy]
20586
21127
  attr_accessor :backup_schedule_policy
@@ -20776,11 +21317,11 @@ module Google
20776
21317
 
20777
21318
  # A backup schedule policy specifies when and how frequently snapshots are to be
20778
21319
  # created for the target disk. Also specifies how many and how long these
20779
- # automatically created snapshot should be retained.
21320
+ # scheduled snapshots should be retained.
20780
21321
  class ResourcePolicyBackupSchedulePolicy
20781
21322
  include Google::Apis::Core::Hashable
20782
21323
 
20783
- # Policy for retention of automatically created snapshots.
21324
+ # Policy for retention of scheduled snapshots.
20784
21325
  # Corresponds to the JSON property `retentionPolicy`
20785
21326
  # @return [Google::Apis::ComputeAlpha::ResourcePolicyBackupSchedulePolicyRetentionPolicy]
20786
21327
  attr_accessor :retention_policy
@@ -20790,7 +21331,7 @@ module Google
20790
21331
  # @return [Google::Apis::ComputeAlpha::ResourcePolicyBackupSchedulePolicySchedule]
20791
21332
  attr_accessor :schedule
20792
21333
 
20793
- # Specified snapshot properties for automatic snapshots created by this policy.
21334
+ # Specified snapshot properties for scheduled snapshots created by this policy.
20794
21335
  # Corresponds to the JSON property `snapshotProperties`
20795
21336
  # @return [Google::Apis::ComputeAlpha::ResourcePolicyBackupSchedulePolicySnapshotProperties]
20796
21337
  attr_accessor :snapshot_properties
@@ -20807,7 +21348,7 @@ module Google
20807
21348
  end
20808
21349
  end
20809
21350
 
20810
- # Policy for retention of automatically created snapshots.
21351
+ # Policy for retention of scheduled snapshots.
20811
21352
  class ResourcePolicyBackupSchedulePolicyRetentionPolicy
20812
21353
  include Google::Apis::Core::Hashable
20813
21354
 
@@ -20816,6 +21357,18 @@ module Google
20816
21357
  # @return [Fixnum]
20817
21358
  attr_accessor :max_retention_days
20818
21359
 
21360
+ # Specifies the behavior to apply to existing, scheduled snapshots snapshots if
21361
+ # the policy is changed.
21362
+ # Corresponds to the JSON property `onPolicySwitch`
21363
+ # @return [String]
21364
+ attr_accessor :on_policy_switch
21365
+
21366
+ # Specifies the behavior to apply to scheduled snapshots when the source disk is
21367
+ # deleted.
21368
+ # Corresponds to the JSON property `onSourceDiskDelete`
21369
+ # @return [String]
21370
+ attr_accessor :on_source_disk_delete
21371
+
20819
21372
  def initialize(**args)
20820
21373
  update!(**args)
20821
21374
  end
@@ -20823,6 +21376,8 @@ module Google
20823
21376
  # Update properties of this object
20824
21377
  def update!(**args)
20825
21378
  @max_retention_days = args[:max_retention_days] if args.key?(:max_retention_days)
21379
+ @on_policy_switch = args[:on_policy_switch] if args.key?(:on_policy_switch)
21380
+ @on_source_disk_delete = args[:on_source_disk_delete] if args.key?(:on_source_disk_delete)
20826
21381
  end
20827
21382
  end
20828
21383
 
@@ -20857,7 +21412,7 @@ module Google
20857
21412
  end
20858
21413
  end
20859
21414
 
20860
- # Specified snapshot properties for automatic snapshots created by this policy.
21415
+ # Specified snapshot properties for scheduled snapshots created by this policy.
20861
21416
  class ResourcePolicyBackupSchedulePolicySnapshotProperties
20862
21417
  include Google::Apis::Core::Hashable
20863
21418
 
@@ -20867,7 +21422,7 @@ module Google
20867
21422
  attr_accessor :guest_flush
20868
21423
  alias_method :guest_flush?, :guest_flush
20869
21424
 
20870
- # Labels to apply to automatic snapshots. These can be later modified by the
21425
+ # Labels to apply to scheduled snapshots. These can be later modified by the
20871
21426
  # setLabels method. Label values may be empty.
20872
21427
  # Corresponds to the JSON property `labels`
20873
21428
  # @return [Hash<String,String>]
@@ -20905,8 +21460,8 @@ module Google
20905
21460
  # @return [String]
20906
21461
  attr_accessor :duration
20907
21462
 
20908
- # Time within the window to start the operations. It must be in format "HH:MM?,
20909
- # where HH : [00-23] and MM : [00-59] GMT.
21463
+ # Time within the window to start the operations. It must be in format "HH:MM",
21464
+ # where HH : [00-23] and MM : [00-00] GMT.
20910
21465
  # Corresponds to the JSON property `startTime`
20911
21466
  # @return [String]
20912
21467
  attr_accessor :start_time
@@ -20938,8 +21493,8 @@ module Google
20938
21493
  # @return [Fixnum]
20939
21494
  attr_accessor :hours_in_cycle
20940
21495
 
20941
- # Time within the window to start the operations. It must be in format "HH:MM?,
20942
- # where HH : [00-23] and MM : [00-59] GMT.
21496
+ # Time within the window to start the operations. It must be in format "HH:MM",
21497
+ # where HH : [00-23] and MM : [00-00] GMT.
20943
21498
  # Corresponds to the JSON property `startTime`
20944
21499
  # @return [String]
20945
21500
  attr_accessor :start_time
@@ -21155,8 +21710,8 @@ module Google
21155
21710
  # @return [String]
21156
21711
  attr_accessor :duration
21157
21712
 
21158
- # Time within the window to start the operations. It must be in format "HH:MM?,
21159
- # where HH : [00-23] and MM : [00-59] GMT.
21713
+ # Time within the window to start the operations. It must be in format "HH:MM",
21714
+ # where HH : [00-23] and MM : [00-00] GMT.
21160
21715
  # Corresponds to the JSON property `startTime`
21161
21716
  # @return [String]
21162
21717
  attr_accessor :start_time
@@ -21841,11 +22396,12 @@ module Google
21841
22396
  # @return [String]
21842
22397
  attr_accessor :ip_address
21843
22398
 
21844
- # [Output Only] Type of how the resource/configuration of the BGP peer is
21845
- # managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT
21846
- # represents an BGP peer that is automatically created for PARTNER
21847
- # interconnectAttachment, Google will automatically create/delete this type of
21848
- # BGP peer when the PARTNER interconnectAttachment is created/deleted.
22399
+ # [Output Only] The resource that configures and manages this BGP peer.
22400
+ # MANAGED_BY_USER is the default value and can be managed by you or other users;
22401
+ # MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud
22402
+ # Interconnect, specifically by an InterconnectAttachment of type PARTNER.
22403
+ # Google will automatically create, update, and delete this type of BGP peer
22404
+ # when the PARTNER InterconnectAttachment is created, updated, or deleted.
21849
22405
  # Corresponds to the JSON property `managementType`
21850
22406
  # @return [String]
21851
22407
  attr_accessor :management_type
@@ -21912,12 +22468,12 @@ module Google
21912
22468
  # @return [String]
21913
22469
  attr_accessor :linked_vpn_tunnel
21914
22470
 
21915
- # [Output Only] Type of how the resource/configuration of the interface is
21916
- # managed. MANAGED_BY_USER is the default value; MANAGED_BY_ATTACHMENT
21917
- # represents an interface that is automatically created for PARTNER type
21918
- # interconnectAttachment, Google will automatically create/update/delete this
21919
- # type of interface when the PARTNER interconnectAttachment is created/
21920
- # provisioned/deleted.
22471
+ # [Output Only] The resource that configures and manages this interface.
22472
+ # MANAGED_BY_USER is the default value and can be managed by you or other users;
22473
+ # MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud
22474
+ # Interconnect, specifically by an InterconnectAttachment of type PARTNER.
22475
+ # Google will automatically create, update, and delete this type of interface
22476
+ # when the PARTNER InterconnectAttachment is created, updated, or deleted.
21921
22477
  # Corresponds to the JSON property `managementType`
21922
22478
  # @return [String]
21923
22479
  attr_accessor :management_type
@@ -22072,6 +22628,11 @@ module Google
22072
22628
  # @return [Fixnum]
22073
22629
  attr_accessor :icmp_idle_timeout_sec
22074
22630
 
22631
+ # Configuration of logging on a NAT.
22632
+ # Corresponds to the JSON property `logConfig`
22633
+ # @return [Google::Apis::ComputeAlpha::RouterNatLogConfig]
22634
+ attr_accessor :log_config
22635
+
22075
22636
  # Minimum number of ports allocated to a VM from this NAT config. If not set, a
22076
22637
  # default number of ports is allocated to a VM. This gets rounded up to the
22077
22638
  # nearest power of 2. Eg. if the value of this field is 50, at least 64 ports
@@ -22137,6 +22698,7 @@ module Google
22137
22698
  # Update properties of this object
22138
22699
  def update!(**args)
22139
22700
  @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
22701
+ @log_config = args[:log_config] if args.key?(:log_config)
22140
22702
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
22141
22703
  @name = args[:name] if args.key?(:name)
22142
22704
  @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
@@ -22149,6 +22711,33 @@ module Google
22149
22711
  end
22150
22712
  end
22151
22713
 
22714
+ # Configuration of logging on a NAT.
22715
+ class RouterNatLogConfig
22716
+ include Google::Apis::Core::Hashable
22717
+
22718
+ # Indicates whether or not to export logs. This is false by default.
22719
+ # Corresponds to the JSON property `enabled`
22720
+ # @return [Boolean]
22721
+ attr_accessor :enabled
22722
+ alias_method :enabled?, :enabled
22723
+
22724
+ # Specifies the desired filtering of logs on this NAT. If unspecified, logs are
22725
+ # exported for all connections handled by this NAT.
22726
+ # Corresponds to the JSON property `filter`
22727
+ # @return [String]
22728
+ attr_accessor :filter
22729
+
22730
+ def initialize(**args)
22731
+ update!(**args)
22732
+ end
22733
+
22734
+ # Update properties of this object
22735
+ def update!(**args)
22736
+ @enabled = args[:enabled] if args.key?(:enabled)
22737
+ @filter = args[:filter] if args.key?(:filter)
22738
+ end
22739
+ end
22740
+
22152
22741
  # Defines the IP ranges that want to use NAT for a subnetwork.
22153
22742
  class RouterNatSubnetworkToNat
22154
22743
  include Google::Apis::Core::Hashable
@@ -22790,6 +23379,12 @@ module Google
22790
23379
  attr_accessor :automatic_restart
22791
23380
  alias_method :automatic_restart?, :automatic_restart
22792
23381
 
23382
+ # The minimum number of virtual CPUs this instance will consume when running on
23383
+ # a sole-tenant node.
23384
+ # Corresponds to the JSON property `minNodeCpus`
23385
+ # @return [Float]
23386
+ attr_accessor :min_node_cpus
23387
+
22793
23388
  # A set of node affinity and anti-affinity.
22794
23389
  # Corresponds to the JSON property `nodeAffinities`
22795
23390
  # @return [Array<Google::Apis::ComputeAlpha::SchedulingNodeAffinity>]
@@ -22818,6 +23413,7 @@ module Google
22818
23413
  # Update properties of this object
22819
23414
  def update!(**args)
22820
23415
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
23416
+ @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
22821
23417
  @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
22822
23418
  @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
22823
23419
  @preemptible = args[:preemptible] if args.key?(:preemptible)
@@ -22900,6 +23496,11 @@ module Google
22900
23496
  class SecurityPolicy
22901
23497
  include Google::Apis::Core::Hashable
22902
23498
 
23499
+ # A list of assocations that belong to this policy.
23500
+ # Corresponds to the JSON property `associations`
23501
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyAssociation>]
23502
+ attr_accessor :associations
23503
+
22903
23504
  # [Output Only] Creation timestamp in RFC3339 text format.
22904
23505
  # Corresponds to the JSON property `creationTimestamp`
22905
23506
  # @return [String]
@@ -22915,7 +23516,8 @@ module Google
22915
23516
  # metadata's contents and used for optimistic locking. The fingerprint is
22916
23517
  # initially generated by Compute Engine and changes after every request to
22917
23518
  # modify or update metadata. You must always provide an up-to-date fingerprint
22918
- # hash in order to update or change metadata.
23519
+ # hash in order to update or change metadata, otherwise the request will fail
23520
+ # with error 412 conditionNotMet.
22919
23521
  # To see the latest fingerprint, make get() request to the security policy.
22920
23522
  # Corresponds to the JSON property `fingerprint`
22921
23523
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
@@ -22975,12 +23577,19 @@ module Google
22975
23577
  # @return [String]
22976
23578
  attr_accessor :self_link
22977
23579
 
23580
+ # The type indicates the intended use of the security policy. CLOUD_ARMOR
23581
+ # policies apply to backend services. FIREWALL policies apply to organizations.
23582
+ # Corresponds to the JSON property `type`
23583
+ # @return [String]
23584
+ attr_accessor :type
23585
+
22978
23586
  def initialize(**args)
22979
23587
  update!(**args)
22980
23588
  end
22981
23589
 
22982
23590
  # Update properties of this object
22983
23591
  def update!(**args)
23592
+ @associations = args[:associations] if args.key?(:associations)
22984
23593
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
22985
23594
  @description = args[:description] if args.key?(:description)
22986
23595
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -22991,6 +23600,32 @@ module Google
22991
23600
  @name = args[:name] if args.key?(:name)
22992
23601
  @rules = args[:rules] if args.key?(:rules)
22993
23602
  @self_link = args[:self_link] if args.key?(:self_link)
23603
+ @type = args[:type] if args.key?(:type)
23604
+ end
23605
+ end
23606
+
23607
+ #
23608
+ class SecurityPolicyAssociation
23609
+ include Google::Apis::Core::Hashable
23610
+
23611
+ # The resource that the security policy is attached to.
23612
+ # Corresponds to the JSON property `attachmentId`
23613
+ # @return [String]
23614
+ attr_accessor :attachment_id
23615
+
23616
+ # The name for an association.
23617
+ # Corresponds to the JSON property `name`
23618
+ # @return [String]
23619
+ attr_accessor :name
23620
+
23621
+ def initialize(**args)
23622
+ update!(**args)
23623
+ end
23624
+
23625
+ # Update properties of this object
23626
+ def update!(**args)
23627
+ @attachment_id = args[:attachment_id] if args.key?(:attachment_id)
23628
+ @name = args[:name] if args.key?(:name)
22994
23629
  end
22995
23630
  end
22996
23631
 
@@ -23143,6 +23778,22 @@ module Google
23143
23778
  # @return [String]
23144
23779
  attr_accessor :description
23145
23780
 
23781
+ # The direction in which this rule applies. This field may only be specified
23782
+ # when versioned_expr is set to FIREWALL.
23783
+ # Corresponds to the JSON property `direction`
23784
+ # @return [String]
23785
+ attr_accessor :direction
23786
+
23787
+ # Denotes whether to enable logging for a particular rule. If logging is enabled,
23788
+ # logs will be exported to the configured export destination in Stackdriver.
23789
+ # Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging
23790
+ # on "goto_next" rules.
23791
+ # This field may only be specified when the versioned_expr is set to FIREWALL.
23792
+ # Corresponds to the JSON property `enableLogging`
23793
+ # @return [Boolean]
23794
+ attr_accessor :enable_logging
23795
+ alias_method :enable_logging?, :enable_logging
23796
+
23146
23797
  # [Output only] Type of the resource. Always compute#securityPolicyRule for
23147
23798
  # security policy rules
23148
23799
  # Corresponds to the JSON property `kind`
@@ -23162,12 +23813,21 @@ module Google
23162
23813
  alias_method :preview?, :preview
23163
23814
 
23164
23815
  # An integer indicating the priority of a rule in the list. The priority must be
23165
- # a positive value between 0 and 2147483647. Rules are evaluated in the
23166
- # increasing order of priority.
23816
+ # a positive value between 0 and 2147483647. Rules are evaluated from highest to
23817
+ # lowest priority where 0 is the highest priority and 2147483647 is the lowest
23818
+ # prority.
23167
23819
  # Corresponds to the JSON property `priority`
23168
23820
  # @return [Fixnum]
23169
23821
  attr_accessor :priority
23170
23822
 
23823
+ # A list of network resource URLs to which this rule applies. This field allows
23824
+ # you to control which network?s VMs get this rule. If this field is left blank,
23825
+ # all VMs within the organization will receive the rule.
23826
+ # This field may only be specified when versioned_expr is set to FIREWALL.
23827
+ # Corresponds to the JSON property `targetResources`
23828
+ # @return [Array<String>]
23829
+ attr_accessor :target_resources
23830
+
23171
23831
  def initialize(**args)
23172
23832
  update!(**args)
23173
23833
  end
@@ -23176,10 +23836,13 @@ module Google
23176
23836
  def update!(**args)
23177
23837
  @action = args[:action] if args.key?(:action)
23178
23838
  @description = args[:description] if args.key?(:description)
23839
+ @direction = args[:direction] if args.key?(:direction)
23840
+ @enable_logging = args[:enable_logging] if args.key?(:enable_logging)
23179
23841
  @kind = args[:kind] if args.key?(:kind)
23180
23842
  @match = args[:match] if args.key?(:match)
23181
23843
  @preview = args[:preview] if args.key?(:preview)
23182
23844
  @priority = args[:priority] if args.key?(:priority)
23845
+ @target_resources = args[:target_resources] if args.key?(:target_resources)
23183
23846
  end
23184
23847
  end
23185
23848
 
@@ -23202,11 +23865,6 @@ module Google
23202
23865
  # @return [Google::Apis::ComputeAlpha::Expr]
23203
23866
  attr_accessor :expr
23204
23867
 
23205
- # CIDR IP address range.
23206
- # Corresponds to the JSON property `srcIpRanges`
23207
- # @return [Array<String>]
23208
- attr_accessor :src_ip_ranges
23209
-
23210
23868
  # Preconfigured versioned expression. If this field is specified, config must
23211
23869
  # also be specified. Available preconfigured expressions along with their
23212
23870
  # requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range
@@ -23223,7 +23881,6 @@ module Google
23223
23881
  def update!(**args)
23224
23882
  @config = args[:config] if args.key?(:config)
23225
23883
  @expr = args[:expr] if args.key?(:expr)
23226
- @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
23227
23884
  @versioned_expr = args[:versioned_expr] if args.key?(:versioned_expr)
23228
23885
  end
23229
23886
  end
@@ -23232,6 +23889,18 @@ module Google
23232
23889
  class SecurityPolicyRuleMatcherConfig
23233
23890
  include Google::Apis::Core::Hashable
23234
23891
 
23892
+ # CIDR IP address range.
23893
+ # This field may only be specified when versioned_expr is set to FIREWALL.
23894
+ # Corresponds to the JSON property `destIpRanges`
23895
+ # @return [Array<String>]
23896
+ attr_accessor :dest_ip_ranges
23897
+
23898
+ # Pairs of IP protocols and ports that the rule should match.
23899
+ # This field may only be specified when versioned_expr is set to FIREWALL.
23900
+ # Corresponds to the JSON property `destPorts`
23901
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRuleMatcherConfigDestinationPort>]
23902
+ attr_accessor :dest_ports
23903
+
23235
23904
  # CIDR IP address range.
23236
23905
  # Corresponds to the JSON property `srcIpRanges`
23237
23906
  # @return [Array<String>]
@@ -23243,10 +23912,44 @@ module Google
23243
23912
 
23244
23913
  # Update properties of this object
23245
23914
  def update!(**args)
23915
+ @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
23916
+ @dest_ports = args[:dest_ports] if args.key?(:dest_ports)
23246
23917
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
23247
23918
  end
23248
23919
  end
23249
23920
 
23921
+ #
23922
+ class SecurityPolicyRuleMatcherConfigDestinationPort
23923
+ include Google::Apis::Core::Hashable
23924
+
23925
+ # The IP protocol to which this rule applies. The protocol type is required when
23926
+ # creating a firewall rule. This value can either be one of the following well
23927
+ # known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP
23928
+ # protocol number.
23929
+ # Corresponds to the JSON property `ipProtocol`
23930
+ # @return [String]
23931
+ attr_accessor :ip_protocol
23932
+
23933
+ # An optional list of ports to which this rule applies. This field is only
23934
+ # applicable for UDP or TCP protocol. Each entry must be either an integer or a
23935
+ # range. If not specified, this rule applies to connections through any port.
23936
+ # Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
23937
+ # This field may only be specified when versioned_expr is set to FIREWALL.
23938
+ # Corresponds to the JSON property `ports`
23939
+ # @return [Array<String>]
23940
+ attr_accessor :ports
23941
+
23942
+ def initialize(**args)
23943
+ update!(**args)
23944
+ end
23945
+
23946
+ # Update properties of this object
23947
+ def update!(**args)
23948
+ @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
23949
+ @ports = args[:ports] if args.key?(:ports)
23950
+ end
23951
+ end
23952
+
23250
23953
  # An instance's serial console output.
23251
23954
  class SerialPortOutput
23252
23955
  include Google::Apis::Core::Hashable
@@ -23409,12 +24112,12 @@ module Google
23409
24112
  class ShieldedVmIdentityEntry
23410
24113
  include Google::Apis::Core::Hashable
23411
24114
 
23412
- #
24115
+ # A PEM-encoded X.509 certificate. This field can be empty.
23413
24116
  # Corresponds to the JSON property `ekCert`
23414
24117
  # @return [String]
23415
24118
  attr_accessor :ek_cert
23416
24119
 
23417
- #
24120
+ # A PEM-encoded public key.
23418
24121
  # Corresponds to the JSON property `ekPub`
23419
24122
  # @return [String]
23420
24123
  attr_accessor :ek_pub
@@ -23488,7 +24191,7 @@ module Google
23488
24191
  class Snapshot
23489
24192
  include Google::Apis::Core::Hashable
23490
24193
 
23491
- # [Output Only] Set to true if snapshots are autoamtically by applying resource
24194
+ # [Output Only] Set to true if snapshots are automatically by applying resource
23492
24195
  # policy on the target disk.
23493
24196
  # Corresponds to the JSON property `autoCreated`
23494
24197
  # @return [Boolean]
@@ -23534,7 +24237,8 @@ module Google
23534
24237
  # essentially a hash of the labels set used for optimistic locking. The
23535
24238
  # fingerprint is initially generated by Compute Engine and changes after every
23536
24239
  # request to modify or update labels. You must always provide an up-to-date
23537
- # fingerprint hash in order to update or change labels.
24240
+ # fingerprint hash in order to update or change labels, otherwise the request
24241
+ # will fail with error 412 conditionNotMet.
23538
24242
  # To see the latest fingerprint, make a get() request to retrieve a snapshot.
23539
24243
  # Corresponds to the JSON property `labelFingerprint`
23540
24244
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
@@ -24573,7 +25277,8 @@ module Google
24573
25277
  # Fingerprint of this resource. A hash of the contents stored in this object.
24574
25278
  # This field is used in optimistic locking. This field will be ignored when
24575
25279
  # inserting a SslPolicy. An up-to-date fingerprint must be provided in order to
24576
- # update the SslPolicy.
25280
+ # update the SslPolicy, otherwise the request will fail with error 412
25281
+ # conditionNotMet.
24577
25282
  # To see the latest fingerprint, make a get() request to retrieve an SslPolicy.
24578
25283
  # Corresponds to the JSON property `fingerprint`
24579
25284
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
@@ -24741,6 +25446,11 @@ module Google
24741
25446
  # @return [Google::Apis::ComputeAlpha::StatefulPolicyPreservedResources]
24742
25447
  attr_accessor :preserved_resources
24743
25448
 
25449
+ # Configuration of preserved resources.
25450
+ # Corresponds to the JSON property `preservedState`
25451
+ # @return [Google::Apis::ComputeAlpha::StatefulPolicyPreservedState]
25452
+ attr_accessor :preserved_state
25453
+
24744
25454
  def initialize(**args)
24745
25455
  update!(**args)
24746
25456
  end
@@ -24748,6 +25458,7 @@ module Google
24748
25458
  # Update properties of this object
24749
25459
  def update!(**args)
24750
25460
  @preserved_resources = args[:preserved_resources] if args.key?(:preserved_resources)
25461
+ @preserved_state = args[:preserved_state] if args.key?(:preserved_state)
24751
25462
  end
24752
25463
  end
24753
25464
 
@@ -24790,6 +25501,49 @@ module Google
24790
25501
  end
24791
25502
  end
24792
25503
 
25504
+ # Configuration of preserved resources.
25505
+ class StatefulPolicyPreservedState
25506
+ include Google::Apis::Core::Hashable
25507
+
25508
+ # Disks created on the instances that will be preserved on instance delete,
25509
+ # resize down, etc. This map is keyed with the device names of the disks.
25510
+ # Corresponds to the JSON property `disks`
25511
+ # @return [Hash<String,Google::Apis::ComputeAlpha::StatefulPolicyPreservedStateDiskDevice>]
25512
+ attr_accessor :disks
25513
+
25514
+ def initialize(**args)
25515
+ update!(**args)
25516
+ end
25517
+
25518
+ # Update properties of this object
25519
+ def update!(**args)
25520
+ @disks = args[:disks] if args.key?(:disks)
25521
+ end
25522
+ end
25523
+
25524
+ #
25525
+ class StatefulPolicyPreservedStateDiskDevice
25526
+ include Google::Apis::Core::Hashable
25527
+
25528
+ # These stateful disks will never be deleted during autohealing, update or VM
25529
+ # instance recreate operations. This flag is used to configure if the disk
25530
+ # should be deleted after it is no longer used by the group, e.g. when the given
25531
+ # instance or the whole group is deleted. Note: disks attached in READ_ONLY mode
25532
+ # cannot be auto-deleted.
25533
+ # Corresponds to the JSON property `autoDelete`
25534
+ # @return [String]
25535
+ attr_accessor :auto_delete
25536
+
25537
+ def initialize(**args)
25538
+ update!(**args)
25539
+ end
25540
+
25541
+ # Update properties of this object
25542
+ def update!(**args)
25543
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
25544
+ end
25545
+ end
25546
+
24793
25547
  # A Subnetwork resource. (== resource_for beta.subnetworks ==) (== resource_for
24794
25548
  # v1.subnetworks ==)
24795
25549
  class Subnetwork
@@ -24849,7 +25603,8 @@ module Google
24849
25603
  # Fingerprint of this resource. A hash of the contents stored in this object.
24850
25604
  # This field is used in optimistic locking. This field will be ignored when
24851
25605
  # inserting a Subnetwork. An up-to-date fingerprint must be provided in order to
24852
- # update the Subnetwork.
25606
+ # update the Subnetwork, otherwise the request will fail with error 412
25607
+ # conditionNotMet.
24853
25608
  # To see the latest fingerprint, make a get() request to retrieve a Subnetwork.
24854
25609
  # Corresponds to the JSON property `fingerprint`
24855
25610
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
@@ -24897,6 +25652,11 @@ module Google
24897
25652
  # @return [String]
24898
25653
  attr_accessor :kind
24899
25654
 
25655
+ # The available logging options for this subnetwork.
25656
+ # Corresponds to the JSON property `logConfig`
25657
+ # @return [Google::Apis::ComputeAlpha::SubnetworkLogConfig]
25658
+ attr_accessor :log_config
25659
+
24900
25660
  # Can only be specified if VPC flow logging for this subnetwork is enabled.
24901
25661
  # Configures whether metadata fields should be added to the reported VPC flow
24902
25662
  # logs. Default is INCLUDE_ALL_METADATA.
@@ -24949,7 +25709,8 @@ module Google
24949
25709
  # INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An
24950
25710
  # ACTIVE subnetwork is one that is currently being used for Internal HTTP(S)
24951
25711
  # Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to
24952
- # ACTIVE or is currently draining.
25712
+ # ACTIVE or is currently draining. This field can be updated with a patch
25713
+ # request.
24953
25714
  # Corresponds to the JSON property `role`
24954
25715
  # @return [String]
24955
25716
  attr_accessor :role
@@ -24957,7 +25718,7 @@ module Google
24957
25718
  # An array of configurations for secondary IP ranges for VM instances contained
24958
25719
  # in this subnetwork. The primary IP of such VM must belong to the primary
24959
25720
  # ipCidrRange of the subnetwork. The alias IPs may belong to either primary or
24960
- # secondary ranges.
25721
+ # secondary ranges. This field can be updated with a patch request.
24961
25722
  # Corresponds to the JSON property `secondaryIpRanges`
24962
25723
  # @return [Array<Google::Apis::ComputeAlpha::SubnetworkSecondaryRange>]
24963
25724
  attr_accessor :secondary_ip_ranges
@@ -24996,6 +25757,7 @@ module Google
24996
25757
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
24997
25758
  @ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range)
24998
25759
  @kind = args[:kind] if args.key?(:kind)
25760
+ @log_config = args[:log_config] if args.key?(:log_config)
24999
25761
  @metadata = args[:metadata] if args.key?(:metadata)
25000
25762
  @name = args[:name] if args.key?(:name)
25001
25763
  @network = args[:network] if args.key?(:network)
@@ -25245,6 +26007,55 @@ module Google
25245
26007
  end
25246
26008
  end
25247
26009
 
26010
+ # The available logging options for this subnetwork.
26011
+ class SubnetworkLogConfig
26012
+ include Google::Apis::Core::Hashable
26013
+
26014
+ # Can only be specified if VPC flow logging for this subnetwork is enabled.
26015
+ # Toggles the aggregation interval for collecting flow logs. Increasing the
26016
+ # interval time will reduce the amount of generated flow logs for long lasting
26017
+ # connections. Default is an interval of 5 seconds per connection.
26018
+ # Corresponds to the JSON property `aggregationInterval`
26019
+ # @return [String]
26020
+ attr_accessor :aggregation_interval
26021
+
26022
+ # Whether to enable flow logging for this subnetwork. If this field is not
26023
+ # explicitly set, it will not appear in get listings. If not set the default
26024
+ # behavior is to disable flow logging.
26025
+ # Corresponds to the JSON property `enable`
26026
+ # @return [Boolean]
26027
+ attr_accessor :enable
26028
+ alias_method :enable?, :enable
26029
+
26030
+ # Can only be specified if VPC flow logging for this subnetwork is enabled. The
26031
+ # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
26032
+ # within the subnetwork where 1.0 means all collected logs are reported and 0.0
26033
+ # means no logs are reported. Default is 0.5 which means half of all collected
26034
+ # logs are reported.
26035
+ # Corresponds to the JSON property `flowSampling`
26036
+ # @return [Float]
26037
+ attr_accessor :flow_sampling
26038
+
26039
+ # Can only be specified if VPC flow logging for this subnetwork is enabled.
26040
+ # Configures whether metadata fields should be added to the reported VPC flow
26041
+ # logs. Default is INCLUDE_ALL_METADATA.
26042
+ # Corresponds to the JSON property `metadata`
26043
+ # @return [String]
26044
+ attr_accessor :metadata
26045
+
26046
+ def initialize(**args)
26047
+ update!(**args)
26048
+ end
26049
+
26050
+ # Update properties of this object
26051
+ def update!(**args)
26052
+ @aggregation_interval = args[:aggregation_interval] if args.key?(:aggregation_interval)
26053
+ @enable = args[:enable] if args.key?(:enable)
26054
+ @flow_sampling = args[:flow_sampling] if args.key?(:flow_sampling)
26055
+ @metadata = args[:metadata] if args.key?(:metadata)
26056
+ end
26057
+ end
26058
+
25248
26059
  # Represents a secondary IP range of a subnetwork.
25249
26060
  class SubnetworkSecondaryRange
25250
26061
  include Google::Apis::Core::Hashable
@@ -26102,8 +26913,8 @@ module Google
26102
26913
  attr_accessor :self_link
26103
26914
 
26104
26915
  # URLs to SslCertificate resources that are used to authenticate connections
26105
- # between users and the load balancer. Currently, exactly one SSL certificate
26106
- # must be specified.
26916
+ # between users and the load balancer. At least one SSL certificate must be
26917
+ # specified. Currently, you may specify up to 15 SSL certificates.
26107
26918
  # Corresponds to the JSON property `sslCertificates`
26108
26919
  # @return [Array<String>]
26109
26920
  attr_accessor :ssl_certificates
@@ -26886,7 +27697,7 @@ module Google
26886
27697
  # @return [String]
26887
27698
  attr_accessor :self_link
26888
27699
 
26889
- # Sesssion affinity option, must be one of the following values:
27700
+ # Session affinity option, must be one of the following values:
26890
27701
  # NONE: Connections from the same client IP may go to any instance in the pool.
26891
27702
  # CLIENT_IP: Connections from the same client IP will go to the same instance in
26892
27703
  # the pool while that instance remains healthy.
@@ -27489,7 +28300,8 @@ module Google
27489
28300
  attr_accessor :service
27490
28301
 
27491
28302
  # URLs to SslCertificate resources that are used to authenticate connections to
27492
- # Backends. Currently exactly one SSL certificate must be specified.
28303
+ # Backends. At least one SSL certificate must be specified. Currently, you may
28304
+ # specify up to 15 SSL certificates.
27493
28305
  # Corresponds to the JSON property `sslCertificates`
27494
28306
  # @return [Array<String>]
27495
28307
  attr_accessor :ssl_certificates
@@ -27903,7 +28715,8 @@ module Google
27903
28715
  # essentially a hash of the labels set used for optimistic locking. The
27904
28716
  # fingerprint is initially generated by Compute Engine and changes after every
27905
28717
  # request to modify or update labels. You must always provide an up-to-date
27906
- # fingerprint hash in order to update or change labels.
28718
+ # fingerprint hash in order to update or change labels, otherwise the request
28719
+ # will fail with error 412 conditionNotMet.
27907
28720
  # To see the latest fingerprint, make a get() request to retrieve a
27908
28721
  # TargetVpnGateway.
27909
28722
  # Corresponds to the JSON property `labelFingerprint`
@@ -28434,7 +29247,12 @@ module Google
28434
29247
  # @return [String]
28435
29248
  attr_accessor :creation_timestamp
28436
29249
 
28437
- # The URL of the BackendService resource if none of the hostRules match.
29250
+ # The URL of the backendService resource if none of the hostRules match.
29251
+ # Use defaultService instead of defaultRouteAction when simple routing to a
29252
+ # backendService is desired and other advanced capabilities like traffic
29253
+ # splitting and rewrites are not required.
29254
+ # Only one of defaultService, defaultRouteAction or defaultUrlRedirect should
29255
+ # must be set.
28438
29256
  # Corresponds to the JSON property `defaultService`
28439
29257
  # @return [String]
28440
29258
  attr_accessor :default_service
@@ -28448,7 +29266,8 @@ module Google
28448
29266
  # Fingerprint of this resource. A hash of the contents stored in this object.
28449
29267
  # This field is used in optimistic locking. This field will be ignored when
28450
29268
  # inserting a UrlMap. An up-to-date fingerprint must be provided in order to
28451
- # update the UrlMap.
29269
+ # update the UrlMap, otherwise the request will fail with error 412
29270
+ # conditionNotMet.
28452
29271
  # To see the latest fingerprint, make a get() request to retrieve a UrlMap.
28453
29272
  # Corresponds to the JSON property `fingerprint`
28454
29273
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
@@ -29420,7 +30239,8 @@ module Google
29420
30239
  # essentially a hash of the labels set used for optimistic locking. The
29421
30240
  # fingerprint is initially generated by Compute Engine and changes after every
29422
30241
  # request to modify or update labels. You must always provide an up-to-date
29423
- # fingerprint hash in order to update or change labels.
30242
+ # fingerprint hash in order to update or change labels, otherwise the request
30243
+ # will fail with error 412 conditionNotMet.
29424
30244
  # To see the latest fingerprint, make a get() request to retrieve an VpnGateway.
29425
30245
  # Corresponds to the JSON property `labelFingerprint`
29426
30246
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
@@ -29877,7 +30697,8 @@ module Google
29877
30697
  # essentially a hash of the labels set used for optimistic locking. The
29878
30698
  # fingerprint is initially generated by Compute Engine and changes after every
29879
30699
  # request to modify or update labels. You must always provide an up-to-date
29880
- # fingerprint hash in order to update or change labels.
30700
+ # fingerprint hash in order to update or change labels, otherwise the request
30701
+ # will fail with error 412 conditionNotMet.
29881
30702
  # To see the latest fingerprint, make a get() request to retrieve a VpnTunnel.
29882
30703
  # Corresponds to the JSON property `labelFingerprint`
29883
30704
  # NOTE: Values are automatically base64 encoded/decoded in the client library.