google-api-client 0.10.2 → 0.10.3

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 (248) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/MIGRATING.md +22 -7
  4. data/README.md +4 -8
  5. data/api_names.yaml +1210 -37815
  6. data/generated/google/apis/acceleratedmobilepageurl_v1.rb +32 -0
  7. data/generated/google/apis/acceleratedmobilepageurl_v1/classes.rb +144 -0
  8. data/generated/google/apis/acceleratedmobilepageurl_v1/representations.rb +86 -0
  9. data/generated/google/apis/acceleratedmobilepageurl_v1/service.rb +90 -0
  10. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +764 -764
  12. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +180 -180
  13. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +421 -421
  14. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +1 -0
  15. data/generated/google/apis/admin_directory_v1/classes.rb +1 -0
  16. data/generated/google/apis/admin_reports_v1.rb +1 -1
  17. data/generated/google/apis/adsense_v1_4.rb +1 -1
  18. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  19. data/generated/google/apis/analyticsreporting_v4/classes.rb +187 -187
  20. data/generated/google/apis/analyticsreporting_v4/representations.rb +42 -42
  21. data/generated/google/apis/appengine_v1.rb +40 -0
  22. data/generated/google/apis/appengine_v1/classes.rb +2251 -0
  23. data/generated/google/apis/appengine_v1/representations.rb +858 -0
  24. data/generated/google/apis/appengine_v1/service.rb +894 -0
  25. data/generated/google/apis/bigquery_v2.rb +1 -1
  26. data/generated/google/apis/bigquery_v2/classes.rb +11 -6
  27. data/generated/google/apis/books_v1.rb +1 -1
  28. data/generated/google/apis/books_v1/classes.rb +26 -0
  29. data/generated/google/apis/books_v1/representations.rb +15 -0
  30. data/generated/google/apis/books_v1/service.rb +4 -1
  31. data/generated/google/apis/calendar_v3.rb +1 -1
  32. data/generated/google/apis/classroom_v1.rb +1 -1
  33. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  34. data/generated/google/apis/cloudbuild_v1/classes.rb +638 -637
  35. data/generated/google/apis/cloudbuild_v1/representations.rb +110 -110
  36. data/generated/google/apis/cloudbuild_v1/service.rb +139 -139
  37. data/generated/google/apis/clouddebugger_v2.rb +3 -3
  38. data/generated/google/apis/clouddebugger_v2/classes.rb +131 -131
  39. data/generated/google/apis/clouddebugger_v2/representations.rb +25 -25
  40. data/generated/google/apis/clouderrorreporting_v1beta1.rb +36 -0
  41. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +590 -0
  42. data/generated/google/apis/clouderrorreporting_v1beta1/representations.rb +252 -0
  43. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +350 -0
  44. data/generated/google/apis/cloudfunctions_v1.rb +35 -0
  45. data/generated/google/apis/cloudfunctions_v1/classes.rb +98 -0
  46. data/generated/google/apis/cloudfunctions_v1/representations.rb +57 -0
  47. data/generated/google/apis/cloudfunctions_v1/service.rb +89 -0
  48. data/generated/google/apis/cloudkms_v1/classes.rb +277 -270
  49. data/generated/google/apis/cloudkms_v1/representations.rb +73 -73
  50. data/generated/google/apis/cloudkms_v1/service.rb +194 -194
  51. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  52. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1147 -1144
  53. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +188 -188
  54. data/generated/google/apis/cloudresourcemanager_v1/service.rb +513 -936
  55. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  56. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +307 -916
  57. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +63 -285
  58. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +333 -681
  59. data/generated/google/apis/cloudtrace_v1/classes.rb +38 -38
  60. data/generated/google/apis/cloudtrace_v1/representations.rb +13 -13
  61. data/generated/google/apis/cloudtrace_v1/service.rb +16 -16
  62. data/generated/google/apis/compute_beta.rb +1 -1
  63. data/generated/google/apis/compute_beta/classes.rb +32 -7
  64. data/generated/google/apis/compute_beta/representations.rb +2 -0
  65. data/generated/google/apis/compute_beta/service.rb +11 -11
  66. data/generated/google/apis/compute_v1.rb +1 -1
  67. data/generated/google/apis/compute_v1/classes.rb +95 -2
  68. data/generated/google/apis/compute_v1/representations.rb +33 -0
  69. data/generated/google/apis/dataflow_v1b3/classes.rb +3333 -3333
  70. data/generated/google/apis/dataflow_v1b3/representations.rb +759 -759
  71. data/generated/google/apis/dataflow_v1b3/service.rb +154 -154
  72. data/generated/google/apis/dataproc_v1.rb +1 -1
  73. data/generated/google/apis/dataproc_v1/classes.rb +1097 -1097
  74. data/generated/google/apis/dataproc_v1/representations.rb +200 -200
  75. data/generated/google/apis/dataproc_v1/service.rb +356 -356
  76. data/generated/google/apis/datastore_v1.rb +4 -4
  77. data/generated/google/apis/datastore_v1/classes.rb +701 -690
  78. data/generated/google/apis/datastore_v1/representations.rb +160 -160
  79. data/generated/google/apis/datastore_v1/service.rb +52 -52
  80. data/generated/google/apis/deploymentmanager_v2/classes.rb +4 -0
  81. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  82. data/generated/google/apis/drive_v2.rb +1 -1
  83. data/generated/google/apis/drive_v2/classes.rb +158 -35
  84. data/generated/google/apis/drive_v2/representations.rb +39 -0
  85. data/generated/google/apis/drive_v2/service.rb +4 -4
  86. data/generated/google/apis/drive_v3.rb +1 -1
  87. data/generated/google/apis/drive_v3/classes.rb +162 -33
  88. data/generated/google/apis/drive_v3/representations.rb +39 -0
  89. data/generated/google/apis/drive_v3/service.rb +4 -4
  90. data/generated/google/apis/firebasedynamiclinks_v1.rb +35 -0
  91. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +466 -0
  92. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +222 -0
  93. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +95 -0
  94. data/generated/google/apis/firebaserules_v1.rb +41 -0
  95. data/generated/google/apis/firebaserules_v1/classes.rb +425 -0
  96. data/generated/google/apis/firebaserules_v1/representations.rb +222 -0
  97. data/generated/google/apis/firebaserules_v1/service.rb +495 -0
  98. data/generated/google/apis/games_v1/classes.rb +4 -0
  99. data/generated/google/apis/genomics_v1.rb +7 -7
  100. data/generated/google/apis/genomics_v1/classes.rb +2336 -2335
  101. data/generated/google/apis/genomics_v1/representations.rb +387 -387
  102. data/generated/google/apis/genomics_v1/service.rb +1187 -1187
  103. data/generated/google/apis/gmail_v1/classes.rb +3 -0
  104. data/generated/google/apis/iam_v1.rb +1 -1
  105. data/generated/google/apis/iam_v1/classes.rb +123 -117
  106. data/generated/google/apis/iam_v1/representations.rb +33 -33
  107. data/generated/google/apis/iam_v1/service.rb +109 -109
  108. data/generated/google/apis/identitytoolkit_v3/classes.rb +5 -0
  109. data/generated/google/apis/kgsearch_v1/classes.rb +6 -6
  110. data/generated/google/apis/kgsearch_v1/representations.rb +1 -1
  111. data/generated/google/apis/kgsearch_v1/service.rb +4 -4
  112. data/generated/google/apis/language_v1.rb +36 -0
  113. data/generated/google/apis/language_v1/classes.rb +757 -0
  114. data/generated/google/apis/language_v1/representations.rb +338 -0
  115. data/generated/google/apis/language_v1/service.rb +185 -0
  116. data/generated/google/apis/language_v1beta1/classes.rb +407 -407
  117. data/generated/google/apis/language_v1beta1/representations.rb +103 -103
  118. data/generated/google/apis/language_v1beta1/service.rb +45 -45
  119. data/generated/google/apis/logging_v2.rb +46 -0
  120. data/generated/google/apis/logging_v2/classes.rb +1271 -0
  121. data/generated/google/apis/logging_v2/representations.rb +421 -0
  122. data/generated/google/apis/logging_v2/service.rb +1569 -0
  123. data/generated/google/apis/logging_v2beta1.rb +1 -1
  124. data/generated/google/apis/logging_v2beta1/classes.rb +886 -886
  125. data/generated/google/apis/logging_v2beta1/representations.rb +132 -132
  126. data/generated/google/apis/logging_v2beta1/service.rb +235 -235
  127. data/generated/google/apis/manufacturers_v1/classes.rb +147 -147
  128. data/generated/google/apis/manufacturers_v1/representations.rb +29 -29
  129. data/generated/google/apis/ml_v1.rb +34 -0
  130. data/generated/google/apis/ml_v1/classes.rb +1617 -0
  131. data/generated/google/apis/ml_v1/representations.rb +498 -0
  132. data/generated/google/apis/ml_v1/service.rb +769 -0
  133. data/generated/google/apis/monitoring_v3.rb +4 -4
  134. data/generated/google/apis/monitoring_v3/classes.rb +630 -630
  135. data/generated/google/apis/monitoring_v3/representations.rb +134 -134
  136. data/generated/google/apis/monitoring_v3/service.rb +240 -240
  137. data/generated/google/apis/pagespeedonline_v2/classes.rb +1 -0
  138. data/generated/google/apis/partners_v2.rb +1 -1
  139. data/generated/google/apis/partners_v2/classes.rb +639 -639
  140. data/generated/google/apis/partners_v2/representations.rb +168 -168
  141. data/generated/google/apis/partners_v2/service.rb +381 -381
  142. data/generated/google/apis/people_v1.rb +10 -10
  143. data/generated/google/apis/people_v1/classes.rb +524 -524
  144. data/generated/google/apis/people_v1/representations.rb +143 -143
  145. data/generated/google/apis/people_v1/service.rb +30 -30
  146. data/generated/google/apis/plus_domains_v1.rb +1 -1
  147. data/generated/google/apis/plus_v1.rb +1 -1
  148. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +454 -444
  149. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +90 -90
  150. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +110 -110
  151. data/generated/google/apis/pubsub_v1/classes.rb +175 -173
  152. data/generated/google/apis/pubsub_v1/representations.rb +53 -53
  153. data/generated/google/apis/pubsub_v1/service.rb +210 -210
  154. data/generated/google/apis/replicapool_v1beta2/classes.rb +2 -0
  155. data/generated/google/apis/runtimeconfig_v1.rb +38 -0
  156. data/generated/google/apis/runtimeconfig_v1/classes.rb +252 -0
  157. data/generated/google/apis/runtimeconfig_v1/representations.rb +98 -0
  158. data/generated/google/apis/runtimeconfig_v1/service.rb +176 -0
  159. data/generated/google/apis/script_v1.rb +1 -1
  160. data/generated/google/apis/script_v1/classes.rb +6 -6
  161. data/generated/google/apis/script_v1/representations.rb +1 -1
  162. data/generated/google/apis/searchconsole_v1.rb +31 -0
  163. data/generated/google/apis/searchconsole_v1/classes.rb +205 -0
  164. data/generated/google/apis/searchconsole_v1/representations.rb +129 -0
  165. data/generated/google/apis/searchconsole_v1/service.rb +88 -0
  166. data/generated/google/apis/servicecontrol_v1.rb +38 -0
  167. data/generated/google/apis/servicecontrol_v1/classes.rb +1675 -0
  168. data/generated/google/apis/servicecontrol_v1/representations.rb +601 -0
  169. data/generated/google/apis/servicecontrol_v1/service.rb +337 -0
  170. data/generated/google/apis/servicemanagement_v1.rb +45 -0
  171. data/generated/google/apis/servicemanagement_v1/classes.rb +4934 -0
  172. data/generated/google/apis/servicemanagement_v1/representations.rb +1526 -0
  173. data/generated/google/apis/servicemanagement_v1/service.rb +860 -0
  174. data/generated/google/apis/serviceuser_v1.rb +42 -0
  175. data/generated/google/apis/serviceuser_v1/classes.rb +3746 -0
  176. data/generated/google/apis/serviceuser_v1/representations.rb +1041 -0
  177. data/generated/google/apis/serviceuser_v1/service.rb +214 -0
  178. data/generated/google/apis/sheets_v4.rb +3 -3
  179. data/generated/google/apis/sheets_v4/classes.rb +4390 -4390
  180. data/generated/google/apis/sheets_v4/representations.rb +381 -381
  181. data/generated/google/apis/sheets_v4/service.rb +48 -48
  182. data/generated/google/apis/slides_v1.rb +3 -3
  183. data/generated/google/apis/slides_v1/classes.rb +2860 -2860
  184. data/generated/google/apis/slides_v1/representations.rb +693 -693
  185. data/generated/google/apis/slides_v1/service.rb +30 -30
  186. data/generated/google/apis/sourcerepo_v1.rb +34 -0
  187. data/generated/google/apis/sourcerepo_v1/classes.rb +687 -0
  188. data/generated/google/apis/sourcerepo_v1/representations.rb +285 -0
  189. data/generated/google/apis/sourcerepo_v1/service.rb +291 -0
  190. data/generated/google/apis/spanner_v1.rb +35 -0
  191. data/generated/google/apis/spanner_v1/classes.rb +3294 -0
  192. data/generated/google/apis/spanner_v1/representations.rb +984 -0
  193. data/generated/google/apis/spanner_v1/service.rb +1504 -0
  194. data/generated/google/apis/speech_v1beta1.rb +1 -1
  195. data/generated/google/apis/speech_v1beta1/classes.rb +197 -196
  196. data/generated/google/apis/speech_v1beta1/representations.rb +53 -53
  197. data/generated/google/apis/speech_v1beta1/service.rb +27 -27
  198. data/generated/google/apis/storage_v1.rb +1 -1
  199. data/generated/google/apis/storage_v1/classes.rb +131 -0
  200. data/generated/google/apis/storage_v1/representations.rb +51 -0
  201. data/generated/google/apis/storage_v1/service.rb +182 -0
  202. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  203. data/generated/google/apis/storagetransfer_v1/classes.rb +732 -661
  204. data/generated/google/apis/storagetransfer_v1/representations.rb +132 -132
  205. data/generated/google/apis/storagetransfer_v1/service.rb +174 -197
  206. data/generated/google/apis/surveys_v2.rb +40 -0
  207. data/generated/google/apis/surveys_v2/classes.rb +806 -0
  208. data/generated/google/apis/surveys_v2/representations.rb +347 -0
  209. data/generated/google/apis/surveys_v2/service.rb +477 -0
  210. data/generated/google/apis/tagmanager_v2.rb +52 -0
  211. data/generated/google/apis/tagmanager_v2/classes.rb +2435 -0
  212. data/generated/google/apis/tagmanager_v2/representations.rb +993 -0
  213. data/generated/google/apis/tagmanager_v2/service.rb +2865 -0
  214. data/generated/google/apis/toolresults_v1beta3.rb +34 -0
  215. data/generated/google/apis/toolresults_v1beta3/classes.rb +2160 -0
  216. data/generated/google/apis/toolresults_v1beta3/representations.rb +729 -0
  217. data/generated/google/apis/toolresults_v1beta3/service.rb +1236 -0
  218. data/generated/google/apis/tracing_v1.rb +40 -0
  219. data/generated/google/apis/tracing_v1/classes.rb +664 -0
  220. data/generated/google/apis/tracing_v1/representations.rb +279 -0
  221. data/generated/google/apis/tracing_v1/service.rb +225 -0
  222. data/generated/google/apis/vision_v1.rb +1 -1
  223. data/generated/google/apis/vision_v1/classes.rb +1223 -1222
  224. data/generated/google/apis/vision_v1/representations.rb +234 -234
  225. data/generated/google/apis/vision_v1/service.rb +10 -10
  226. data/generated/google/apis/webfonts_v1.rb +33 -0
  227. data/generated/google/apis/webfonts_v1/classes.rb +113 -0
  228. data/generated/google/apis/webfonts_v1/representations.rb +62 -0
  229. data/generated/google/apis/webfonts_v1/service.rb +102 -0
  230. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  231. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  232. data/generated/google/apis/youtube_partner_v1/classes.rb +31 -0
  233. data/generated/google/apis/youtube_partner_v1/representations.rb +6 -0
  234. data/generated/google/apis/youtube_partner_v1/service.rb +41 -0
  235. data/generated/google/apis/youtube_v3/classes.rb +1 -0
  236. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  237. data/generated/google/apis/youtubereporting_v1/classes.rb +76 -76
  238. data/generated/google/apis/youtubereporting_v1/representations.rb +25 -25
  239. data/generated/google/apis/youtubereporting_v1/service.rb +95 -95
  240. data/lib/google/apis/generator/annotator.rb +5 -4
  241. data/lib/google/apis/generator/templates/_class.tmpl +3 -0
  242. data/lib/google/apis/version.rb +1 -1
  243. data/samples/cli/lib/samples/adsense.rb +99 -0
  244. data/samples/cli/lib/samples/analytics.rb +18 -0
  245. data/samples/cli/lib/samples/gmail.rb +33 -0
  246. data/samples/cli/lib/samples/vision.rb +69 -0
  247. metadata +89 -4
  248. data/sync.rb +0 -71
@@ -0,0 +1,222 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module FirebaserulesV1
24
+
25
+ class FunctionCall
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
29
+ end
30
+
31
+ class File
32
+ class Representation < Google::Apis::Core::JsonRepresentation; end
33
+
34
+ include Google::Apis::Core::JsonObjectSupport
35
+ end
36
+
37
+ class ListReleasesResponse
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
41
+ end
42
+
43
+ class Release
44
+ class Representation < Google::Apis::Core::JsonRepresentation; end
45
+
46
+ include Google::Apis::Core::JsonObjectSupport
47
+ end
48
+
49
+ class TestRulesetResponse
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
53
+ end
54
+
55
+ class TestResult
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
61
+ class ListRulesetsResponse
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+
64
+ include Google::Apis::Core::JsonObjectSupport
65
+ end
66
+
67
+ class Empty
68
+ class Representation < Google::Apis::Core::JsonRepresentation; end
69
+
70
+ include Google::Apis::Core::JsonObjectSupport
71
+ end
72
+
73
+ class Source
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+
76
+ include Google::Apis::Core::JsonObjectSupport
77
+ end
78
+
79
+ class SourcePosition
80
+ class Representation < Google::Apis::Core::JsonRepresentation; end
81
+
82
+ include Google::Apis::Core::JsonObjectSupport
83
+ end
84
+
85
+ class Issue
86
+ class Representation < Google::Apis::Core::JsonRepresentation; end
87
+
88
+ include Google::Apis::Core::JsonObjectSupport
89
+ end
90
+
91
+ class TestRulesetRequest
92
+ class Representation < Google::Apis::Core::JsonRepresentation; end
93
+
94
+ include Google::Apis::Core::JsonObjectSupport
95
+ end
96
+
97
+ class Ruleset
98
+ class Representation < Google::Apis::Core::JsonRepresentation; end
99
+
100
+ include Google::Apis::Core::JsonObjectSupport
101
+ end
102
+
103
+ class FunctionCall
104
+ # @private
105
+ class Representation < Google::Apis::Core::JsonRepresentation
106
+ property :function, as: 'function'
107
+ collection :args, as: 'args'
108
+ end
109
+ end
110
+
111
+ class File
112
+ # @private
113
+ class Representation < Google::Apis::Core::JsonRepresentation
114
+ property :fingerprint, :base64 => true, as: 'fingerprint'
115
+ property :name, as: 'name'
116
+ property :content, as: 'content'
117
+ end
118
+ end
119
+
120
+ class ListReleasesResponse
121
+ # @private
122
+ class Representation < Google::Apis::Core::JsonRepresentation
123
+ collection :releases, as: 'releases', class: Google::Apis::FirebaserulesV1::Release, decorator: Google::Apis::FirebaserulesV1::Release::Representation
124
+
125
+ property :next_page_token, as: 'nextPageToken'
126
+ end
127
+ end
128
+
129
+ class Release
130
+ # @private
131
+ class Representation < Google::Apis::Core::JsonRepresentation
132
+ property :update_time, as: 'updateTime'
133
+ property :name, as: 'name'
134
+ property :ruleset_name, as: 'rulesetName'
135
+ property :create_time, as: 'createTime'
136
+ end
137
+ end
138
+
139
+ class TestRulesetResponse
140
+ # @private
141
+ class Representation < Google::Apis::Core::JsonRepresentation
142
+ collection :issues, as: 'issues', class: Google::Apis::FirebaserulesV1::Issue, decorator: Google::Apis::FirebaserulesV1::Issue::Representation
143
+
144
+ collection :test_results, as: 'testResults', class: Google::Apis::FirebaserulesV1::TestResult, decorator: Google::Apis::FirebaserulesV1::TestResult::Representation
145
+
146
+ end
147
+ end
148
+
149
+ class TestResult
150
+ # @private
151
+ class Representation < Google::Apis::Core::JsonRepresentation
152
+ collection :function_calls, as: 'functionCalls', class: Google::Apis::FirebaserulesV1::FunctionCall, decorator: Google::Apis::FirebaserulesV1::FunctionCall::Representation
153
+
154
+ property :state, as: 'state'
155
+ collection :debug_messages, as: 'debugMessages'
156
+ property :error_position, as: 'errorPosition', class: Google::Apis::FirebaserulesV1::SourcePosition, decorator: Google::Apis::FirebaserulesV1::SourcePosition::Representation
157
+
158
+ end
159
+ end
160
+
161
+ class ListRulesetsResponse
162
+ # @private
163
+ class Representation < Google::Apis::Core::JsonRepresentation
164
+ collection :rulesets, as: 'rulesets', class: Google::Apis::FirebaserulesV1::Ruleset, decorator: Google::Apis::FirebaserulesV1::Ruleset::Representation
165
+
166
+ property :next_page_token, as: 'nextPageToken'
167
+ end
168
+ end
169
+
170
+ class Empty
171
+ # @private
172
+ class Representation < Google::Apis::Core::JsonRepresentation
173
+ end
174
+ end
175
+
176
+ class Source
177
+ # @private
178
+ class Representation < Google::Apis::Core::JsonRepresentation
179
+ collection :files, as: 'files', class: Google::Apis::FirebaserulesV1::File, decorator: Google::Apis::FirebaserulesV1::File::Representation
180
+
181
+ end
182
+ end
183
+
184
+ class SourcePosition
185
+ # @private
186
+ class Representation < Google::Apis::Core::JsonRepresentation
187
+ property :column, as: 'column'
188
+ property :file_name, as: 'fileName'
189
+ property :line, as: 'line'
190
+ end
191
+ end
192
+
193
+ class Issue
194
+ # @private
195
+ class Representation < Google::Apis::Core::JsonRepresentation
196
+ property :source_position, as: 'sourcePosition', class: Google::Apis::FirebaserulesV1::SourcePosition, decorator: Google::Apis::FirebaserulesV1::SourcePosition::Representation
197
+
198
+ property :severity, as: 'severity'
199
+ property :description, as: 'description'
200
+ end
201
+ end
202
+
203
+ class TestRulesetRequest
204
+ # @private
205
+ class Representation < Google::Apis::Core::JsonRepresentation
206
+ property :source, as: 'source', class: Google::Apis::FirebaserulesV1::Source, decorator: Google::Apis::FirebaserulesV1::Source::Representation
207
+
208
+ end
209
+ end
210
+
211
+ class Ruleset
212
+ # @private
213
+ class Representation < Google::Apis::Core::JsonRepresentation
214
+ property :name, as: 'name'
215
+ property :source, as: 'source', class: Google::Apis::FirebaserulesV1::Source, decorator: Google::Apis::FirebaserulesV1::Source::Representation
216
+
217
+ property :create_time, as: 'createTime'
218
+ end
219
+ end
220
+ end
221
+ end
222
+ end
@@ -0,0 +1,495 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/core/base_service'
16
+ require 'google/apis/core/json_representation'
17
+ require 'google/apis/core/hashable'
18
+ require 'google/apis/errors'
19
+
20
+ module Google
21
+ module Apis
22
+ module FirebaserulesV1
23
+ # Firebase Rules API
24
+ #
25
+ # Creates and manages rules that determine when a Firebase Rules-enabled service
26
+ # should permit a request.
27
+ #
28
+ # @example
29
+ # require 'google/apis/firebaserules_v1'
30
+ #
31
+ # Firebaserules = Google::Apis::FirebaserulesV1 # Alias the module
32
+ # service = Firebaserules::FirebaseRulesService.new
33
+ #
34
+ # @see https://firebase.google.com/docs/storage/security
35
+ class FirebaseRulesService < Google::Apis::Core::BaseService
36
+ # @return [String]
37
+ # API key. Your API key identifies your project and provides you with API access,
38
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
39
+ attr_accessor :key
40
+
41
+ # @return [String]
42
+ # Available to use for quota purposes for server-side applications. Can be any
43
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
44
+ attr_accessor :quota_user
45
+
46
+ def initialize
47
+ super('https://firebaserules.googleapis.com/', '')
48
+ end
49
+
50
+ # Test `Source` for syntactic and semantic correctness. Issues present, if
51
+ # any, will be returned to the caller with a description, severity, and
52
+ # source location.
53
+ # The test method may be executed with `Source` or a `Ruleset` name.
54
+ # Passing `Source` is useful for unit testing new rules. Passing a `Ruleset`
55
+ # name is useful for regression testing an existing rule.
56
+ # The following is an example of `Source` that permits users to upload images
57
+ # to a bucket bearing their user id and matching the correct metadata:
58
+ # _*Example*_
59
+ # // Users are allowed to subscribe and unsubscribe to the blog.
60
+ # service firebase.storage `
61
+ # match /users/`userId`/images/`imageName` `
62
+ # allow write: if userId == request.auth.uid
63
+ # && (imageName.matches('*.png$')
64
+ # || imageName.matches('*.jpg$'))
65
+ # && resource.mimeType.matches('^image/')
66
+ # `
67
+ # `
68
+ # @param [String] name
69
+ # Tests may either provide `source` or a `Ruleset` resource name.
70
+ # For tests against `source`, the resource name must refer to the project:
71
+ # Format: `projects/`project_id``
72
+ # For tests against a `Ruleset`, this must be the `Ruleset` resource name:
73
+ # Format: `projects/`project_id`/rulesets/`ruleset_id``
74
+ # @param [Google::Apis::FirebaserulesV1::TestRulesetRequest] test_ruleset_request_object
75
+ # @param [String] fields
76
+ # Selector specifying which fields to include in a partial response.
77
+ # @param [String] quota_user
78
+ # Available to use for quota purposes for server-side applications. Can be any
79
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
80
+ # @param [Google::Apis::RequestOptions] options
81
+ # Request-specific options
82
+ #
83
+ # @yield [result, err] Result & error if block supplied
84
+ # @yieldparam result [Google::Apis::FirebaserulesV1::TestRulesetResponse] parsed result object
85
+ # @yieldparam err [StandardError] error object if request failed
86
+ #
87
+ # @return [Google::Apis::FirebaserulesV1::TestRulesetResponse]
88
+ #
89
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
90
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
91
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
92
+ def test_project_ruleset(name, test_ruleset_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
93
+ command = make_simple_command(:post, 'v1/{+name}:test', options)
94
+ command.request_representation = Google::Apis::FirebaserulesV1::TestRulesetRequest::Representation
95
+ command.request_object = test_ruleset_request_object
96
+ command.response_representation = Google::Apis::FirebaserulesV1::TestRulesetResponse::Representation
97
+ command.response_class = Google::Apis::FirebaserulesV1::TestRulesetResponse
98
+ command.params['name'] = name unless name.nil?
99
+ command.query['fields'] = fields unless fields.nil?
100
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
101
+ execute_or_queue_command(command, &block)
102
+ end
103
+
104
+ # Delete a `Ruleset` by resource name.
105
+ # If the `Ruleset` is referenced by a `Release` the operation will fail.
106
+ # @param [String] name
107
+ # Resource name for the ruleset to delete.
108
+ # Format: `projects/`project_id`/rulesets/`ruleset_id``
109
+ # @param [String] fields
110
+ # Selector specifying which fields to include in a partial response.
111
+ # @param [String] quota_user
112
+ # Available to use for quota purposes for server-side applications. Can be any
113
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
114
+ # @param [Google::Apis::RequestOptions] options
115
+ # Request-specific options
116
+ #
117
+ # @yield [result, err] Result & error if block supplied
118
+ # @yieldparam result [Google::Apis::FirebaserulesV1::Empty] parsed result object
119
+ # @yieldparam err [StandardError] error object if request failed
120
+ #
121
+ # @return [Google::Apis::FirebaserulesV1::Empty]
122
+ #
123
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
124
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
125
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
126
+ def delete_project_ruleset(name, fields: nil, quota_user: nil, options: nil, &block)
127
+ command = make_simple_command(:delete, 'v1/{+name}', options)
128
+ command.response_representation = Google::Apis::FirebaserulesV1::Empty::Representation
129
+ command.response_class = Google::Apis::FirebaserulesV1::Empty
130
+ command.params['name'] = name unless name.nil?
131
+ command.query['fields'] = fields unless fields.nil?
132
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
133
+ execute_or_queue_command(command, &block)
134
+ end
135
+
136
+ # Get a `Ruleset` by name including the full `Source` contents.
137
+ # @param [String] name
138
+ # Resource name for the ruleset to get.
139
+ # Format: `projects/`project_id`/rulesets/`ruleset_id``
140
+ # @param [String] fields
141
+ # Selector specifying which fields to include in a partial response.
142
+ # @param [String] quota_user
143
+ # Available to use for quota purposes for server-side applications. Can be any
144
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
145
+ # @param [Google::Apis::RequestOptions] options
146
+ # Request-specific options
147
+ #
148
+ # @yield [result, err] Result & error if block supplied
149
+ # @yieldparam result [Google::Apis::FirebaserulesV1::Ruleset] parsed result object
150
+ # @yieldparam err [StandardError] error object if request failed
151
+ #
152
+ # @return [Google::Apis::FirebaserulesV1::Ruleset]
153
+ #
154
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
155
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
156
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
157
+ def get_project_ruleset(name, fields: nil, quota_user: nil, options: nil, &block)
158
+ command = make_simple_command(:get, 'v1/{+name}', options)
159
+ command.response_representation = Google::Apis::FirebaserulesV1::Ruleset::Representation
160
+ command.response_class = Google::Apis::FirebaserulesV1::Ruleset
161
+ command.params['name'] = name unless name.nil?
162
+ command.query['fields'] = fields unless fields.nil?
163
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
164
+ execute_or_queue_command(command, &block)
165
+ end
166
+
167
+ # List `Ruleset` metadata only and optionally filter the results by `Ruleset`
168
+ # name.
169
+ # The full `Source` contents of a `Ruleset` may be retrieved with
170
+ # GetRuleset.
171
+ # @param [String] name
172
+ # Resource name for the project.
173
+ # Format: `projects/`project_id``
174
+ # @param [String] page_token
175
+ # Next page token for loading the next batch of `Ruleset` instances.
176
+ # @param [Fixnum] page_size
177
+ # Page size to load. Maximum of 100. Defaults to 10.
178
+ # Note: `page_size` is just a hint and the service may choose to load less
179
+ # than `page_size` due to the size of the output. To traverse all of the
180
+ # releases, caller should iterate until the `page_token` is empty.
181
+ # @param [String] filter
182
+ # `Ruleset` filter. The list method supports filters with restrictions on
183
+ # `Ruleset.name`.
184
+ # Filters on `Ruleset.create_time` should use the `date` function which
185
+ # parses strings that conform to the RFC 3339 date/time specifications.
186
+ # Example: `create_time > date("2017-01-01") AND name=UUID-*`
187
+ # @param [String] fields
188
+ # Selector specifying which fields to include in a partial response.
189
+ # @param [String] quota_user
190
+ # Available to use for quota purposes for server-side applications. Can be any
191
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
192
+ # @param [Google::Apis::RequestOptions] options
193
+ # Request-specific options
194
+ #
195
+ # @yield [result, err] Result & error if block supplied
196
+ # @yieldparam result [Google::Apis::FirebaserulesV1::ListRulesetsResponse] parsed result object
197
+ # @yieldparam err [StandardError] error object if request failed
198
+ #
199
+ # @return [Google::Apis::FirebaserulesV1::ListRulesetsResponse]
200
+ #
201
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
202
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
203
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
204
+ def list_project_rulesets(name, page_token: nil, page_size: nil, filter: nil, fields: nil, quota_user: nil, options: nil, &block)
205
+ command = make_simple_command(:get, 'v1/{+name}/rulesets', options)
206
+ command.response_representation = Google::Apis::FirebaserulesV1::ListRulesetsResponse::Representation
207
+ command.response_class = Google::Apis::FirebaserulesV1::ListRulesetsResponse
208
+ command.params['name'] = name unless name.nil?
209
+ command.query['pageToken'] = page_token unless page_token.nil?
210
+ command.query['pageSize'] = page_size unless page_size.nil?
211
+ command.query['filter'] = filter unless filter.nil?
212
+ command.query['fields'] = fields unless fields.nil?
213
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
214
+ execute_or_queue_command(command, &block)
215
+ end
216
+
217
+ # Create a `Ruleset` from `Source`.
218
+ # The `Ruleset` is given a unique generated name which is returned to the
219
+ # caller. `Source` containing syntactic or semantics errors will result in an
220
+ # error response indicating the first error encountered. For a detailed view
221
+ # of `Source` issues, use TestRuleset.
222
+ # @param [String] name
223
+ # Resource name for Project which owns this `Ruleset`.
224
+ # Format: `projects/`project_id``
225
+ # @param [Google::Apis::FirebaserulesV1::Ruleset] ruleset_object
226
+ # @param [String] fields
227
+ # Selector specifying which fields to include in a partial response.
228
+ # @param [String] quota_user
229
+ # Available to use for quota purposes for server-side applications. Can be any
230
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
231
+ # @param [Google::Apis::RequestOptions] options
232
+ # Request-specific options
233
+ #
234
+ # @yield [result, err] Result & error if block supplied
235
+ # @yieldparam result [Google::Apis::FirebaserulesV1::Ruleset] parsed result object
236
+ # @yieldparam err [StandardError] error object if request failed
237
+ #
238
+ # @return [Google::Apis::FirebaserulesV1::Ruleset]
239
+ #
240
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
241
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
242
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
243
+ def create_project_ruleset(name, ruleset_object = nil, fields: nil, quota_user: nil, options: nil, &block)
244
+ command = make_simple_command(:post, 'v1/{+name}/rulesets', options)
245
+ command.request_representation = Google::Apis::FirebaserulesV1::Ruleset::Representation
246
+ command.request_object = ruleset_object
247
+ command.response_representation = Google::Apis::FirebaserulesV1::Ruleset::Representation
248
+ command.response_class = Google::Apis::FirebaserulesV1::Ruleset
249
+ command.params['name'] = name unless name.nil?
250
+ command.query['fields'] = fields unless fields.nil?
251
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
252
+ execute_or_queue_command(command, &block)
253
+ end
254
+
255
+ # Update a `Release`.
256
+ # Only updates to the `ruleset_name` and `test_suite_name` fields will be
257
+ # honored. `Release` rename is not supported. To create a `Release` use the
258
+ # CreateRelease method.
259
+ # @param [String] name
260
+ # Resource name for the `Release`.
261
+ # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
262
+ # which affords developers a great deal of flexibility in mapping the name
263
+ # to the style that best fits their existing development practices. For
264
+ # example, a name could refer to an environment, an app, a version, or some
265
+ # combination of three.
266
+ # In the table below, for the project name `projects/foo`, the following
267
+ # relative release paths show how flat and structured names might be chosen
268
+ # to match a desired development / deployment strategy.
269
+ # Use Case | Flat Name | Structured Name
270
+ # -------------|---------------------|----------------
271
+ # Environments | releases/qa | releases/qa
272
+ # Apps | releases/app1_qa | releases/app1/qa
273
+ # Versions | releases/app1_v2_qa | releases/app1/v2/qa
274
+ # The delimiter between the release name path elements can be almost anything
275
+ # and it should work equally well with the release name list filter, but in
276
+ # many ways the structured paths provide a clearer picture of the
277
+ # relationship between `Release` instances.
278
+ # Format: `projects/`project_id`/releases/`release_id``
279
+ # @param [Google::Apis::FirebaserulesV1::Release] release_object
280
+ # @param [String] fields
281
+ # Selector specifying which fields to include in a partial response.
282
+ # @param [String] quota_user
283
+ # Available to use for quota purposes for server-side applications. Can be any
284
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
285
+ # @param [Google::Apis::RequestOptions] options
286
+ # Request-specific options
287
+ #
288
+ # @yield [result, err] Result & error if block supplied
289
+ # @yieldparam result [Google::Apis::FirebaserulesV1::Release] parsed result object
290
+ # @yieldparam err [StandardError] error object if request failed
291
+ #
292
+ # @return [Google::Apis::FirebaserulesV1::Release]
293
+ #
294
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
295
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
296
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
297
+ def update_project_release(name, release_object = nil, fields: nil, quota_user: nil, options: nil, &block)
298
+ command = make_simple_command(:put, 'v1/{+name}', options)
299
+ command.request_representation = Google::Apis::FirebaserulesV1::Release::Representation
300
+ command.request_object = release_object
301
+ command.response_representation = Google::Apis::FirebaserulesV1::Release::Representation
302
+ command.response_class = Google::Apis::FirebaserulesV1::Release
303
+ command.params['name'] = name unless name.nil?
304
+ command.query['fields'] = fields unless fields.nil?
305
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
306
+ execute_or_queue_command(command, &block)
307
+ end
308
+
309
+ # Create a `Release`.
310
+ # Release names should reflect the developer's deployment practices. For
311
+ # example, the release name may include the environment name, application
312
+ # name, application version, or any other name meaningful to the developer.
313
+ # Once a `Release` refers to a `Ruleset`, the rules can be enforced by
314
+ # Firebase Rules-enabled services.
315
+ # More than one `Release` may be 'live' concurrently. Consider the following
316
+ # three `Release` names for `projects/foo` and the `Ruleset` to which they
317
+ # refer.
318
+ # Release Name | Ruleset Name
319
+ # --------------------------------|-------------
320
+ # projects/foo/releases/prod | projects/foo/rulesets/uuid123
321
+ # projects/foo/releases/prod/beta | projects/foo/rulesets/uuid123
322
+ # projects/foo/releases/prod/v23 | projects/foo/rulesets/uuid456
323
+ # The table reflects the `Ruleset` rollout in progress. The `prod` and
324
+ # `prod/beta` releases refer to the same `Ruleset`. However, `prod/v23`
325
+ # refers to a new `Ruleset`. The `Ruleset` reference for a `Release` may be
326
+ # updated using the UpdateRelease method.
327
+ # @param [String] name
328
+ # Resource name for the project which owns this `Release`.
329
+ # Format: `projects/`project_id``
330
+ # @param [Google::Apis::FirebaserulesV1::Release] release_object
331
+ # @param [String] fields
332
+ # Selector specifying which fields to include in a partial response.
333
+ # @param [String] quota_user
334
+ # Available to use for quota purposes for server-side applications. Can be any
335
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
336
+ # @param [Google::Apis::RequestOptions] options
337
+ # Request-specific options
338
+ #
339
+ # @yield [result, err] Result & error if block supplied
340
+ # @yieldparam result [Google::Apis::FirebaserulesV1::Release] parsed result object
341
+ # @yieldparam err [StandardError] error object if request failed
342
+ #
343
+ # @return [Google::Apis::FirebaserulesV1::Release]
344
+ #
345
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
346
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
347
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
348
+ def create_project_release(name, release_object = nil, fields: nil, quota_user: nil, options: nil, &block)
349
+ command = make_simple_command(:post, 'v1/{+name}/releases', options)
350
+ command.request_representation = Google::Apis::FirebaserulesV1::Release::Representation
351
+ command.request_object = release_object
352
+ command.response_representation = Google::Apis::FirebaserulesV1::Release::Representation
353
+ command.response_class = Google::Apis::FirebaserulesV1::Release
354
+ command.params['name'] = name unless name.nil?
355
+ command.query['fields'] = fields unless fields.nil?
356
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
357
+ execute_or_queue_command(command, &block)
358
+ end
359
+
360
+ # Delete a `Release` by resource name.
361
+ # @param [String] name
362
+ # Resource name for the `Release` to delete.
363
+ # Format: `projects/`project_id`/releases/`release_id``
364
+ # @param [String] fields
365
+ # Selector specifying which fields to include in a partial response.
366
+ # @param [String] quota_user
367
+ # Available to use for quota purposes for server-side applications. Can be any
368
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
369
+ # @param [Google::Apis::RequestOptions] options
370
+ # Request-specific options
371
+ #
372
+ # @yield [result, err] Result & error if block supplied
373
+ # @yieldparam result [Google::Apis::FirebaserulesV1::Empty] parsed result object
374
+ # @yieldparam err [StandardError] error object if request failed
375
+ #
376
+ # @return [Google::Apis::FirebaserulesV1::Empty]
377
+ #
378
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
379
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
380
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
381
+ def delete_project_release(name, fields: nil, quota_user: nil, options: nil, &block)
382
+ command = make_simple_command(:delete, 'v1/{+name}', options)
383
+ command.response_representation = Google::Apis::FirebaserulesV1::Empty::Representation
384
+ command.response_class = Google::Apis::FirebaserulesV1::Empty
385
+ command.params['name'] = name unless name.nil?
386
+ command.query['fields'] = fields unless fields.nil?
387
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
388
+ execute_or_queue_command(command, &block)
389
+ end
390
+
391
+ # Get a `Release` by name.
392
+ # @param [String] name
393
+ # Resource name of the `Release`.
394
+ # Format: `projects/`project_id`/releases/`release_id``
395
+ # @param [String] fields
396
+ # Selector specifying which fields to include in a partial response.
397
+ # @param [String] quota_user
398
+ # Available to use for quota purposes for server-side applications. Can be any
399
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
400
+ # @param [Google::Apis::RequestOptions] options
401
+ # Request-specific options
402
+ #
403
+ # @yield [result, err] Result & error if block supplied
404
+ # @yieldparam result [Google::Apis::FirebaserulesV1::Release] parsed result object
405
+ # @yieldparam err [StandardError] error object if request failed
406
+ #
407
+ # @return [Google::Apis::FirebaserulesV1::Release]
408
+ #
409
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
410
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
411
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
412
+ def get_project_release(name, fields: nil, quota_user: nil, options: nil, &block)
413
+ command = make_simple_command(:get, 'v1/{+name}', options)
414
+ command.response_representation = Google::Apis::FirebaserulesV1::Release::Representation
415
+ command.response_class = Google::Apis::FirebaserulesV1::Release
416
+ command.params['name'] = name unless name.nil?
417
+ command.query['fields'] = fields unless fields.nil?
418
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
419
+ execute_or_queue_command(command, &block)
420
+ end
421
+
422
+ # List the `Release` values for a project. This list may optionally be
423
+ # filtered by `Release` name, `Ruleset` name, `TestSuite` name, or any
424
+ # combination thereof.
425
+ # @param [String] name
426
+ # Resource name for the project.
427
+ # Format: `projects/`project_id``
428
+ # @param [String] page_token
429
+ # Next page token for the next batch of `Release` instances.
430
+ # @param [Fixnum] page_size
431
+ # Page size to load. Maximum of 100. Defaults to 10.
432
+ # Note: `page_size` is just a hint and the service may choose to load fewer
433
+ # than `page_size` results due to the size of the output. To traverse all of
434
+ # the releases, the caller should iterate until the `page_token` on the
435
+ # response is empty.
436
+ # @param [String] filter
437
+ # `Release` filter. The list method supports filters with restrictions on the
438
+ # `Release.name`, `Release.ruleset_name`, and `Release.test_suite_name`.
439
+ # Example 1: A filter of 'name=prod*' might return `Release`s with names
440
+ # within 'projects/foo' prefixed with 'prod':
441
+ # Name | Ruleset Name
442
+ # ------------------------------|-------------
443
+ # projects/foo/releases/prod | projects/foo/rulesets/uuid1234
444
+ # projects/foo/releases/prod/v1 | projects/foo/rulesets/uuid1234
445
+ # projects/foo/releases/prod/v2 | projects/foo/rulesets/uuid8888
446
+ # Example 2: A filter of `name=prod* ruleset_name=uuid1234` would return only
447
+ # `Release` instances for 'projects/foo' with names prefixed with 'prod'
448
+ # referring to the same `Ruleset` name of 'uuid1234':
449
+ # Name | Ruleset Name
450
+ # ------------------------------|-------------
451
+ # projects/foo/releases/prod | projects/foo/rulesets/1234
452
+ # projects/foo/releases/prod/v1 | projects/foo/rulesets/1234
453
+ # In the examples, the filter parameters refer to the search filters are
454
+ # relative to the project. Fully qualified prefixed may also be used. e.g.
455
+ # `test_suite_name=projects/foo/testsuites/uuid1`
456
+ # @param [String] fields
457
+ # Selector specifying which fields to include in a partial response.
458
+ # @param [String] quota_user
459
+ # Available to use for quota purposes for server-side applications. Can be any
460
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
461
+ # @param [Google::Apis::RequestOptions] options
462
+ # Request-specific options
463
+ #
464
+ # @yield [result, err] Result & error if block supplied
465
+ # @yieldparam result [Google::Apis::FirebaserulesV1::ListReleasesResponse] parsed result object
466
+ # @yieldparam err [StandardError] error object if request failed
467
+ #
468
+ # @return [Google::Apis::FirebaserulesV1::ListReleasesResponse]
469
+ #
470
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
471
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
472
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
473
+ def list_project_releases(name, page_token: nil, page_size: nil, filter: nil, fields: nil, quota_user: nil, options: nil, &block)
474
+ command = make_simple_command(:get, 'v1/{+name}/releases', options)
475
+ command.response_representation = Google::Apis::FirebaserulesV1::ListReleasesResponse::Representation
476
+ command.response_class = Google::Apis::FirebaserulesV1::ListReleasesResponse
477
+ command.params['name'] = name unless name.nil?
478
+ command.query['pageToken'] = page_token unless page_token.nil?
479
+ command.query['pageSize'] = page_size unless page_size.nil?
480
+ command.query['filter'] = filter unless filter.nil?
481
+ command.query['fields'] = fields unless fields.nil?
482
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
483
+ execute_or_queue_command(command, &block)
484
+ end
485
+
486
+ protected
487
+
488
+ def apply_command_defaults(command)
489
+ command.query['key'] = key unless key.nil?
490
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
491
+ end
492
+ end
493
+ end
494
+ end
495
+ end