google-api-client 0.10.2 → 0.10.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +25 -0
- data/MIGRATING.md +22 -7
- data/README.md +4 -8
- data/api_names.yaml +1210 -37815
- data/generated/google/apis/acceleratedmobilepageurl_v1.rb +32 -0
- data/generated/google/apis/acceleratedmobilepageurl_v1/classes.rb +144 -0
- data/generated/google/apis/acceleratedmobilepageurl_v1/representations.rb +86 -0
- data/generated/google/apis/acceleratedmobilepageurl_v1/service.rb +90 -0
- data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
- data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +764 -764
- data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +180 -180
- data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +421 -421
- data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +1 -0
- data/generated/google/apis/admin_directory_v1/classes.rb +1 -0
- data/generated/google/apis/admin_reports_v1.rb +1 -1
- data/generated/google/apis/adsense_v1_4.rb +1 -1
- data/generated/google/apis/adsensehost_v4_1.rb +1 -1
- data/generated/google/apis/analyticsreporting_v4/classes.rb +187 -187
- data/generated/google/apis/analyticsreporting_v4/representations.rb +42 -42
- data/generated/google/apis/appengine_v1.rb +40 -0
- data/generated/google/apis/appengine_v1/classes.rb +2251 -0
- data/generated/google/apis/appengine_v1/representations.rb +858 -0
- data/generated/google/apis/appengine_v1/service.rb +894 -0
- data/generated/google/apis/bigquery_v2.rb +1 -1
- data/generated/google/apis/bigquery_v2/classes.rb +11 -6
- data/generated/google/apis/books_v1.rb +1 -1
- data/generated/google/apis/books_v1/classes.rb +26 -0
- data/generated/google/apis/books_v1/representations.rb +15 -0
- data/generated/google/apis/books_v1/service.rb +4 -1
- data/generated/google/apis/calendar_v3.rb +1 -1
- data/generated/google/apis/classroom_v1.rb +1 -1
- data/generated/google/apis/cloudbuild_v1.rb +1 -1
- data/generated/google/apis/cloudbuild_v1/classes.rb +638 -637
- data/generated/google/apis/cloudbuild_v1/representations.rb +110 -110
- data/generated/google/apis/cloudbuild_v1/service.rb +139 -139
- data/generated/google/apis/clouddebugger_v2.rb +3 -3
- data/generated/google/apis/clouddebugger_v2/classes.rb +131 -131
- data/generated/google/apis/clouddebugger_v2/representations.rb +25 -25
- data/generated/google/apis/clouderrorreporting_v1beta1.rb +36 -0
- data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +590 -0
- data/generated/google/apis/clouderrorreporting_v1beta1/representations.rb +252 -0
- data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +350 -0
- data/generated/google/apis/cloudfunctions_v1.rb +35 -0
- data/generated/google/apis/cloudfunctions_v1/classes.rb +98 -0
- data/generated/google/apis/cloudfunctions_v1/representations.rb +57 -0
- data/generated/google/apis/cloudfunctions_v1/service.rb +89 -0
- data/generated/google/apis/cloudkms_v1/classes.rb +277 -270
- data/generated/google/apis/cloudkms_v1/representations.rb +73 -73
- data/generated/google/apis/cloudkms_v1/service.rb +194 -194
- data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1147 -1144
- data/generated/google/apis/cloudresourcemanager_v1/representations.rb +188 -188
- data/generated/google/apis/cloudresourcemanager_v1/service.rb +513 -936
- data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
- data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +307 -916
- data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +63 -285
- data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +333 -681
- data/generated/google/apis/cloudtrace_v1/classes.rb +38 -38
- data/generated/google/apis/cloudtrace_v1/representations.rb +13 -13
- data/generated/google/apis/cloudtrace_v1/service.rb +16 -16
- data/generated/google/apis/compute_beta.rb +1 -1
- data/generated/google/apis/compute_beta/classes.rb +32 -7
- data/generated/google/apis/compute_beta/representations.rb +2 -0
- data/generated/google/apis/compute_beta/service.rb +11 -11
- data/generated/google/apis/compute_v1.rb +1 -1
- data/generated/google/apis/compute_v1/classes.rb +95 -2
- data/generated/google/apis/compute_v1/representations.rb +33 -0
- data/generated/google/apis/dataflow_v1b3/classes.rb +3333 -3333
- data/generated/google/apis/dataflow_v1b3/representations.rb +759 -759
- data/generated/google/apis/dataflow_v1b3/service.rb +154 -154
- data/generated/google/apis/dataproc_v1.rb +1 -1
- data/generated/google/apis/dataproc_v1/classes.rb +1097 -1097
- data/generated/google/apis/dataproc_v1/representations.rb +200 -200
- data/generated/google/apis/dataproc_v1/service.rb +356 -356
- data/generated/google/apis/datastore_v1.rb +4 -4
- data/generated/google/apis/datastore_v1/classes.rb +701 -690
- data/generated/google/apis/datastore_v1/representations.rb +160 -160
- data/generated/google/apis/datastore_v1/service.rb +52 -52
- data/generated/google/apis/deploymentmanager_v2/classes.rb +4 -0
- data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
- data/generated/google/apis/drive_v2.rb +1 -1
- data/generated/google/apis/drive_v2/classes.rb +158 -35
- data/generated/google/apis/drive_v2/representations.rb +39 -0
- data/generated/google/apis/drive_v2/service.rb +4 -4
- data/generated/google/apis/drive_v3.rb +1 -1
- data/generated/google/apis/drive_v3/classes.rb +162 -33
- data/generated/google/apis/drive_v3/representations.rb +39 -0
- data/generated/google/apis/drive_v3/service.rb +4 -4
- data/generated/google/apis/firebasedynamiclinks_v1.rb +35 -0
- data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +466 -0
- data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +222 -0
- data/generated/google/apis/firebasedynamiclinks_v1/service.rb +95 -0
- data/generated/google/apis/firebaserules_v1.rb +41 -0
- data/generated/google/apis/firebaserules_v1/classes.rb +425 -0
- data/generated/google/apis/firebaserules_v1/representations.rb +222 -0
- data/generated/google/apis/firebaserules_v1/service.rb +495 -0
- data/generated/google/apis/games_v1/classes.rb +4 -0
- data/generated/google/apis/genomics_v1.rb +7 -7
- data/generated/google/apis/genomics_v1/classes.rb +2336 -2335
- data/generated/google/apis/genomics_v1/representations.rb +387 -387
- data/generated/google/apis/genomics_v1/service.rb +1187 -1187
- data/generated/google/apis/gmail_v1/classes.rb +3 -0
- data/generated/google/apis/iam_v1.rb +1 -1
- data/generated/google/apis/iam_v1/classes.rb +123 -117
- data/generated/google/apis/iam_v1/representations.rb +33 -33
- data/generated/google/apis/iam_v1/service.rb +109 -109
- data/generated/google/apis/identitytoolkit_v3/classes.rb +5 -0
- data/generated/google/apis/kgsearch_v1/classes.rb +6 -6
- data/generated/google/apis/kgsearch_v1/representations.rb +1 -1
- data/generated/google/apis/kgsearch_v1/service.rb +4 -4
- data/generated/google/apis/language_v1.rb +36 -0
- data/generated/google/apis/language_v1/classes.rb +757 -0
- data/generated/google/apis/language_v1/representations.rb +338 -0
- data/generated/google/apis/language_v1/service.rb +185 -0
- data/generated/google/apis/language_v1beta1/classes.rb +407 -407
- data/generated/google/apis/language_v1beta1/representations.rb +103 -103
- data/generated/google/apis/language_v1beta1/service.rb +45 -45
- data/generated/google/apis/logging_v2.rb +46 -0
- data/generated/google/apis/logging_v2/classes.rb +1271 -0
- data/generated/google/apis/logging_v2/representations.rb +421 -0
- data/generated/google/apis/logging_v2/service.rb +1569 -0
- data/generated/google/apis/logging_v2beta1.rb +1 -1
- data/generated/google/apis/logging_v2beta1/classes.rb +886 -886
- data/generated/google/apis/logging_v2beta1/representations.rb +132 -132
- data/generated/google/apis/logging_v2beta1/service.rb +235 -235
- data/generated/google/apis/manufacturers_v1/classes.rb +147 -147
- data/generated/google/apis/manufacturers_v1/representations.rb +29 -29
- data/generated/google/apis/ml_v1.rb +34 -0
- data/generated/google/apis/ml_v1/classes.rb +1617 -0
- data/generated/google/apis/ml_v1/representations.rb +498 -0
- data/generated/google/apis/ml_v1/service.rb +769 -0
- data/generated/google/apis/monitoring_v3.rb +4 -4
- data/generated/google/apis/monitoring_v3/classes.rb +630 -630
- data/generated/google/apis/monitoring_v3/representations.rb +134 -134
- data/generated/google/apis/monitoring_v3/service.rb +240 -240
- data/generated/google/apis/pagespeedonline_v2/classes.rb +1 -0
- data/generated/google/apis/partners_v2.rb +1 -1
- data/generated/google/apis/partners_v2/classes.rb +639 -639
- data/generated/google/apis/partners_v2/representations.rb +168 -168
- data/generated/google/apis/partners_v2/service.rb +381 -381
- data/generated/google/apis/people_v1.rb +10 -10
- data/generated/google/apis/people_v1/classes.rb +524 -524
- data/generated/google/apis/people_v1/representations.rb +143 -143
- data/generated/google/apis/people_v1/service.rb +30 -30
- data/generated/google/apis/plus_domains_v1.rb +1 -1
- data/generated/google/apis/plus_v1.rb +1 -1
- data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +454 -444
- data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +90 -90
- data/generated/google/apis/proximitybeacon_v1beta1/service.rb +110 -110
- data/generated/google/apis/pubsub_v1/classes.rb +175 -173
- data/generated/google/apis/pubsub_v1/representations.rb +53 -53
- data/generated/google/apis/pubsub_v1/service.rb +210 -210
- data/generated/google/apis/replicapool_v1beta2/classes.rb +2 -0
- data/generated/google/apis/runtimeconfig_v1.rb +38 -0
- data/generated/google/apis/runtimeconfig_v1/classes.rb +252 -0
- data/generated/google/apis/runtimeconfig_v1/representations.rb +98 -0
- data/generated/google/apis/runtimeconfig_v1/service.rb +176 -0
- data/generated/google/apis/script_v1.rb +1 -1
- data/generated/google/apis/script_v1/classes.rb +6 -6
- data/generated/google/apis/script_v1/representations.rb +1 -1
- data/generated/google/apis/searchconsole_v1.rb +31 -0
- data/generated/google/apis/searchconsole_v1/classes.rb +205 -0
- data/generated/google/apis/searchconsole_v1/representations.rb +129 -0
- data/generated/google/apis/searchconsole_v1/service.rb +88 -0
- data/generated/google/apis/servicecontrol_v1.rb +38 -0
- data/generated/google/apis/servicecontrol_v1/classes.rb +1675 -0
- data/generated/google/apis/servicecontrol_v1/representations.rb +601 -0
- data/generated/google/apis/servicecontrol_v1/service.rb +337 -0
- data/generated/google/apis/servicemanagement_v1.rb +45 -0
- data/generated/google/apis/servicemanagement_v1/classes.rb +4934 -0
- data/generated/google/apis/servicemanagement_v1/representations.rb +1526 -0
- data/generated/google/apis/servicemanagement_v1/service.rb +860 -0
- data/generated/google/apis/serviceuser_v1.rb +42 -0
- data/generated/google/apis/serviceuser_v1/classes.rb +3746 -0
- data/generated/google/apis/serviceuser_v1/representations.rb +1041 -0
- data/generated/google/apis/serviceuser_v1/service.rb +214 -0
- data/generated/google/apis/sheets_v4.rb +3 -3
- data/generated/google/apis/sheets_v4/classes.rb +4390 -4390
- data/generated/google/apis/sheets_v4/representations.rb +381 -381
- data/generated/google/apis/sheets_v4/service.rb +48 -48
- data/generated/google/apis/slides_v1.rb +3 -3
- data/generated/google/apis/slides_v1/classes.rb +2860 -2860
- data/generated/google/apis/slides_v1/representations.rb +693 -693
- data/generated/google/apis/slides_v1/service.rb +30 -30
- data/generated/google/apis/sourcerepo_v1.rb +34 -0
- data/generated/google/apis/sourcerepo_v1/classes.rb +687 -0
- data/generated/google/apis/sourcerepo_v1/representations.rb +285 -0
- data/generated/google/apis/sourcerepo_v1/service.rb +291 -0
- data/generated/google/apis/spanner_v1.rb +35 -0
- data/generated/google/apis/spanner_v1/classes.rb +3294 -0
- data/generated/google/apis/spanner_v1/representations.rb +984 -0
- data/generated/google/apis/spanner_v1/service.rb +1504 -0
- data/generated/google/apis/speech_v1beta1.rb +1 -1
- data/generated/google/apis/speech_v1beta1/classes.rb +197 -196
- data/generated/google/apis/speech_v1beta1/representations.rb +53 -53
- data/generated/google/apis/speech_v1beta1/service.rb +27 -27
- data/generated/google/apis/storage_v1.rb +1 -1
- data/generated/google/apis/storage_v1/classes.rb +131 -0
- data/generated/google/apis/storage_v1/representations.rb +51 -0
- data/generated/google/apis/storage_v1/service.rb +182 -0
- data/generated/google/apis/storagetransfer_v1.rb +1 -1
- data/generated/google/apis/storagetransfer_v1/classes.rb +732 -661
- data/generated/google/apis/storagetransfer_v1/representations.rb +132 -132
- data/generated/google/apis/storagetransfer_v1/service.rb +174 -197
- data/generated/google/apis/surveys_v2.rb +40 -0
- data/generated/google/apis/surveys_v2/classes.rb +806 -0
- data/generated/google/apis/surveys_v2/representations.rb +347 -0
- data/generated/google/apis/surveys_v2/service.rb +477 -0
- data/generated/google/apis/tagmanager_v2.rb +52 -0
- data/generated/google/apis/tagmanager_v2/classes.rb +2435 -0
- data/generated/google/apis/tagmanager_v2/representations.rb +993 -0
- data/generated/google/apis/tagmanager_v2/service.rb +2865 -0
- data/generated/google/apis/toolresults_v1beta3.rb +34 -0
- data/generated/google/apis/toolresults_v1beta3/classes.rb +2160 -0
- data/generated/google/apis/toolresults_v1beta3/representations.rb +729 -0
- data/generated/google/apis/toolresults_v1beta3/service.rb +1236 -0
- data/generated/google/apis/tracing_v1.rb +40 -0
- data/generated/google/apis/tracing_v1/classes.rb +664 -0
- data/generated/google/apis/tracing_v1/representations.rb +279 -0
- data/generated/google/apis/tracing_v1/service.rb +225 -0
- data/generated/google/apis/vision_v1.rb +1 -1
- data/generated/google/apis/vision_v1/classes.rb +1223 -1222
- data/generated/google/apis/vision_v1/representations.rb +234 -234
- data/generated/google/apis/vision_v1/service.rb +10 -10
- data/generated/google/apis/webfonts_v1.rb +33 -0
- data/generated/google/apis/webfonts_v1/classes.rb +113 -0
- data/generated/google/apis/webfonts_v1/representations.rb +62 -0
- data/generated/google/apis/webfonts_v1/service.rb +102 -0
- data/generated/google/apis/youtube_analytics_v1.rb +1 -1
- data/generated/google/apis/youtube_partner_v1.rb +1 -1
- data/generated/google/apis/youtube_partner_v1/classes.rb +31 -0
- data/generated/google/apis/youtube_partner_v1/representations.rb +6 -0
- data/generated/google/apis/youtube_partner_v1/service.rb +41 -0
- data/generated/google/apis/youtube_v3/classes.rb +1 -0
- data/generated/google/apis/youtubereporting_v1.rb +4 -4
- data/generated/google/apis/youtubereporting_v1/classes.rb +76 -76
- data/generated/google/apis/youtubereporting_v1/representations.rb +25 -25
- data/generated/google/apis/youtubereporting_v1/service.rb +95 -95
- data/lib/google/apis/generator/annotator.rb +5 -4
- data/lib/google/apis/generator/templates/_class.tmpl +3 -0
- data/lib/google/apis/version.rb +1 -1
- data/samples/cli/lib/samples/adsense.rb +99 -0
- data/samples/cli/lib/samples/analytics.rb +18 -0
- data/samples/cli/lib/samples/gmail.rb +33 -0
- data/samples/cli/lib/samples/vision.rb +69 -0
- metadata +89 -4
- data/sync.rb +0 -71
@@ -0,0 +1,285 @@
|
|
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
|
+
class TestIamPermissionsResponse
|
26
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
27
|
+
|
28
|
+
include Google::Apis::Core::JsonObjectSupport
|
29
|
+
end
|
30
|
+
|
31
|
+
class ListReposResponse
|
32
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
33
|
+
|
34
|
+
include Google::Apis::Core::JsonObjectSupport
|
35
|
+
end
|
36
|
+
|
37
|
+
class Condition
|
38
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
39
|
+
|
40
|
+
include Google::Apis::Core::JsonObjectSupport
|
41
|
+
end
|
42
|
+
|
43
|
+
class CounterOptions
|
44
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
45
|
+
|
46
|
+
include Google::Apis::Core::JsonObjectSupport
|
47
|
+
end
|
48
|
+
|
49
|
+
class AuditLogConfig
|
50
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
51
|
+
|
52
|
+
include Google::Apis::Core::JsonObjectSupport
|
53
|
+
end
|
54
|
+
|
55
|
+
class Rule
|
56
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
57
|
+
|
58
|
+
include Google::Apis::Core::JsonObjectSupport
|
59
|
+
end
|
60
|
+
|
61
|
+
class LogConfig
|
62
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
63
|
+
|
64
|
+
include Google::Apis::Core::JsonObjectSupport
|
65
|
+
end
|
66
|
+
|
67
|
+
class TestIamPermissionsRequest
|
68
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
69
|
+
|
70
|
+
include Google::Apis::Core::JsonObjectSupport
|
71
|
+
end
|
72
|
+
|
73
|
+
class Policy
|
74
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
75
|
+
|
76
|
+
include Google::Apis::Core::JsonObjectSupport
|
77
|
+
end
|
78
|
+
|
79
|
+
class DataAccessOptions
|
80
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
81
|
+
|
82
|
+
include Google::Apis::Core::JsonObjectSupport
|
83
|
+
end
|
84
|
+
|
85
|
+
class AuditConfig
|
86
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
87
|
+
|
88
|
+
include Google::Apis::Core::JsonObjectSupport
|
89
|
+
end
|
90
|
+
|
91
|
+
class SetIamPolicyRequest
|
92
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
93
|
+
|
94
|
+
include Google::Apis::Core::JsonObjectSupport
|
95
|
+
end
|
96
|
+
|
97
|
+
class CloudAuditOptions
|
98
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
99
|
+
|
100
|
+
include Google::Apis::Core::JsonObjectSupport
|
101
|
+
end
|
102
|
+
|
103
|
+
class Binding
|
104
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
105
|
+
|
106
|
+
include Google::Apis::Core::JsonObjectSupport
|
107
|
+
end
|
108
|
+
|
109
|
+
class Empty
|
110
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
111
|
+
|
112
|
+
include Google::Apis::Core::JsonObjectSupport
|
113
|
+
end
|
114
|
+
|
115
|
+
class MirrorConfig
|
116
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
117
|
+
|
118
|
+
include Google::Apis::Core::JsonObjectSupport
|
119
|
+
end
|
120
|
+
|
121
|
+
class Repo
|
122
|
+
class Representation < Google::Apis::Core::JsonRepresentation; end
|
123
|
+
|
124
|
+
include Google::Apis::Core::JsonObjectSupport
|
125
|
+
end
|
126
|
+
|
127
|
+
class TestIamPermissionsResponse
|
128
|
+
# @private
|
129
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
130
|
+
collection :permissions, as: 'permissions'
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
class ListReposResponse
|
135
|
+
# @private
|
136
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
137
|
+
collection :repos, as: 'repos', class: Google::Apis::SourcerepoV1::Repo, decorator: Google::Apis::SourcerepoV1::Repo::Representation
|
138
|
+
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
class Condition
|
143
|
+
# @private
|
144
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
145
|
+
property :sys, as: 'sys'
|
146
|
+
property :value, as: 'value'
|
147
|
+
property :iam, as: 'iam'
|
148
|
+
collection :values, as: 'values'
|
149
|
+
property :op, as: 'op'
|
150
|
+
property :svc, as: 'svc'
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
class CounterOptions
|
155
|
+
# @private
|
156
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
157
|
+
property :metric, as: 'metric'
|
158
|
+
property :field, as: 'field'
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
class AuditLogConfig
|
163
|
+
# @private
|
164
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
165
|
+
collection :exempted_members, as: 'exemptedMembers'
|
166
|
+
property :log_type, as: 'logType'
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
170
|
+
class Rule
|
171
|
+
# @private
|
172
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
173
|
+
collection :log_config, as: 'logConfig', class: Google::Apis::SourcerepoV1::LogConfig, decorator: Google::Apis::SourcerepoV1::LogConfig::Representation
|
174
|
+
|
175
|
+
collection :in, as: 'in'
|
176
|
+
collection :permissions, as: 'permissions'
|
177
|
+
property :action, as: 'action'
|
178
|
+
collection :not_in, as: 'notIn'
|
179
|
+
property :description, as: 'description'
|
180
|
+
collection :conditions, as: 'conditions', class: Google::Apis::SourcerepoV1::Condition, decorator: Google::Apis::SourcerepoV1::Condition::Representation
|
181
|
+
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
185
|
+
class LogConfig
|
186
|
+
# @private
|
187
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
188
|
+
property :data_access, as: 'dataAccess', class: Google::Apis::SourcerepoV1::DataAccessOptions, decorator: Google::Apis::SourcerepoV1::DataAccessOptions::Representation
|
189
|
+
|
190
|
+
property :cloud_audit, as: 'cloudAudit', class: Google::Apis::SourcerepoV1::CloudAuditOptions, decorator: Google::Apis::SourcerepoV1::CloudAuditOptions::Representation
|
191
|
+
|
192
|
+
property :counter, as: 'counter', class: Google::Apis::SourcerepoV1::CounterOptions, decorator: Google::Apis::SourcerepoV1::CounterOptions::Representation
|
193
|
+
|
194
|
+
end
|
195
|
+
end
|
196
|
+
|
197
|
+
class TestIamPermissionsRequest
|
198
|
+
# @private
|
199
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
200
|
+
collection :permissions, as: 'permissions'
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
204
|
+
class Policy
|
205
|
+
# @private
|
206
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
207
|
+
property :etag, :base64 => true, as: 'etag'
|
208
|
+
property :iam_owned, as: 'iamOwned'
|
209
|
+
collection :rules, as: 'rules', class: Google::Apis::SourcerepoV1::Rule, decorator: Google::Apis::SourcerepoV1::Rule::Representation
|
210
|
+
|
211
|
+
property :version, as: 'version'
|
212
|
+
collection :audit_configs, as: 'auditConfigs', class: Google::Apis::SourcerepoV1::AuditConfig, decorator: Google::Apis::SourcerepoV1::AuditConfig::Representation
|
213
|
+
|
214
|
+
collection :bindings, as: 'bindings', class: Google::Apis::SourcerepoV1::Binding, decorator: Google::Apis::SourcerepoV1::Binding::Representation
|
215
|
+
|
216
|
+
end
|
217
|
+
end
|
218
|
+
|
219
|
+
class DataAccessOptions
|
220
|
+
# @private
|
221
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
222
|
+
end
|
223
|
+
end
|
224
|
+
|
225
|
+
class AuditConfig
|
226
|
+
# @private
|
227
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
228
|
+
collection :audit_log_configs, as: 'auditLogConfigs', class: Google::Apis::SourcerepoV1::AuditLogConfig, decorator: Google::Apis::SourcerepoV1::AuditLogConfig::Representation
|
229
|
+
|
230
|
+
collection :exempted_members, as: 'exemptedMembers'
|
231
|
+
property :service, as: 'service'
|
232
|
+
end
|
233
|
+
end
|
234
|
+
|
235
|
+
class SetIamPolicyRequest
|
236
|
+
# @private
|
237
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
238
|
+
property :update_mask, as: 'updateMask'
|
239
|
+
property :policy, as: 'policy', class: Google::Apis::SourcerepoV1::Policy, decorator: Google::Apis::SourcerepoV1::Policy::Representation
|
240
|
+
|
241
|
+
end
|
242
|
+
end
|
243
|
+
|
244
|
+
class CloudAuditOptions
|
245
|
+
# @private
|
246
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
250
|
+
class Binding
|
251
|
+
# @private
|
252
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
253
|
+
collection :members, as: 'members'
|
254
|
+
property :role, as: 'role'
|
255
|
+
end
|
256
|
+
end
|
257
|
+
|
258
|
+
class Empty
|
259
|
+
# @private
|
260
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
261
|
+
end
|
262
|
+
end
|
263
|
+
|
264
|
+
class MirrorConfig
|
265
|
+
# @private
|
266
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
267
|
+
property :url, as: 'url'
|
268
|
+
property :webhook_id, as: 'webhookId'
|
269
|
+
property :deploy_key_id, as: 'deployKeyId'
|
270
|
+
end
|
271
|
+
end
|
272
|
+
|
273
|
+
class Repo
|
274
|
+
# @private
|
275
|
+
class Representation < Google::Apis::Core::JsonRepresentation
|
276
|
+
property :url, as: 'url'
|
277
|
+
property :size, as: 'size'
|
278
|
+
property :name, as: 'name'
|
279
|
+
property :mirror_config, as: 'mirrorConfig', class: Google::Apis::SourcerepoV1::MirrorConfig, decorator: Google::Apis::SourcerepoV1::MirrorConfig::Representation
|
280
|
+
|
281
|
+
end
|
282
|
+
end
|
283
|
+
end
|
284
|
+
end
|
285
|
+
end
|
@@ -0,0 +1,291 @@
|
|
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 SourcerepoV1
|
23
|
+
# Cloud Source Repositories API
|
24
|
+
#
|
25
|
+
# Access source code repositories hosted by Google.
|
26
|
+
#
|
27
|
+
# @example
|
28
|
+
# require 'google/apis/sourcerepo_v1'
|
29
|
+
#
|
30
|
+
# Sourcerepo = Google::Apis::SourcerepoV1 # Alias the module
|
31
|
+
# service = Sourcerepo::CloudSourceRepositoriesService.new
|
32
|
+
#
|
33
|
+
# @see https://cloud.google.com/eap/cloud-repositories/cloud-sourcerepo-api
|
34
|
+
class CloudSourceRepositoriesService < Google::Apis::Core::BaseService
|
35
|
+
# @return [String]
|
36
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
37
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
38
|
+
attr_accessor :quota_user
|
39
|
+
|
40
|
+
# @return [String]
|
41
|
+
# API key. Your API key identifies your project and provides you with API access,
|
42
|
+
# quota, and reports. Required unless you provide an OAuth 2.0 token.
|
43
|
+
attr_accessor :key
|
44
|
+
|
45
|
+
def initialize
|
46
|
+
super('https://sourcerepo.googleapis.com/', '')
|
47
|
+
end
|
48
|
+
|
49
|
+
# Creates a repo in the given project with the given name..
|
50
|
+
# If the named repository already exists, `CreateRepo` returns
|
51
|
+
# `ALREADY_EXISTS`.
|
52
|
+
# @param [String] parent
|
53
|
+
# The project in which to create the repo. Values are of the form
|
54
|
+
# `projects/<project>`.
|
55
|
+
# @param [Google::Apis::SourcerepoV1::Repo] repo_object
|
56
|
+
# @param [String] quota_user
|
57
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
58
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
59
|
+
# @param [String] fields
|
60
|
+
# Selector specifying which fields to include in a partial response.
|
61
|
+
# @param [Google::Apis::RequestOptions] options
|
62
|
+
# Request-specific options
|
63
|
+
#
|
64
|
+
# @yield [result, err] Result & error if block supplied
|
65
|
+
# @yieldparam result [Google::Apis::SourcerepoV1::Repo] parsed result object
|
66
|
+
# @yieldparam err [StandardError] error object if request failed
|
67
|
+
#
|
68
|
+
# @return [Google::Apis::SourcerepoV1::Repo]
|
69
|
+
#
|
70
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
71
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
72
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
73
|
+
def create_project_repo(parent, repo_object = nil, quota_user: nil, fields: nil, options: nil, &block)
|
74
|
+
command = make_simple_command(:post, 'v1/{+parent}/repos', options)
|
75
|
+
command.request_representation = Google::Apis::SourcerepoV1::Repo::Representation
|
76
|
+
command.request_object = repo_object
|
77
|
+
command.response_representation = Google::Apis::SourcerepoV1::Repo::Representation
|
78
|
+
command.response_class = Google::Apis::SourcerepoV1::Repo
|
79
|
+
command.params['parent'] = parent unless parent.nil?
|
80
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
81
|
+
command.query['fields'] = fields unless fields.nil?
|
82
|
+
execute_or_queue_command(command, &block)
|
83
|
+
end
|
84
|
+
|
85
|
+
# Sets the access control policy on the specified resource. Replaces any
|
86
|
+
# existing policy.
|
87
|
+
# @param [String] resource
|
88
|
+
# REQUIRED: The resource for which the policy is being specified.
|
89
|
+
# See the operation documentation for the appropriate value for this field.
|
90
|
+
# @param [Google::Apis::SourcerepoV1::SetIamPolicyRequest] set_iam_policy_request_object
|
91
|
+
# @param [String] quota_user
|
92
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
93
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
94
|
+
# @param [String] fields
|
95
|
+
# Selector specifying which fields to include in a partial response.
|
96
|
+
# @param [Google::Apis::RequestOptions] options
|
97
|
+
# Request-specific options
|
98
|
+
#
|
99
|
+
# @yield [result, err] Result & error if block supplied
|
100
|
+
# @yieldparam result [Google::Apis::SourcerepoV1::Policy] parsed result object
|
101
|
+
# @yieldparam err [StandardError] error object if request failed
|
102
|
+
#
|
103
|
+
# @return [Google::Apis::SourcerepoV1::Policy]
|
104
|
+
#
|
105
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
106
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
107
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
108
|
+
def set_repo_iam_policy(resource, set_iam_policy_request_object = nil, quota_user: nil, fields: nil, options: nil, &block)
|
109
|
+
command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options)
|
110
|
+
command.request_representation = Google::Apis::SourcerepoV1::SetIamPolicyRequest::Representation
|
111
|
+
command.request_object = set_iam_policy_request_object
|
112
|
+
command.response_representation = Google::Apis::SourcerepoV1::Policy::Representation
|
113
|
+
command.response_class = Google::Apis::SourcerepoV1::Policy
|
114
|
+
command.params['resource'] = resource unless resource.nil?
|
115
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
116
|
+
command.query['fields'] = fields unless fields.nil?
|
117
|
+
execute_or_queue_command(command, &block)
|
118
|
+
end
|
119
|
+
|
120
|
+
# Gets the access control policy for a resource.
|
121
|
+
# Returns an empty policy if the resource exists and does not have a policy
|
122
|
+
# set.
|
123
|
+
# @param [String] resource
|
124
|
+
# REQUIRED: The resource for which the policy is being requested.
|
125
|
+
# See the operation documentation for the appropriate value for this field.
|
126
|
+
# @param [String] quota_user
|
127
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
128
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
129
|
+
# @param [String] fields
|
130
|
+
# Selector specifying which fields to include in a partial response.
|
131
|
+
# @param [Google::Apis::RequestOptions] options
|
132
|
+
# Request-specific options
|
133
|
+
#
|
134
|
+
# @yield [result, err] Result & error if block supplied
|
135
|
+
# @yieldparam result [Google::Apis::SourcerepoV1::Policy] parsed result object
|
136
|
+
# @yieldparam err [StandardError] error object if request failed
|
137
|
+
#
|
138
|
+
# @return [Google::Apis::SourcerepoV1::Policy]
|
139
|
+
#
|
140
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
141
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
142
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
143
|
+
def get_project_repo_iam_policy(resource, quota_user: nil, fields: nil, options: nil, &block)
|
144
|
+
command = make_simple_command(:get, 'v1/{+resource}:getIamPolicy', options)
|
145
|
+
command.response_representation = Google::Apis::SourcerepoV1::Policy::Representation
|
146
|
+
command.response_class = Google::Apis::SourcerepoV1::Policy
|
147
|
+
command.params['resource'] = resource unless resource.nil?
|
148
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
149
|
+
command.query['fields'] = fields unless fields.nil?
|
150
|
+
execute_or_queue_command(command, &block)
|
151
|
+
end
|
152
|
+
|
153
|
+
# Returns information about a repo.
|
154
|
+
# @param [String] name
|
155
|
+
# The name of the requested repository. Values are of the form
|
156
|
+
# `projects/<project>/repos/<repo>`.
|
157
|
+
# @param [String] quota_user
|
158
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
159
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
160
|
+
# @param [String] fields
|
161
|
+
# Selector specifying which fields to include in a partial response.
|
162
|
+
# @param [Google::Apis::RequestOptions] options
|
163
|
+
# Request-specific options
|
164
|
+
#
|
165
|
+
# @yield [result, err] Result & error if block supplied
|
166
|
+
# @yieldparam result [Google::Apis::SourcerepoV1::Repo] parsed result object
|
167
|
+
# @yieldparam err [StandardError] error object if request failed
|
168
|
+
#
|
169
|
+
# @return [Google::Apis::SourcerepoV1::Repo]
|
170
|
+
#
|
171
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
172
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
173
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
174
|
+
def get_project_repo(name, quota_user: nil, fields: nil, options: nil, &block)
|
175
|
+
command = make_simple_command(:get, 'v1/{+name}', options)
|
176
|
+
command.response_representation = Google::Apis::SourcerepoV1::Repo::Representation
|
177
|
+
command.response_class = Google::Apis::SourcerepoV1::Repo
|
178
|
+
command.params['name'] = name unless name.nil?
|
179
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
180
|
+
command.query['fields'] = fields unless fields.nil?
|
181
|
+
execute_or_queue_command(command, &block)
|
182
|
+
end
|
183
|
+
|
184
|
+
# Returns permissions that a caller has on the specified resource.
|
185
|
+
# If the resource does not exist, this will return an empty set of
|
186
|
+
# permissions, not a NOT_FOUND error.
|
187
|
+
# @param [String] resource
|
188
|
+
# REQUIRED: The resource for which the policy detail is being requested.
|
189
|
+
# See the operation documentation for the appropriate value for this field.
|
190
|
+
# @param [Google::Apis::SourcerepoV1::TestIamPermissionsRequest] test_iam_permissions_request_object
|
191
|
+
# @param [String] quota_user
|
192
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
193
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
194
|
+
# @param [String] fields
|
195
|
+
# Selector specifying which fields to include in a partial response.
|
196
|
+
# @param [Google::Apis::RequestOptions] options
|
197
|
+
# Request-specific options
|
198
|
+
#
|
199
|
+
# @yield [result, err] Result & error if block supplied
|
200
|
+
# @yieldparam result [Google::Apis::SourcerepoV1::TestIamPermissionsResponse] parsed result object
|
201
|
+
# @yieldparam err [StandardError] error object if request failed
|
202
|
+
#
|
203
|
+
# @return [Google::Apis::SourcerepoV1::TestIamPermissionsResponse]
|
204
|
+
#
|
205
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
206
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
207
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
208
|
+
def test_repo_iam_permissions(resource, test_iam_permissions_request_object = nil, quota_user: nil, fields: nil, options: nil, &block)
|
209
|
+
command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
|
210
|
+
command.request_representation = Google::Apis::SourcerepoV1::TestIamPermissionsRequest::Representation
|
211
|
+
command.request_object = test_iam_permissions_request_object
|
212
|
+
command.response_representation = Google::Apis::SourcerepoV1::TestIamPermissionsResponse::Representation
|
213
|
+
command.response_class = Google::Apis::SourcerepoV1::TestIamPermissionsResponse
|
214
|
+
command.params['resource'] = resource unless resource.nil?
|
215
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
216
|
+
command.query['fields'] = fields unless fields.nil?
|
217
|
+
execute_or_queue_command(command, &block)
|
218
|
+
end
|
219
|
+
|
220
|
+
# Deletes a repo.
|
221
|
+
# @param [String] name
|
222
|
+
# The name of the repo to delete. Values are of the form
|
223
|
+
# `projects/<project>/repos/<repo>`.
|
224
|
+
# @param [String] quota_user
|
225
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
226
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
227
|
+
# @param [String] fields
|
228
|
+
# Selector specifying which fields to include in a partial response.
|
229
|
+
# @param [Google::Apis::RequestOptions] options
|
230
|
+
# Request-specific options
|
231
|
+
#
|
232
|
+
# @yield [result, err] Result & error if block supplied
|
233
|
+
# @yieldparam result [Google::Apis::SourcerepoV1::Empty] parsed result object
|
234
|
+
# @yieldparam err [StandardError] error object if request failed
|
235
|
+
#
|
236
|
+
# @return [Google::Apis::SourcerepoV1::Empty]
|
237
|
+
#
|
238
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
239
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
240
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
241
|
+
def delete_project_repo(name, quota_user: nil, fields: nil, options: nil, &block)
|
242
|
+
command = make_simple_command(:delete, 'v1/{+name}', options)
|
243
|
+
command.response_representation = Google::Apis::SourcerepoV1::Empty::Representation
|
244
|
+
command.response_class = Google::Apis::SourcerepoV1::Empty
|
245
|
+
command.params['name'] = name unless name.nil?
|
246
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
247
|
+
command.query['fields'] = fields unless fields.nil?
|
248
|
+
execute_or_queue_command(command, &block)
|
249
|
+
end
|
250
|
+
|
251
|
+
# Returns all repos belonging to a project.
|
252
|
+
# @param [String] name
|
253
|
+
# The project ID whose repos should be listed. Values are of the form
|
254
|
+
# `projects/<project>`.
|
255
|
+
# @param [String] quota_user
|
256
|
+
# Available to use for quota purposes for server-side applications. Can be any
|
257
|
+
# arbitrary string assigned to a user, but should not exceed 40 characters.
|
258
|
+
# @param [String] fields
|
259
|
+
# Selector specifying which fields to include in a partial response.
|
260
|
+
# @param [Google::Apis::RequestOptions] options
|
261
|
+
# Request-specific options
|
262
|
+
#
|
263
|
+
# @yield [result, err] Result & error if block supplied
|
264
|
+
# @yieldparam result [Google::Apis::SourcerepoV1::ListReposResponse] parsed result object
|
265
|
+
# @yieldparam err [StandardError] error object if request failed
|
266
|
+
#
|
267
|
+
# @return [Google::Apis::SourcerepoV1::ListReposResponse]
|
268
|
+
#
|
269
|
+
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
|
270
|
+
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
|
271
|
+
# @raise [Google::Apis::AuthorizationError] Authorization is required
|
272
|
+
def list_project_repos(name, quota_user: nil, fields: nil, options: nil, &block)
|
273
|
+
command = make_simple_command(:get, 'v1/{+name}/repos', options)
|
274
|
+
command.response_representation = Google::Apis::SourcerepoV1::ListReposResponse::Representation
|
275
|
+
command.response_class = Google::Apis::SourcerepoV1::ListReposResponse
|
276
|
+
command.params['name'] = name unless name.nil?
|
277
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
278
|
+
command.query['fields'] = fields unless fields.nil?
|
279
|
+
execute_or_queue_command(command, &block)
|
280
|
+
end
|
281
|
+
|
282
|
+
protected
|
283
|
+
|
284
|
+
def apply_command_defaults(command)
|
285
|
+
command.query['quotaUser'] = quota_user unless quota_user.nil?
|
286
|
+
command.query['key'] = key unless key.nil?
|
287
|
+
end
|
288
|
+
end
|
289
|
+
end
|
290
|
+
end
|
291
|
+
end
|