google-api-client 0.25.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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.