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
@@ -46,36 +46,6 @@ module Google
46
46
  super('https://slides.googleapis.com/', '')
47
47
  end
48
48
 
49
- # Gets the latest version of the specified presentation.
50
- # @param [String] presentation_id
51
- # The ID of the presentation to retrieve.
52
- # @param [String] fields
53
- # Selector specifying which fields to include in a partial response.
54
- # @param [String] quota_user
55
- # Available to use for quota purposes for server-side applications. Can be any
56
- # arbitrary string assigned to a user, but should not exceed 40 characters.
57
- # @param [Google::Apis::RequestOptions] options
58
- # Request-specific options
59
- #
60
- # @yield [result, err] Result & error if block supplied
61
- # @yieldparam result [Google::Apis::SlidesV1::Presentation] parsed result object
62
- # @yieldparam err [StandardError] error object if request failed
63
- #
64
- # @return [Google::Apis::SlidesV1::Presentation]
65
- #
66
- # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
67
- # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
68
- # @raise [Google::Apis::AuthorizationError] Authorization is required
69
- def get_presentation(presentation_id, fields: nil, quota_user: nil, options: nil, &block)
70
- command = make_simple_command(:get, 'v1/presentations/{+presentationId}', options)
71
- command.response_representation = Google::Apis::SlidesV1::Presentation::Representation
72
- command.response_class = Google::Apis::SlidesV1::Presentation
73
- command.params['presentationId'] = presentation_id unless presentation_id.nil?
74
- command.query['fields'] = fields unless fields.nil?
75
- command.query['quotaUser'] = quota_user unless quota_user.nil?
76
- execute_or_queue_command(command, &block)
77
- end
78
-
79
49
  # Creates a new presentation using the title given in the request. Other
80
50
  # fields in the request are ignored.
81
51
  # Returns the created presentation.
@@ -157,6 +127,36 @@ module Google
157
127
  execute_or_queue_command(command, &block)
158
128
  end
159
129
 
130
+ # Gets the latest version of the specified presentation.
131
+ # @param [String] presentation_id
132
+ # The ID of the presentation to retrieve.
133
+ # @param [String] fields
134
+ # Selector specifying which fields to include in a partial response.
135
+ # @param [String] quota_user
136
+ # Available to use for quota purposes for server-side applications. Can be any
137
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
138
+ # @param [Google::Apis::RequestOptions] options
139
+ # Request-specific options
140
+ #
141
+ # @yield [result, err] Result & error if block supplied
142
+ # @yieldparam result [Google::Apis::SlidesV1::Presentation] parsed result object
143
+ # @yieldparam err [StandardError] error object if request failed
144
+ #
145
+ # @return [Google::Apis::SlidesV1::Presentation]
146
+ #
147
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
148
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
149
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
150
+ def get_presentation(presentation_id, fields: nil, quota_user: nil, options: nil, &block)
151
+ command = make_simple_command(:get, 'v1/presentations/{+presentationId}', options)
152
+ command.response_representation = Google::Apis::SlidesV1::Presentation::Representation
153
+ command.response_class = Google::Apis::SlidesV1::Presentation
154
+ command.params['presentationId'] = presentation_id unless presentation_id.nil?
155
+ command.query['fields'] = fields unless fields.nil?
156
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
157
+ execute_or_queue_command(command, &block)
158
+ end
159
+
160
160
  # Generates a thumbnail of the latest version of the specified page in the
161
161
  # presentation and returns a URL to the thumbnail image.
162
162
  # @param [String] presentation_id
@@ -0,0 +1,34 @@
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/sourcerepo_v1/service.rb'
16
+ require 'google/apis/sourcerepo_v1/classes.rb'
17
+ require 'google/apis/sourcerepo_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Cloud Source Repositories API
22
+ #
23
+ # Access source code repositories hosted by Google.
24
+ #
25
+ # @see https://cloud.google.com/eap/cloud-repositories/cloud-sourcerepo-api
26
+ module SourcerepoV1
27
+ VERSION = 'V1'
28
+ REVISION = '20170327'
29
+
30
+ # View and manage your data across Google Cloud Platform services
31
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,687 @@
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 SourcerepoV1
24
+
25
+ # Response message for `TestIamPermissions` method.
26
+ class TestIamPermissionsResponse
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
30
+ # allowed.
31
+ # Corresponds to the JSON property `permissions`
32
+ # @return [Array<String>]
33
+ attr_accessor :permissions
34
+
35
+ def initialize(**args)
36
+ update!(**args)
37
+ end
38
+
39
+ # Update properties of this object
40
+ def update!(**args)
41
+ @permissions = args[:permissions] if args.key?(:permissions)
42
+ end
43
+ end
44
+
45
+ # Response for ListRepos.
46
+ class ListReposResponse
47
+ include Google::Apis::Core::Hashable
48
+
49
+ # The listed repos.
50
+ # Corresponds to the JSON property `repos`
51
+ # @return [Array<Google::Apis::SourcerepoV1::Repo>]
52
+ attr_accessor :repos
53
+
54
+ def initialize(**args)
55
+ update!(**args)
56
+ end
57
+
58
+ # Update properties of this object
59
+ def update!(**args)
60
+ @repos = args[:repos] if args.key?(:repos)
61
+ end
62
+ end
63
+
64
+ # A condition to be met.
65
+ class Condition
66
+ include Google::Apis::Core::Hashable
67
+
68
+ # Trusted attributes supplied by any service that owns resources and uses
69
+ # the IAM system for access control.
70
+ # Corresponds to the JSON property `sys`
71
+ # @return [String]
72
+ attr_accessor :sys
73
+
74
+ # DEPRECATED. Use 'values' instead.
75
+ # Corresponds to the JSON property `value`
76
+ # @return [String]
77
+ attr_accessor :value
78
+
79
+ # Trusted attributes supplied by the IAM system.
80
+ # Corresponds to the JSON property `iam`
81
+ # @return [String]
82
+ attr_accessor :iam
83
+
84
+ # The objects of the condition. This is mutually exclusive with 'value'.
85
+ # Corresponds to the JSON property `values`
86
+ # @return [Array<String>]
87
+ attr_accessor :values
88
+
89
+ # An operator to apply the subject with.
90
+ # Corresponds to the JSON property `op`
91
+ # @return [String]
92
+ attr_accessor :op
93
+
94
+ # Trusted attributes discharged by the service.
95
+ # Corresponds to the JSON property `svc`
96
+ # @return [String]
97
+ attr_accessor :svc
98
+
99
+ def initialize(**args)
100
+ update!(**args)
101
+ end
102
+
103
+ # Update properties of this object
104
+ def update!(**args)
105
+ @sys = args[:sys] if args.key?(:sys)
106
+ @value = args[:value] if args.key?(:value)
107
+ @iam = args[:iam] if args.key?(:iam)
108
+ @values = args[:values] if args.key?(:values)
109
+ @op = args[:op] if args.key?(:op)
110
+ @svc = args[:svc] if args.key?(:svc)
111
+ end
112
+ end
113
+
114
+ # Options for counters
115
+ class CounterOptions
116
+ include Google::Apis::Core::Hashable
117
+
118
+ # The metric to update.
119
+ # Corresponds to the JSON property `metric`
120
+ # @return [String]
121
+ attr_accessor :metric
122
+
123
+ # The field value to attribute.
124
+ # Corresponds to the JSON property `field`
125
+ # @return [String]
126
+ attr_accessor :field
127
+
128
+ def initialize(**args)
129
+ update!(**args)
130
+ end
131
+
132
+ # Update properties of this object
133
+ def update!(**args)
134
+ @metric = args[:metric] if args.key?(:metric)
135
+ @field = args[:field] if args.key?(:field)
136
+ end
137
+ end
138
+
139
+ # Provides the configuration for logging a type of permissions.
140
+ # Example:
141
+ # `
142
+ # "audit_log_configs": [
143
+ # `
144
+ # "log_type": "DATA_READ",
145
+ # "exempted_members": [
146
+ # "user:foo@gmail.com"
147
+ # ]
148
+ # `,
149
+ # `
150
+ # "log_type": "DATA_WRITE",
151
+ # `
152
+ # ]
153
+ # `
154
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
155
+ # foo@gmail.com from DATA_READ logging.
156
+ class AuditLogConfig
157
+ include Google::Apis::Core::Hashable
158
+
159
+ # Specifies the identities that do not cause logging for this type of
160
+ # permission.
161
+ # Follows the same format of Binding.members.
162
+ # Corresponds to the JSON property `exemptedMembers`
163
+ # @return [Array<String>]
164
+ attr_accessor :exempted_members
165
+
166
+ # The log type that this config enables.
167
+ # Corresponds to the JSON property `logType`
168
+ # @return [String]
169
+ attr_accessor :log_type
170
+
171
+ def initialize(**args)
172
+ update!(**args)
173
+ end
174
+
175
+ # Update properties of this object
176
+ def update!(**args)
177
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
178
+ @log_type = args[:log_type] if args.key?(:log_type)
179
+ end
180
+ end
181
+
182
+ # A rule to be applied in a Policy.
183
+ class Rule
184
+ include Google::Apis::Core::Hashable
185
+
186
+ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
187
+ # that match the LOG action.
188
+ # Corresponds to the JSON property `logConfig`
189
+ # @return [Array<Google::Apis::SourcerepoV1::LogConfig>]
190
+ attr_accessor :log_config
191
+
192
+ # If one or more 'in' clauses are specified, the rule matches if
193
+ # the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.
194
+ # Corresponds to the JSON property `in`
195
+ # @return [Array<String>]
196
+ attr_accessor :in
197
+
198
+ # A permission is a string of form '<service>.<resource type>.<verb>'
199
+ # (e.g., 'storage.buckets.list'). A value of '*' matches all permissions,
200
+ # and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.
201
+ # Corresponds to the JSON property `permissions`
202
+ # @return [Array<String>]
203
+ attr_accessor :permissions
204
+
205
+ # Required
206
+ # Corresponds to the JSON property `action`
207
+ # @return [String]
208
+ attr_accessor :action
209
+
210
+ # If one or more 'not_in' clauses are specified, the rule matches
211
+ # if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
212
+ # The format for in and not_in entries is the same as for members in a
213
+ # Binding (see google/iam/v1/policy.proto).
214
+ # Corresponds to the JSON property `notIn`
215
+ # @return [Array<String>]
216
+ attr_accessor :not_in
217
+
218
+ # Human-readable description of the rule.
219
+ # Corresponds to the JSON property `description`
220
+ # @return [String]
221
+ attr_accessor :description
222
+
223
+ # Additional restrictions that must be met
224
+ # Corresponds to the JSON property `conditions`
225
+ # @return [Array<Google::Apis::SourcerepoV1::Condition>]
226
+ attr_accessor :conditions
227
+
228
+ def initialize(**args)
229
+ update!(**args)
230
+ end
231
+
232
+ # Update properties of this object
233
+ def update!(**args)
234
+ @log_config = args[:log_config] if args.key?(:log_config)
235
+ @in = args[:in] if args.key?(:in)
236
+ @permissions = args[:permissions] if args.key?(:permissions)
237
+ @action = args[:action] if args.key?(:action)
238
+ @not_in = args[:not_in] if args.key?(:not_in)
239
+ @description = args[:description] if args.key?(:description)
240
+ @conditions = args[:conditions] if args.key?(:conditions)
241
+ end
242
+ end
243
+
244
+ # Specifies what kind of log the caller must write
245
+ class LogConfig
246
+ include Google::Apis::Core::Hashable
247
+
248
+ # Write a Data Access (Gin) log
249
+ # Corresponds to the JSON property `dataAccess`
250
+ # @return [Google::Apis::SourcerepoV1::DataAccessOptions]
251
+ attr_accessor :data_access
252
+
253
+ # Write a Cloud Audit log
254
+ # Corresponds to the JSON property `cloudAudit`
255
+ # @return [Google::Apis::SourcerepoV1::CloudAuditOptions]
256
+ attr_accessor :cloud_audit
257
+
258
+ # Options for counters
259
+ # Corresponds to the JSON property `counter`
260
+ # @return [Google::Apis::SourcerepoV1::CounterOptions]
261
+ attr_accessor :counter
262
+
263
+ def initialize(**args)
264
+ update!(**args)
265
+ end
266
+
267
+ # Update properties of this object
268
+ def update!(**args)
269
+ @data_access = args[:data_access] if args.key?(:data_access)
270
+ @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit)
271
+ @counter = args[:counter] if args.key?(:counter)
272
+ end
273
+ end
274
+
275
+ # Request message for `TestIamPermissions` method.
276
+ class TestIamPermissionsRequest
277
+ include Google::Apis::Core::Hashable
278
+
279
+ # The set of permissions to check for the `resource`. Permissions with
280
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
281
+ # information see
282
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
283
+ # Corresponds to the JSON property `permissions`
284
+ # @return [Array<String>]
285
+ attr_accessor :permissions
286
+
287
+ def initialize(**args)
288
+ update!(**args)
289
+ end
290
+
291
+ # Update properties of this object
292
+ def update!(**args)
293
+ @permissions = args[:permissions] if args.key?(:permissions)
294
+ end
295
+ end
296
+
297
+ # Defines an Identity and Access Management (IAM) policy. It is used to
298
+ # specify access control policies for Cloud Platform resources.
299
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
300
+ # `members` to a `role`, where the members can be user accounts, Google groups,
301
+ # Google domains, and service accounts. A `role` is a named list of permissions
302
+ # defined by IAM.
303
+ # **Example**
304
+ # `
305
+ # "bindings": [
306
+ # `
307
+ # "role": "roles/owner",
308
+ # "members": [
309
+ # "user:mike@example.com",
310
+ # "group:admins@example.com",
311
+ # "domain:google.com",
312
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
313
+ # ]
314
+ # `,
315
+ # `
316
+ # "role": "roles/viewer",
317
+ # "members": ["user:sean@example.com"]
318
+ # `
319
+ # ]
320
+ # `
321
+ # For a description of IAM and its features, see the
322
+ # [IAM developer's guide](https://cloud.google.com/iam).
323
+ class Policy
324
+ include Google::Apis::Core::Hashable
325
+
326
+ # `etag` is used for optimistic concurrency control as a way to help
327
+ # prevent simultaneous updates of a policy from overwriting each other.
328
+ # It is strongly suggested that systems make use of the `etag` in the
329
+ # read-modify-write cycle to perform policy updates in order to avoid race
330
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
331
+ # systems are expected to put that etag in the request to `setIamPolicy` to
332
+ # ensure that their change will be applied to the same version of the policy.
333
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
334
+ # policy is overwritten blindly.
335
+ # Corresponds to the JSON property `etag`
336
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
337
+ # @return [String]
338
+ attr_accessor :etag
339
+
340
+ #
341
+ # Corresponds to the JSON property `iamOwned`
342
+ # @return [Boolean]
343
+ attr_accessor :iam_owned
344
+ alias_method :iam_owned?, :iam_owned
345
+
346
+ # If more than one rule is specified, the rules are applied in the following
347
+ # manner:
348
+ # - All matching LOG rules are always applied.
349
+ # - If any DENY/DENY_WITH_LOG rule matches, permission is denied.
350
+ # Logging will be applied if one or more matching rule requires logging.
351
+ # - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is
352
+ # granted.
353
+ # Logging will be applied if one or more matching rule requires logging.
354
+ # - Otherwise, if no rule applies, permission is denied.
355
+ # Corresponds to the JSON property `rules`
356
+ # @return [Array<Google::Apis::SourcerepoV1::Rule>]
357
+ attr_accessor :rules
358
+
359
+ # Version of the `Policy`. The default version is 0.
360
+ # Corresponds to the JSON property `version`
361
+ # @return [Fixnum]
362
+ attr_accessor :version
363
+
364
+ # Specifies cloud audit logging configuration for this policy.
365
+ # Corresponds to the JSON property `auditConfigs`
366
+ # @return [Array<Google::Apis::SourcerepoV1::AuditConfig>]
367
+ attr_accessor :audit_configs
368
+
369
+ # Associates a list of `members` to a `role`.
370
+ # Multiple `bindings` must not be specified for the same `role`.
371
+ # `bindings` with no members will result in an error.
372
+ # Corresponds to the JSON property `bindings`
373
+ # @return [Array<Google::Apis::SourcerepoV1::Binding>]
374
+ attr_accessor :bindings
375
+
376
+ def initialize(**args)
377
+ update!(**args)
378
+ end
379
+
380
+ # Update properties of this object
381
+ def update!(**args)
382
+ @etag = args[:etag] if args.key?(:etag)
383
+ @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
384
+ @rules = args[:rules] if args.key?(:rules)
385
+ @version = args[:version] if args.key?(:version)
386
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
387
+ @bindings = args[:bindings] if args.key?(:bindings)
388
+ end
389
+ end
390
+
391
+ # Write a Data Access (Gin) log
392
+ class DataAccessOptions
393
+ include Google::Apis::Core::Hashable
394
+
395
+ def initialize(**args)
396
+ update!(**args)
397
+ end
398
+
399
+ # Update properties of this object
400
+ def update!(**args)
401
+ end
402
+ end
403
+
404
+ # Specifies the audit configuration for a service.
405
+ # The configuration determines which permission types are logged, and what
406
+ # identities, if any, are exempted from logging.
407
+ # An AuditConifg must have one or more AuditLogConfigs.
408
+ # If there are AuditConfigs for both `allServices` and a specific service,
409
+ # the union of the two AuditConfigs is used for that service: the log_types
410
+ # specified in each AuditConfig are enabled, and the exempted_members in each
411
+ # AuditConfig are exempted.
412
+ # Example Policy with multiple AuditConfigs:
413
+ # `
414
+ # "audit_configs": [
415
+ # `
416
+ # "service": "allServices"
417
+ # "audit_log_configs": [
418
+ # `
419
+ # "log_type": "DATA_READ",
420
+ # "exempted_members": [
421
+ # "user:foo@gmail.com"
422
+ # ]
423
+ # `,
424
+ # `
425
+ # "log_type": "DATA_WRITE",
426
+ # `,
427
+ # `
428
+ # "log_type": "ADMIN_READ",
429
+ # `
430
+ # ]
431
+ # `,
432
+ # `
433
+ # "service": "fooservice@googleapis.com"
434
+ # "audit_log_configs": [
435
+ # `
436
+ # "log_type": "DATA_READ",
437
+ # `,
438
+ # `
439
+ # "log_type": "DATA_WRITE",
440
+ # "exempted_members": [
441
+ # "user:bar@gmail.com"
442
+ # ]
443
+ # `
444
+ # ]
445
+ # `
446
+ # ]
447
+ # `
448
+ # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
449
+ # logging. It also exempts foo@gmail.com from DATA_READ logging, and
450
+ # bar@gmail.com from DATA_WRITE logging.
451
+ class AuditConfig
452
+ include Google::Apis::Core::Hashable
453
+
454
+ # The configuration for logging of each type of permission.
455
+ # Next ID: 4
456
+ # Corresponds to the JSON property `auditLogConfigs`
457
+ # @return [Array<Google::Apis::SourcerepoV1::AuditLogConfig>]
458
+ attr_accessor :audit_log_configs
459
+
460
+ #
461
+ # Corresponds to the JSON property `exemptedMembers`
462
+ # @return [Array<String>]
463
+ attr_accessor :exempted_members
464
+
465
+ # Specifies a service that will be enabled for audit logging.
466
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
467
+ # `allServices` is a special value that covers all services.
468
+ # Corresponds to the JSON property `service`
469
+ # @return [String]
470
+ attr_accessor :service
471
+
472
+ def initialize(**args)
473
+ update!(**args)
474
+ end
475
+
476
+ # Update properties of this object
477
+ def update!(**args)
478
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
479
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
480
+ @service = args[:service] if args.key?(:service)
481
+ end
482
+ end
483
+
484
+ # Request message for `SetIamPolicy` method.
485
+ class SetIamPolicyRequest
486
+ include Google::Apis::Core::Hashable
487
+
488
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
489
+ # the fields in the mask will be modified. If no mask is provided, the
490
+ # following default mask is used:
491
+ # paths: "bindings, etag"
492
+ # This field is only used by Cloud IAM.
493
+ # Corresponds to the JSON property `updateMask`
494
+ # @return [String]
495
+ attr_accessor :update_mask
496
+
497
+ # Defines an Identity and Access Management (IAM) policy. It is used to
498
+ # specify access control policies for Cloud Platform resources.
499
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
500
+ # `members` to a `role`, where the members can be user accounts, Google groups,
501
+ # Google domains, and service accounts. A `role` is a named list of permissions
502
+ # defined by IAM.
503
+ # **Example**
504
+ # `
505
+ # "bindings": [
506
+ # `
507
+ # "role": "roles/owner",
508
+ # "members": [
509
+ # "user:mike@example.com",
510
+ # "group:admins@example.com",
511
+ # "domain:google.com",
512
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
513
+ # ]
514
+ # `,
515
+ # `
516
+ # "role": "roles/viewer",
517
+ # "members": ["user:sean@example.com"]
518
+ # `
519
+ # ]
520
+ # `
521
+ # For a description of IAM and its features, see the
522
+ # [IAM developer's guide](https://cloud.google.com/iam).
523
+ # Corresponds to the JSON property `policy`
524
+ # @return [Google::Apis::SourcerepoV1::Policy]
525
+ attr_accessor :policy
526
+
527
+ def initialize(**args)
528
+ update!(**args)
529
+ end
530
+
531
+ # Update properties of this object
532
+ def update!(**args)
533
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
534
+ @policy = args[:policy] if args.key?(:policy)
535
+ end
536
+ end
537
+
538
+ # Write a Cloud Audit log
539
+ class CloudAuditOptions
540
+ include Google::Apis::Core::Hashable
541
+
542
+ def initialize(**args)
543
+ update!(**args)
544
+ end
545
+
546
+ # Update properties of this object
547
+ def update!(**args)
548
+ end
549
+ end
550
+
551
+ # Associates `members` with a `role`.
552
+ class Binding
553
+ include Google::Apis::Core::Hashable
554
+
555
+ # Specifies the identities requesting access for a Cloud Platform resource.
556
+ # `members` can have the following values:
557
+ # * `allUsers`: A special identifier that represents anyone who is
558
+ # on the internet; with or without a Google account.
559
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
560
+ # who is authenticated with a Google account or a service account.
561
+ # * `user:`emailid``: An email address that represents a specific Google
562
+ # account. For example, `alice@gmail.com` or `joe@example.com`.
563
+ # * `serviceAccount:`emailid``: An email address that represents a service
564
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
565
+ # * `group:`emailid``: An email address that represents a Google group.
566
+ # For example, `admins@example.com`.
567
+ # * `domain:`domain``: A Google Apps domain name that represents all the
568
+ # users of that domain. For example, `google.com` or `example.com`.
569
+ # Corresponds to the JSON property `members`
570
+ # @return [Array<String>]
571
+ attr_accessor :members
572
+
573
+ # Role that is assigned to `members`.
574
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
575
+ # Required
576
+ # Corresponds to the JSON property `role`
577
+ # @return [String]
578
+ attr_accessor :role
579
+
580
+ def initialize(**args)
581
+ update!(**args)
582
+ end
583
+
584
+ # Update properties of this object
585
+ def update!(**args)
586
+ @members = args[:members] if args.key?(:members)
587
+ @role = args[:role] if args.key?(:role)
588
+ end
589
+ end
590
+
591
+ # A generic empty message that you can re-use to avoid defining duplicated
592
+ # empty messages in your APIs. A typical example is to use it as the request
593
+ # or the response type of an API method. For instance:
594
+ # service Foo `
595
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
596
+ # `
597
+ # The JSON representation for `Empty` is empty JSON object ````.
598
+ class Empty
599
+ include Google::Apis::Core::Hashable
600
+
601
+ def initialize(**args)
602
+ update!(**args)
603
+ end
604
+
605
+ # Update properties of this object
606
+ def update!(**args)
607
+ end
608
+ end
609
+
610
+ # Configuration to automatically mirror a repository from another
611
+ # hosting service, for example GitHub or BitBucket.
612
+ class MirrorConfig
613
+ include Google::Apis::Core::Hashable
614
+
615
+ # URL of the main repository at the other hosting service.
616
+ # Corresponds to the JSON property `url`
617
+ # @return [String]
618
+ attr_accessor :url
619
+
620
+ # ID of the webhook listening to updates to trigger mirroring.
621
+ # Removing this webook from the other hosting service will stop
622
+ # Google Cloud Source Repositories from receiving notifications,
623
+ # and thereby disabling mirroring.
624
+ # Corresponds to the JSON property `webhookId`
625
+ # @return [String]
626
+ attr_accessor :webhook_id
627
+
628
+ # ID of the SSH deploy key at the other hosting service.
629
+ # Removing this key from the other service would deauthorize
630
+ # Google Cloud Source Repositories from mirroring.
631
+ # Corresponds to the JSON property `deployKeyId`
632
+ # @return [String]
633
+ attr_accessor :deploy_key_id
634
+
635
+ def initialize(**args)
636
+ update!(**args)
637
+ end
638
+
639
+ # Update properties of this object
640
+ def update!(**args)
641
+ @url = args[:url] if args.key?(:url)
642
+ @webhook_id = args[:webhook_id] if args.key?(:webhook_id)
643
+ @deploy_key_id = args[:deploy_key_id] if args.key?(:deploy_key_id)
644
+ end
645
+ end
646
+
647
+ # A repository (or repo) is a Git repository storing versioned source content.
648
+ class Repo
649
+ include Google::Apis::Core::Hashable
650
+
651
+ # URL to clone the repository from Google Cloud Source Repositories.
652
+ # Corresponds to the JSON property `url`
653
+ # @return [String]
654
+ attr_accessor :url
655
+
656
+ # The size in bytes of the repo.
657
+ # Corresponds to the JSON property `size`
658
+ # @return [String]
659
+ attr_accessor :size
660
+
661
+ # Resource name of the repository, of the form
662
+ # `projects/<project>/repos/<repo>`.
663
+ # Corresponds to the JSON property `name`
664
+ # @return [String]
665
+ attr_accessor :name
666
+
667
+ # Configuration to automatically mirror a repository from another
668
+ # hosting service, for example GitHub or BitBucket.
669
+ # Corresponds to the JSON property `mirrorConfig`
670
+ # @return [Google::Apis::SourcerepoV1::MirrorConfig]
671
+ attr_accessor :mirror_config
672
+
673
+ def initialize(**args)
674
+ update!(**args)
675
+ end
676
+
677
+ # Update properties of this object
678
+ def update!(**args)
679
+ @url = args[:url] if args.key?(:url)
680
+ @size = args[:size] if args.key?(:size)
681
+ @name = args[:name] if args.key?(:name)
682
+ @mirror_config = args[:mirror_config] if args.key?(:mirror_config)
683
+ end
684
+ end
685
+ end
686
+ end
687
+ end