google-apis-websecurityscanner_v1alpha 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,28 @@
1
+ # Copyright 2020 Google LLC
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
+ module Google
16
+ module Apis
17
+ module WebsecurityscannerV1alpha
18
+ # Version of the google-apis-websecurityscanner_v1alpha gem
19
+ GEM_VERSION = "0.1.0"
20
+
21
+ # Version of the code generator used to generate this client
22
+ GENERATOR_VERSION = "0.1.1"
23
+
24
+ # Revision of the discovery document this client was generated from
25
+ REVISION = "20200826"
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,388 @@
1
+ # Copyright 2020 Google LLC
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 WebsecurityscannerV1alpha
24
+
25
+ class Authentication
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
29
+ end
30
+
31
+ class CrawledUrl
32
+ class Representation < Google::Apis::Core::JsonRepresentation; end
33
+
34
+ include Google::Apis::Core::JsonObjectSupport
35
+ end
36
+
37
+ class CustomAccount
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
41
+ end
42
+
43
+ class Empty
44
+ class Representation < Google::Apis::Core::JsonRepresentation; end
45
+
46
+ include Google::Apis::Core::JsonObjectSupport
47
+ end
48
+
49
+ class Finding
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
53
+ end
54
+
55
+ class FindingTypeStats
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
61
+ class GoogleAccount
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+
64
+ include Google::Apis::Core::JsonObjectSupport
65
+ end
66
+
67
+ class Header
68
+ class Representation < Google::Apis::Core::JsonRepresentation; end
69
+
70
+ include Google::Apis::Core::JsonObjectSupport
71
+ end
72
+
73
+ class ListCrawledUrlsResponse
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+
76
+ include Google::Apis::Core::JsonObjectSupport
77
+ end
78
+
79
+ class ListFindingTypeStatsResponse
80
+ class Representation < Google::Apis::Core::JsonRepresentation; end
81
+
82
+ include Google::Apis::Core::JsonObjectSupport
83
+ end
84
+
85
+ class ListFindingsResponse
86
+ class Representation < Google::Apis::Core::JsonRepresentation; end
87
+
88
+ include Google::Apis::Core::JsonObjectSupport
89
+ end
90
+
91
+ class ListScanConfigsResponse
92
+ class Representation < Google::Apis::Core::JsonRepresentation; end
93
+
94
+ include Google::Apis::Core::JsonObjectSupport
95
+ end
96
+
97
+ class ListScanRunsResponse
98
+ class Representation < Google::Apis::Core::JsonRepresentation; end
99
+
100
+ include Google::Apis::Core::JsonObjectSupport
101
+ end
102
+
103
+ class OutdatedLibrary
104
+ class Representation < Google::Apis::Core::JsonRepresentation; end
105
+
106
+ include Google::Apis::Core::JsonObjectSupport
107
+ end
108
+
109
+ class ScanConfig
110
+ class Representation < Google::Apis::Core::JsonRepresentation; end
111
+
112
+ include Google::Apis::Core::JsonObjectSupport
113
+ end
114
+
115
+ class ScanRun
116
+ class Representation < Google::Apis::Core::JsonRepresentation; end
117
+
118
+ include Google::Apis::Core::JsonObjectSupport
119
+ end
120
+
121
+ class Schedule
122
+ class Representation < Google::Apis::Core::JsonRepresentation; end
123
+
124
+ include Google::Apis::Core::JsonObjectSupport
125
+ end
126
+
127
+ class StartScanRunRequest
128
+ class Representation < Google::Apis::Core::JsonRepresentation; end
129
+
130
+ include Google::Apis::Core::JsonObjectSupport
131
+ end
132
+
133
+ class StopScanRunRequest
134
+ class Representation < Google::Apis::Core::JsonRepresentation; end
135
+
136
+ include Google::Apis::Core::JsonObjectSupport
137
+ end
138
+
139
+ class ViolatingResource
140
+ class Representation < Google::Apis::Core::JsonRepresentation; end
141
+
142
+ include Google::Apis::Core::JsonObjectSupport
143
+ end
144
+
145
+ class VulnerableHeaders
146
+ class Representation < Google::Apis::Core::JsonRepresentation; end
147
+
148
+ include Google::Apis::Core::JsonObjectSupport
149
+ end
150
+
151
+ class VulnerableParameters
152
+ class Representation < Google::Apis::Core::JsonRepresentation; end
153
+
154
+ include Google::Apis::Core::JsonObjectSupport
155
+ end
156
+
157
+ class Xss
158
+ class Representation < Google::Apis::Core::JsonRepresentation; end
159
+
160
+ include Google::Apis::Core::JsonObjectSupport
161
+ end
162
+
163
+ class Authentication
164
+ # @private
165
+ class Representation < Google::Apis::Core::JsonRepresentation
166
+ property :custom_account, as: 'customAccount', class: Google::Apis::WebsecurityscannerV1alpha::CustomAccount, decorator: Google::Apis::WebsecurityscannerV1alpha::CustomAccount::Representation
167
+
168
+ property :google_account, as: 'googleAccount', class: Google::Apis::WebsecurityscannerV1alpha::GoogleAccount, decorator: Google::Apis::WebsecurityscannerV1alpha::GoogleAccount::Representation
169
+
170
+ end
171
+ end
172
+
173
+ class CrawledUrl
174
+ # @private
175
+ class Representation < Google::Apis::Core::JsonRepresentation
176
+ property :body, as: 'body'
177
+ property :http_method, as: 'httpMethod'
178
+ property :url, as: 'url'
179
+ end
180
+ end
181
+
182
+ class CustomAccount
183
+ # @private
184
+ class Representation < Google::Apis::Core::JsonRepresentation
185
+ property :login_url, as: 'loginUrl'
186
+ property :password, as: 'password'
187
+ property :username, as: 'username'
188
+ end
189
+ end
190
+
191
+ class Empty
192
+ # @private
193
+ class Representation < Google::Apis::Core::JsonRepresentation
194
+ end
195
+ end
196
+
197
+ class Finding
198
+ # @private
199
+ class Representation < Google::Apis::Core::JsonRepresentation
200
+ property :body, as: 'body'
201
+ property :description, as: 'description'
202
+ property :final_url, as: 'finalUrl'
203
+ property :finding_type, as: 'findingType'
204
+ property :frame_url, as: 'frameUrl'
205
+ property :fuzzed_url, as: 'fuzzedUrl'
206
+ property :http_method, as: 'httpMethod'
207
+ property :name, as: 'name'
208
+ property :outdated_library, as: 'outdatedLibrary', class: Google::Apis::WebsecurityscannerV1alpha::OutdatedLibrary, decorator: Google::Apis::WebsecurityscannerV1alpha::OutdatedLibrary::Representation
209
+
210
+ property :reproduction_url, as: 'reproductionUrl'
211
+ property :tracking_id, as: 'trackingId'
212
+ property :violating_resource, as: 'violatingResource', class: Google::Apis::WebsecurityscannerV1alpha::ViolatingResource, decorator: Google::Apis::WebsecurityscannerV1alpha::ViolatingResource::Representation
213
+
214
+ property :vulnerable_headers, as: 'vulnerableHeaders', class: Google::Apis::WebsecurityscannerV1alpha::VulnerableHeaders, decorator: Google::Apis::WebsecurityscannerV1alpha::VulnerableHeaders::Representation
215
+
216
+ property :vulnerable_parameters, as: 'vulnerableParameters', class: Google::Apis::WebsecurityscannerV1alpha::VulnerableParameters, decorator: Google::Apis::WebsecurityscannerV1alpha::VulnerableParameters::Representation
217
+
218
+ property :xss, as: 'xss', class: Google::Apis::WebsecurityscannerV1alpha::Xss, decorator: Google::Apis::WebsecurityscannerV1alpha::Xss::Representation
219
+
220
+ end
221
+ end
222
+
223
+ class FindingTypeStats
224
+ # @private
225
+ class Representation < Google::Apis::Core::JsonRepresentation
226
+ property :finding_count, as: 'findingCount'
227
+ property :finding_type, as: 'findingType'
228
+ end
229
+ end
230
+
231
+ class GoogleAccount
232
+ # @private
233
+ class Representation < Google::Apis::Core::JsonRepresentation
234
+ property :password, as: 'password'
235
+ property :username, as: 'username'
236
+ end
237
+ end
238
+
239
+ class Header
240
+ # @private
241
+ class Representation < Google::Apis::Core::JsonRepresentation
242
+ property :name, as: 'name'
243
+ property :value, as: 'value'
244
+ end
245
+ end
246
+
247
+ class ListCrawledUrlsResponse
248
+ # @private
249
+ class Representation < Google::Apis::Core::JsonRepresentation
250
+ collection :crawled_urls, as: 'crawledUrls', class: Google::Apis::WebsecurityscannerV1alpha::CrawledUrl, decorator: Google::Apis::WebsecurityscannerV1alpha::CrawledUrl::Representation
251
+
252
+ property :next_page_token, as: 'nextPageToken'
253
+ end
254
+ end
255
+
256
+ class ListFindingTypeStatsResponse
257
+ # @private
258
+ class Representation < Google::Apis::Core::JsonRepresentation
259
+ collection :finding_type_stats, as: 'findingTypeStats', class: Google::Apis::WebsecurityscannerV1alpha::FindingTypeStats, decorator: Google::Apis::WebsecurityscannerV1alpha::FindingTypeStats::Representation
260
+
261
+ end
262
+ end
263
+
264
+ class ListFindingsResponse
265
+ # @private
266
+ class Representation < Google::Apis::Core::JsonRepresentation
267
+ collection :findings, as: 'findings', class: Google::Apis::WebsecurityscannerV1alpha::Finding, decorator: Google::Apis::WebsecurityscannerV1alpha::Finding::Representation
268
+
269
+ property :next_page_token, as: 'nextPageToken'
270
+ end
271
+ end
272
+
273
+ class ListScanConfigsResponse
274
+ # @private
275
+ class Representation < Google::Apis::Core::JsonRepresentation
276
+ property :next_page_token, as: 'nextPageToken'
277
+ collection :scan_configs, as: 'scanConfigs', class: Google::Apis::WebsecurityscannerV1alpha::ScanConfig, decorator: Google::Apis::WebsecurityscannerV1alpha::ScanConfig::Representation
278
+
279
+ end
280
+ end
281
+
282
+ class ListScanRunsResponse
283
+ # @private
284
+ class Representation < Google::Apis::Core::JsonRepresentation
285
+ property :next_page_token, as: 'nextPageToken'
286
+ collection :scan_runs, as: 'scanRuns', class: Google::Apis::WebsecurityscannerV1alpha::ScanRun, decorator: Google::Apis::WebsecurityscannerV1alpha::ScanRun::Representation
287
+
288
+ end
289
+ end
290
+
291
+ class OutdatedLibrary
292
+ # @private
293
+ class Representation < Google::Apis::Core::JsonRepresentation
294
+ collection :learn_more_urls, as: 'learnMoreUrls'
295
+ property :library_name, as: 'libraryName'
296
+ property :version, as: 'version'
297
+ end
298
+ end
299
+
300
+ class ScanConfig
301
+ # @private
302
+ class Representation < Google::Apis::Core::JsonRepresentation
303
+ property :authentication, as: 'authentication', class: Google::Apis::WebsecurityscannerV1alpha::Authentication, decorator: Google::Apis::WebsecurityscannerV1alpha::Authentication::Representation
304
+
305
+ collection :blacklist_patterns, as: 'blacklistPatterns'
306
+ property :display_name, as: 'displayName'
307
+ property :latest_run, as: 'latestRun', class: Google::Apis::WebsecurityscannerV1alpha::ScanRun, decorator: Google::Apis::WebsecurityscannerV1alpha::ScanRun::Representation
308
+
309
+ property :max_qps, as: 'maxQps'
310
+ property :name, as: 'name'
311
+ property :schedule, as: 'schedule', class: Google::Apis::WebsecurityscannerV1alpha::Schedule, decorator: Google::Apis::WebsecurityscannerV1alpha::Schedule::Representation
312
+
313
+ collection :starting_urls, as: 'startingUrls'
314
+ collection :target_platforms, as: 'targetPlatforms'
315
+ property :user_agent, as: 'userAgent'
316
+ end
317
+ end
318
+
319
+ class ScanRun
320
+ # @private
321
+ class Representation < Google::Apis::Core::JsonRepresentation
322
+ property :end_time, as: 'endTime'
323
+ property :execution_state, as: 'executionState'
324
+ property :has_vulnerabilities, as: 'hasVulnerabilities'
325
+ property :name, as: 'name'
326
+ property :progress_percent, as: 'progressPercent'
327
+ property :result_state, as: 'resultState'
328
+ property :start_time, as: 'startTime'
329
+ property :urls_crawled_count, :numeric_string => true, as: 'urlsCrawledCount'
330
+ property :urls_tested_count, :numeric_string => true, as: 'urlsTestedCount'
331
+ end
332
+ end
333
+
334
+ class Schedule
335
+ # @private
336
+ class Representation < Google::Apis::Core::JsonRepresentation
337
+ property :interval_duration_days, as: 'intervalDurationDays'
338
+ property :schedule_time, as: 'scheduleTime'
339
+ end
340
+ end
341
+
342
+ class StartScanRunRequest
343
+ # @private
344
+ class Representation < Google::Apis::Core::JsonRepresentation
345
+ end
346
+ end
347
+
348
+ class StopScanRunRequest
349
+ # @private
350
+ class Representation < Google::Apis::Core::JsonRepresentation
351
+ end
352
+ end
353
+
354
+ class ViolatingResource
355
+ # @private
356
+ class Representation < Google::Apis::Core::JsonRepresentation
357
+ property :content_type, as: 'contentType'
358
+ property :resource_url, as: 'resourceUrl'
359
+ end
360
+ end
361
+
362
+ class VulnerableHeaders
363
+ # @private
364
+ class Representation < Google::Apis::Core::JsonRepresentation
365
+ collection :headers, as: 'headers', class: Google::Apis::WebsecurityscannerV1alpha::Header, decorator: Google::Apis::WebsecurityscannerV1alpha::Header::Representation
366
+
367
+ collection :missing_headers, as: 'missingHeaders', class: Google::Apis::WebsecurityscannerV1alpha::Header, decorator: Google::Apis::WebsecurityscannerV1alpha::Header::Representation
368
+
369
+ end
370
+ end
371
+
372
+ class VulnerableParameters
373
+ # @private
374
+ class Representation < Google::Apis::Core::JsonRepresentation
375
+ collection :parameter_names, as: 'parameterNames'
376
+ end
377
+ end
378
+
379
+ class Xss
380
+ # @private
381
+ class Representation < Google::Apis::Core::JsonRepresentation
382
+ property :error_message, as: 'errorMessage'
383
+ collection :stack_traces, as: 'stackTraces'
384
+ end
385
+ end
386
+ end
387
+ end
388
+ end
@@ -0,0 +1,529 @@
1
+ # Copyright 2020 Google LLC
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 WebsecurityscannerV1alpha
23
+ # Web Security Scanner API
24
+ #
25
+ # Scans your Compute and App Engine apps for common web vulnerabilities.
26
+ #
27
+ # @example
28
+ # require 'google/apis/websecurityscanner_v1alpha'
29
+ #
30
+ # Websecurityscanner = Google::Apis::WebsecurityscannerV1alpha # Alias the module
31
+ # service = Websecurityscanner::WebSecurityScannerService.new
32
+ #
33
+ # @see https://cloud.google.com/security-command-center/docs/concepts-web-security-scanner-overview/
34
+ class WebSecurityScannerService < Google::Apis::Core::BaseService
35
+ # @return [String]
36
+ # API key. Your API key identifies your project and provides you with API access,
37
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
38
+ attr_accessor :key
39
+
40
+ # @return [String]
41
+ # Available to use for quota purposes for server-side applications. Can be any
42
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
43
+ attr_accessor :quota_user
44
+
45
+ def initialize
46
+ super('https://websecurityscanner.googleapis.com/', '',
47
+ client_name: 'google-apis-websecurityscanner_v1alpha',
48
+ client_version: Google::Apis::WebsecurityscannerV1alpha::GEM_VERSION)
49
+ @batch_path = 'batch'
50
+ end
51
+
52
+ # Creates a new ScanConfig.
53
+ # @param [String] parent
54
+ # Required. The parent resource name where the scan is created, which should be
55
+ # a project resource name in the format 'projects/`projectId`'.
56
+ # @param [Google::Apis::WebsecurityscannerV1alpha::ScanConfig] scan_config_object
57
+ # @param [String] fields
58
+ # Selector specifying which fields to include in a partial response.
59
+ # @param [String] quota_user
60
+ # Available to use for quota purposes for server-side applications. Can be any
61
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
62
+ # @param [Google::Apis::RequestOptions] options
63
+ # Request-specific options
64
+ #
65
+ # @yield [result, err] Result & error if block supplied
66
+ # @yieldparam result [Google::Apis::WebsecurityscannerV1alpha::ScanConfig] parsed result object
67
+ # @yieldparam err [StandardError] error object if request failed
68
+ #
69
+ # @return [Google::Apis::WebsecurityscannerV1alpha::ScanConfig]
70
+ #
71
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
72
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
73
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
74
+ def create_project_scan_config(parent, scan_config_object = nil, fields: nil, quota_user: nil, options: nil, &block)
75
+ command = make_simple_command(:post, 'v1alpha/{+parent}/scanConfigs', options)
76
+ command.request_representation = Google::Apis::WebsecurityscannerV1alpha::ScanConfig::Representation
77
+ command.request_object = scan_config_object
78
+ command.response_representation = Google::Apis::WebsecurityscannerV1alpha::ScanConfig::Representation
79
+ command.response_class = Google::Apis::WebsecurityscannerV1alpha::ScanConfig
80
+ command.params['parent'] = parent unless parent.nil?
81
+ command.query['fields'] = fields unless fields.nil?
82
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
83
+ execute_or_queue_command(command, &block)
84
+ end
85
+
86
+ # Deletes an existing ScanConfig and its child resources.
87
+ # @param [String] name
88
+ # Required. The resource name of the ScanConfig to be deleted. The name follows
89
+ # the format of 'projects/`projectId`/scanConfigs/`scanConfigId`'.
90
+ # @param [String] fields
91
+ # Selector specifying which fields to include in a partial response.
92
+ # @param [String] quota_user
93
+ # Available to use for quota purposes for server-side applications. Can be any
94
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
95
+ # @param [Google::Apis::RequestOptions] options
96
+ # Request-specific options
97
+ #
98
+ # @yield [result, err] Result & error if block supplied
99
+ # @yieldparam result [Google::Apis::WebsecurityscannerV1alpha::Empty] parsed result object
100
+ # @yieldparam err [StandardError] error object if request failed
101
+ #
102
+ # @return [Google::Apis::WebsecurityscannerV1alpha::Empty]
103
+ #
104
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
105
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
106
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
107
+ def delete_project_scan_config(name, fields: nil, quota_user: nil, options: nil, &block)
108
+ command = make_simple_command(:delete, 'v1alpha/{+name}', options)
109
+ command.response_representation = Google::Apis::WebsecurityscannerV1alpha::Empty::Representation
110
+ command.response_class = Google::Apis::WebsecurityscannerV1alpha::Empty
111
+ command.params['name'] = name unless name.nil?
112
+ command.query['fields'] = fields unless fields.nil?
113
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
114
+ execute_or_queue_command(command, &block)
115
+ end
116
+
117
+ # Gets a ScanConfig.
118
+ # @param [String] name
119
+ # Required. The resource name of the ScanConfig to be returned. The name follows
120
+ # the format of 'projects/`projectId`/scanConfigs/`scanConfigId`'.
121
+ # @param [String] fields
122
+ # Selector specifying which fields to include in a partial response.
123
+ # @param [String] quota_user
124
+ # Available to use for quota purposes for server-side applications. Can be any
125
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
126
+ # @param [Google::Apis::RequestOptions] options
127
+ # Request-specific options
128
+ #
129
+ # @yield [result, err] Result & error if block supplied
130
+ # @yieldparam result [Google::Apis::WebsecurityscannerV1alpha::ScanConfig] parsed result object
131
+ # @yieldparam err [StandardError] error object if request failed
132
+ #
133
+ # @return [Google::Apis::WebsecurityscannerV1alpha::ScanConfig]
134
+ #
135
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
136
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
137
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
138
+ def get_project_scan_config(name, fields: nil, quota_user: nil, options: nil, &block)
139
+ command = make_simple_command(:get, 'v1alpha/{+name}', options)
140
+ command.response_representation = Google::Apis::WebsecurityscannerV1alpha::ScanConfig::Representation
141
+ command.response_class = Google::Apis::WebsecurityscannerV1alpha::ScanConfig
142
+ command.params['name'] = name unless name.nil?
143
+ command.query['fields'] = fields unless fields.nil?
144
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
145
+ execute_or_queue_command(command, &block)
146
+ end
147
+
148
+ # Lists ScanConfigs under a given project.
149
+ # @param [String] parent
150
+ # Required. The parent resource name, which should be a project resource name in
151
+ # the format 'projects/`projectId`'.
152
+ # @param [Fixnum] page_size
153
+ # The maximum number of ScanConfigs to return, can be limited by server. If not
154
+ # specified or not positive, the implementation will select a reasonable value.
155
+ # @param [String] page_token
156
+ # A token identifying a page of results to be returned. This should be a `
157
+ # next_page_token` value returned from a previous List request. If unspecified,
158
+ # the first page of results is returned.
159
+ # @param [String] fields
160
+ # Selector specifying which fields to include in a partial response.
161
+ # @param [String] quota_user
162
+ # Available to use for quota purposes for server-side applications. Can be any
163
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
164
+ # @param [Google::Apis::RequestOptions] options
165
+ # Request-specific options
166
+ #
167
+ # @yield [result, err] Result & error if block supplied
168
+ # @yieldparam result [Google::Apis::WebsecurityscannerV1alpha::ListScanConfigsResponse] parsed result object
169
+ # @yieldparam err [StandardError] error object if request failed
170
+ #
171
+ # @return [Google::Apis::WebsecurityscannerV1alpha::ListScanConfigsResponse]
172
+ #
173
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
174
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
175
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
176
+ def list_project_scan_configs(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
177
+ command = make_simple_command(:get, 'v1alpha/{+parent}/scanConfigs', options)
178
+ command.response_representation = Google::Apis::WebsecurityscannerV1alpha::ListScanConfigsResponse::Representation
179
+ command.response_class = Google::Apis::WebsecurityscannerV1alpha::ListScanConfigsResponse
180
+ command.params['parent'] = parent unless parent.nil?
181
+ command.query['pageSize'] = page_size unless page_size.nil?
182
+ command.query['pageToken'] = page_token unless page_token.nil?
183
+ command.query['fields'] = fields unless fields.nil?
184
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
185
+ execute_or_queue_command(command, &block)
186
+ end
187
+
188
+ # Updates a ScanConfig. This method support partial update of a ScanConfig.
189
+ # @param [String] name
190
+ # The resource name of the ScanConfig. The name follows the format of 'projects/`
191
+ # projectId`/scanConfigs/`scanConfigId`'. The ScanConfig IDs are generated by
192
+ # the system.
193
+ # @param [Google::Apis::WebsecurityscannerV1alpha::ScanConfig] scan_config_object
194
+ # @param [String] update_mask
195
+ # Required. The update mask applies to the resource. For the `FieldMask`
196
+ # definition, see https://developers.google.com/protocol-buffers/docs/reference/
197
+ # google.protobuf#fieldmask
198
+ # @param [String] fields
199
+ # Selector specifying which fields to include in a partial response.
200
+ # @param [String] quota_user
201
+ # Available to use for quota purposes for server-side applications. Can be any
202
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
203
+ # @param [Google::Apis::RequestOptions] options
204
+ # Request-specific options
205
+ #
206
+ # @yield [result, err] Result & error if block supplied
207
+ # @yieldparam result [Google::Apis::WebsecurityscannerV1alpha::ScanConfig] parsed result object
208
+ # @yieldparam err [StandardError] error object if request failed
209
+ #
210
+ # @return [Google::Apis::WebsecurityscannerV1alpha::ScanConfig]
211
+ #
212
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
213
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
214
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
215
+ def patch_project_scan_config(name, scan_config_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
216
+ command = make_simple_command(:patch, 'v1alpha/{+name}', options)
217
+ command.request_representation = Google::Apis::WebsecurityscannerV1alpha::ScanConfig::Representation
218
+ command.request_object = scan_config_object
219
+ command.response_representation = Google::Apis::WebsecurityscannerV1alpha::ScanConfig::Representation
220
+ command.response_class = Google::Apis::WebsecurityscannerV1alpha::ScanConfig
221
+ command.params['name'] = name unless name.nil?
222
+ command.query['updateMask'] = update_mask unless update_mask.nil?
223
+ command.query['fields'] = fields unless fields.nil?
224
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
225
+ execute_or_queue_command(command, &block)
226
+ end
227
+
228
+ # Start a ScanRun according to the given ScanConfig.
229
+ # @param [String] name
230
+ # Required. The resource name of the ScanConfig to be used. The name follows the
231
+ # format of 'projects/`projectId`/scanConfigs/`scanConfigId`'.
232
+ # @param [Google::Apis::WebsecurityscannerV1alpha::StartScanRunRequest] start_scan_run_request_object
233
+ # @param [String] fields
234
+ # Selector specifying which fields to include in a partial response.
235
+ # @param [String] quota_user
236
+ # Available to use for quota purposes for server-side applications. Can be any
237
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
238
+ # @param [Google::Apis::RequestOptions] options
239
+ # Request-specific options
240
+ #
241
+ # @yield [result, err] Result & error if block supplied
242
+ # @yieldparam result [Google::Apis::WebsecurityscannerV1alpha::ScanRun] parsed result object
243
+ # @yieldparam err [StandardError] error object if request failed
244
+ #
245
+ # @return [Google::Apis::WebsecurityscannerV1alpha::ScanRun]
246
+ #
247
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
248
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
249
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
250
+ def start_scan_config_scan_run(name, start_scan_run_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
251
+ command = make_simple_command(:post, 'v1alpha/{+name}:start', options)
252
+ command.request_representation = Google::Apis::WebsecurityscannerV1alpha::StartScanRunRequest::Representation
253
+ command.request_object = start_scan_run_request_object
254
+ command.response_representation = Google::Apis::WebsecurityscannerV1alpha::ScanRun::Representation
255
+ command.response_class = Google::Apis::WebsecurityscannerV1alpha::ScanRun
256
+ command.params['name'] = name unless name.nil?
257
+ command.query['fields'] = fields unless fields.nil?
258
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
259
+ execute_or_queue_command(command, &block)
260
+ end
261
+
262
+ # Gets a ScanRun.
263
+ # @param [String] name
264
+ # Required. The resource name of the ScanRun to be returned. The name follows
265
+ # the format of 'projects/`projectId`/scanConfigs/`scanConfigId`/scanRuns/`
266
+ # scanRunId`'.
267
+ # @param [String] fields
268
+ # Selector specifying which fields to include in a partial response.
269
+ # @param [String] quota_user
270
+ # Available to use for quota purposes for server-side applications. Can be any
271
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
272
+ # @param [Google::Apis::RequestOptions] options
273
+ # Request-specific options
274
+ #
275
+ # @yield [result, err] Result & error if block supplied
276
+ # @yieldparam result [Google::Apis::WebsecurityscannerV1alpha::ScanRun] parsed result object
277
+ # @yieldparam err [StandardError] error object if request failed
278
+ #
279
+ # @return [Google::Apis::WebsecurityscannerV1alpha::ScanRun]
280
+ #
281
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
282
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
283
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
284
+ def get_project_scan_config_scan_run(name, fields: nil, quota_user: nil, options: nil, &block)
285
+ command = make_simple_command(:get, 'v1alpha/{+name}', options)
286
+ command.response_representation = Google::Apis::WebsecurityscannerV1alpha::ScanRun::Representation
287
+ command.response_class = Google::Apis::WebsecurityscannerV1alpha::ScanRun
288
+ command.params['name'] = name unless name.nil?
289
+ command.query['fields'] = fields unless fields.nil?
290
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
291
+ execute_or_queue_command(command, &block)
292
+ end
293
+
294
+ # Lists ScanRuns under a given ScanConfig, in descending order of ScanRun stop
295
+ # time.
296
+ # @param [String] parent
297
+ # Required. The parent resource name, which should be a scan resource name in
298
+ # the format 'projects/`projectId`/scanConfigs/`scanConfigId`'.
299
+ # @param [Fixnum] page_size
300
+ # The maximum number of ScanRuns to return, can be limited by server. If not
301
+ # specified or not positive, the implementation will select a reasonable value.
302
+ # @param [String] page_token
303
+ # A token identifying a page of results to be returned. This should be a `
304
+ # next_page_token` value returned from a previous List request. If unspecified,
305
+ # the first page of results is returned.
306
+ # @param [String] fields
307
+ # Selector specifying which fields to include in a partial response.
308
+ # @param [String] quota_user
309
+ # Available to use for quota purposes for server-side applications. Can be any
310
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
311
+ # @param [Google::Apis::RequestOptions] options
312
+ # Request-specific options
313
+ #
314
+ # @yield [result, err] Result & error if block supplied
315
+ # @yieldparam result [Google::Apis::WebsecurityscannerV1alpha::ListScanRunsResponse] parsed result object
316
+ # @yieldparam err [StandardError] error object if request failed
317
+ #
318
+ # @return [Google::Apis::WebsecurityscannerV1alpha::ListScanRunsResponse]
319
+ #
320
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
321
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
322
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
323
+ def list_project_scan_config_scan_runs(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
324
+ command = make_simple_command(:get, 'v1alpha/{+parent}/scanRuns', options)
325
+ command.response_representation = Google::Apis::WebsecurityscannerV1alpha::ListScanRunsResponse::Representation
326
+ command.response_class = Google::Apis::WebsecurityscannerV1alpha::ListScanRunsResponse
327
+ command.params['parent'] = parent unless parent.nil?
328
+ command.query['pageSize'] = page_size unless page_size.nil?
329
+ command.query['pageToken'] = page_token unless page_token.nil?
330
+ command.query['fields'] = fields unless fields.nil?
331
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
332
+ execute_or_queue_command(command, &block)
333
+ end
334
+
335
+ # Stops a ScanRun. The stopped ScanRun is returned.
336
+ # @param [String] name
337
+ # Required. The resource name of the ScanRun to be stopped. The name follows the
338
+ # format of 'projects/`projectId`/scanConfigs/`scanConfigId`/scanRuns/`scanRunId`
339
+ # '.
340
+ # @param [Google::Apis::WebsecurityscannerV1alpha::StopScanRunRequest] stop_scan_run_request_object
341
+ # @param [String] fields
342
+ # Selector specifying which fields to include in a partial response.
343
+ # @param [String] quota_user
344
+ # Available to use for quota purposes for server-side applications. Can be any
345
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
346
+ # @param [Google::Apis::RequestOptions] options
347
+ # Request-specific options
348
+ #
349
+ # @yield [result, err] Result & error if block supplied
350
+ # @yieldparam result [Google::Apis::WebsecurityscannerV1alpha::ScanRun] parsed result object
351
+ # @yieldparam err [StandardError] error object if request failed
352
+ #
353
+ # @return [Google::Apis::WebsecurityscannerV1alpha::ScanRun]
354
+ #
355
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
356
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
357
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
358
+ def stop_scan_run(name, stop_scan_run_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
359
+ command = make_simple_command(:post, 'v1alpha/{+name}:stop', options)
360
+ command.request_representation = Google::Apis::WebsecurityscannerV1alpha::StopScanRunRequest::Representation
361
+ command.request_object = stop_scan_run_request_object
362
+ command.response_representation = Google::Apis::WebsecurityscannerV1alpha::ScanRun::Representation
363
+ command.response_class = Google::Apis::WebsecurityscannerV1alpha::ScanRun
364
+ command.params['name'] = name unless name.nil?
365
+ command.query['fields'] = fields unless fields.nil?
366
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
367
+ execute_or_queue_command(command, &block)
368
+ end
369
+
370
+ # List CrawledUrls under a given ScanRun.
371
+ # @param [String] parent
372
+ # Required. The parent resource name, which should be a scan run resource name
373
+ # in the format 'projects/`projectId`/scanConfigs/`scanConfigId`/scanRuns/`
374
+ # scanRunId`'.
375
+ # @param [Fixnum] page_size
376
+ # The maximum number of CrawledUrls to return, can be limited by server. If not
377
+ # specified or not positive, the implementation will select a reasonable value.
378
+ # @param [String] page_token
379
+ # A token identifying a page of results to be returned. This should be a `
380
+ # next_page_token` value returned from a previous List request. If unspecified,
381
+ # the first page of results is returned.
382
+ # @param [String] fields
383
+ # Selector specifying which fields to include in a partial response.
384
+ # @param [String] quota_user
385
+ # Available to use for quota purposes for server-side applications. Can be any
386
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
387
+ # @param [Google::Apis::RequestOptions] options
388
+ # Request-specific options
389
+ #
390
+ # @yield [result, err] Result & error if block supplied
391
+ # @yieldparam result [Google::Apis::WebsecurityscannerV1alpha::ListCrawledUrlsResponse] parsed result object
392
+ # @yieldparam err [StandardError] error object if request failed
393
+ #
394
+ # @return [Google::Apis::WebsecurityscannerV1alpha::ListCrawledUrlsResponse]
395
+ #
396
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
397
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
398
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
399
+ def list_project_scan_config_scan_run_crawled_urls(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
400
+ command = make_simple_command(:get, 'v1alpha/{+parent}/crawledUrls', options)
401
+ command.response_representation = Google::Apis::WebsecurityscannerV1alpha::ListCrawledUrlsResponse::Representation
402
+ command.response_class = Google::Apis::WebsecurityscannerV1alpha::ListCrawledUrlsResponse
403
+ command.params['parent'] = parent unless parent.nil?
404
+ command.query['pageSize'] = page_size unless page_size.nil?
405
+ command.query['pageToken'] = page_token unless page_token.nil?
406
+ command.query['fields'] = fields unless fields.nil?
407
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
408
+ execute_or_queue_command(command, &block)
409
+ end
410
+
411
+ # List all FindingTypeStats under a given ScanRun.
412
+ # @param [String] parent
413
+ # Required. The parent resource name, which should be a scan run resource name
414
+ # in the format 'projects/`projectId`/scanConfigs/`scanConfigId`/scanRuns/`
415
+ # scanRunId`'.
416
+ # @param [String] fields
417
+ # Selector specifying which fields to include in a partial response.
418
+ # @param [String] quota_user
419
+ # Available to use for quota purposes for server-side applications. Can be any
420
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
421
+ # @param [Google::Apis::RequestOptions] options
422
+ # Request-specific options
423
+ #
424
+ # @yield [result, err] Result & error if block supplied
425
+ # @yieldparam result [Google::Apis::WebsecurityscannerV1alpha::ListFindingTypeStatsResponse] parsed result object
426
+ # @yieldparam err [StandardError] error object if request failed
427
+ #
428
+ # @return [Google::Apis::WebsecurityscannerV1alpha::ListFindingTypeStatsResponse]
429
+ #
430
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
431
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
432
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
433
+ def list_project_scan_config_scan_run_finding_type_stats(parent, fields: nil, quota_user: nil, options: nil, &block)
434
+ command = make_simple_command(:get, 'v1alpha/{+parent}/findingTypeStats', options)
435
+ command.response_representation = Google::Apis::WebsecurityscannerV1alpha::ListFindingTypeStatsResponse::Representation
436
+ command.response_class = Google::Apis::WebsecurityscannerV1alpha::ListFindingTypeStatsResponse
437
+ command.params['parent'] = parent unless parent.nil?
438
+ command.query['fields'] = fields unless fields.nil?
439
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
440
+ execute_or_queue_command(command, &block)
441
+ end
442
+
443
+ # Gets a Finding.
444
+ # @param [String] name
445
+ # Required. The resource name of the Finding to be returned. The name follows
446
+ # the format of 'projects/`projectId`/scanConfigs/`scanConfigId`/scanRuns/`
447
+ # scanRunId`/findings/`findingId`'.
448
+ # @param [String] fields
449
+ # Selector specifying which fields to include in a partial response.
450
+ # @param [String] quota_user
451
+ # Available to use for quota purposes for server-side applications. Can be any
452
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
453
+ # @param [Google::Apis::RequestOptions] options
454
+ # Request-specific options
455
+ #
456
+ # @yield [result, err] Result & error if block supplied
457
+ # @yieldparam result [Google::Apis::WebsecurityscannerV1alpha::Finding] parsed result object
458
+ # @yieldparam err [StandardError] error object if request failed
459
+ #
460
+ # @return [Google::Apis::WebsecurityscannerV1alpha::Finding]
461
+ #
462
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
463
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
464
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
465
+ def get_project_scan_config_scan_run_finding(name, fields: nil, quota_user: nil, options: nil, &block)
466
+ command = make_simple_command(:get, 'v1alpha/{+name}', options)
467
+ command.response_representation = Google::Apis::WebsecurityscannerV1alpha::Finding::Representation
468
+ command.response_class = Google::Apis::WebsecurityscannerV1alpha::Finding
469
+ command.params['name'] = name unless name.nil?
470
+ command.query['fields'] = fields unless fields.nil?
471
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
472
+ execute_or_queue_command(command, &block)
473
+ end
474
+
475
+ # List Findings under a given ScanRun.
476
+ # @param [String] parent
477
+ # Required. The parent resource name, which should be a scan run resource name
478
+ # in the format 'projects/`projectId`/scanConfigs/`scanConfigId`/scanRuns/`
479
+ # scanRunId`'.
480
+ # @param [String] filter
481
+ # Required. The filter expression. The expression must be in the format: .
482
+ # Supported field: 'finding_type'. Supported operator: '='.
483
+ # @param [Fixnum] page_size
484
+ # The maximum number of Findings to return, can be limited by server. If not
485
+ # specified or not positive, the implementation will select a reasonable value.
486
+ # @param [String] page_token
487
+ # A token identifying a page of results to be returned. This should be a `
488
+ # next_page_token` value returned from a previous List request. If unspecified,
489
+ # the first page of results is returned.
490
+ # @param [String] fields
491
+ # Selector specifying which fields to include in a partial response.
492
+ # @param [String] quota_user
493
+ # Available to use for quota purposes for server-side applications. Can be any
494
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
495
+ # @param [Google::Apis::RequestOptions] options
496
+ # Request-specific options
497
+ #
498
+ # @yield [result, err] Result & error if block supplied
499
+ # @yieldparam result [Google::Apis::WebsecurityscannerV1alpha::ListFindingsResponse] parsed result object
500
+ # @yieldparam err [StandardError] error object if request failed
501
+ #
502
+ # @return [Google::Apis::WebsecurityscannerV1alpha::ListFindingsResponse]
503
+ #
504
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
505
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
506
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
507
+ def list_project_scan_config_scan_run_findings(parent, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
508
+ command = make_simple_command(:get, 'v1alpha/{+parent}/findings', options)
509
+ command.response_representation = Google::Apis::WebsecurityscannerV1alpha::ListFindingsResponse::Representation
510
+ command.response_class = Google::Apis::WebsecurityscannerV1alpha::ListFindingsResponse
511
+ command.params['parent'] = parent unless parent.nil?
512
+ command.query['filter'] = filter unless filter.nil?
513
+ command.query['pageSize'] = page_size unless page_size.nil?
514
+ command.query['pageToken'] = page_token unless page_token.nil?
515
+ command.query['fields'] = fields unless fields.nil?
516
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
517
+ execute_or_queue_command(command, &block)
518
+ end
519
+
520
+ protected
521
+
522
+ def apply_command_defaults(command)
523
+ command.query['key'] = key unless key.nil?
524
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
525
+ end
526
+ end
527
+ end
528
+ end
529
+ end