1<?php
2/*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18/**
19 * Service definition for SecurityCommandCenter (v1).
20 *
21 * <p>
22 * Cloud Security Command Center API provides access to temporal views of assets
23 * and findings within an organization.</p>
24 *
25 * <p>
26 * For more information about this service, see the API
27 * <a href="https://console.cloud.google.com/apis/api/securitycenter.googleapis.com/overview" target="_blank">Documentation</a>
28 * </p>
29 *
30 * @author Google, Inc.
31 */
32class Google_Service_SecurityCommandCenter extends Google_Service
33{
34  /** View and manage your data across Google Cloud Platform services. */
35  const CLOUD_PLATFORM =
36      "https://www.googleapis.com/auth/cloud-platform";
37
38  public $organizations;
39  public $organizations_assets;
40  public $organizations_operations;
41  public $organizations_sources;
42  public $organizations_sources_findings;
43
44  /**
45   * Constructs the internal representation of the SecurityCommandCenter
46   * service.
47   *
48   * @param Google_Client $client
49   */
50  public function __construct(Google_Client $client)
51  {
52    parent::__construct($client);
53    $this->rootUrl = 'https://securitycenter.googleapis.com/';
54    $this->servicePath = '';
55    $this->batchPath = 'batch';
56    $this->version = 'v1';
57    $this->serviceName = 'securitycenter';
58
59    $this->organizations = new Google_Service_SecurityCommandCenter_Resource_Organizations(
60        $this,
61        $this->serviceName,
62        'organizations',
63        array(
64          'methods' => array(
65            'getOrganizationSettings' => array(
66              'path' => 'v1/{+name}',
67              'httpMethod' => 'GET',
68              'parameters' => array(
69                'name' => array(
70                  'location' => 'path',
71                  'type' => 'string',
72                  'required' => true,
73                ),
74              ),
75            ),'updateOrganizationSettings' => array(
76              'path' => 'v1/{+name}',
77              'httpMethod' => 'PATCH',
78              'parameters' => array(
79                'name' => array(
80                  'location' => 'path',
81                  'type' => 'string',
82                  'required' => true,
83                ),
84                'updateMask' => array(
85                  'location' => 'query',
86                  'type' => 'string',
87                ),
88              ),
89            ),
90          )
91        )
92    );
93    $this->organizations_assets = new Google_Service_SecurityCommandCenter_Resource_OrganizationsAssets(
94        $this,
95        $this->serviceName,
96        'assets',
97        array(
98          'methods' => array(
99            'group' => array(
100              'path' => 'v1/{+parent}/assets:group',
101              'httpMethod' => 'POST',
102              'parameters' => array(
103                'parent' => array(
104                  'location' => 'path',
105                  'type' => 'string',
106                  'required' => true,
107                ),
108              ),
109            ),'list' => array(
110              'path' => 'v1/{+parent}/assets',
111              'httpMethod' => 'GET',
112              'parameters' => array(
113                'parent' => array(
114                  'location' => 'path',
115                  'type' => 'string',
116                  'required' => true,
117                ),
118                'orderBy' => array(
119                  'location' => 'query',
120                  'type' => 'string',
121                ),
122                'readTime' => array(
123                  'location' => 'query',
124                  'type' => 'string',
125                ),
126                'compareDuration' => array(
127                  'location' => 'query',
128                  'type' => 'string',
129                ),
130                'filter' => array(
131                  'location' => 'query',
132                  'type' => 'string',
133                ),
134                'fieldMask' => array(
135                  'location' => 'query',
136                  'type' => 'string',
137                ),
138                'pageToken' => array(
139                  'location' => 'query',
140                  'type' => 'string',
141                ),
142                'pageSize' => array(
143                  'location' => 'query',
144                  'type' => 'integer',
145                ),
146              ),
147            ),'runDiscovery' => array(
148              'path' => 'v1/{+parent}/assets:runDiscovery',
149              'httpMethod' => 'POST',
150              'parameters' => array(
151                'parent' => array(
152                  'location' => 'path',
153                  'type' => 'string',
154                  'required' => true,
155                ),
156              ),
157            ),'updateSecurityMarks' => array(
158              'path' => 'v1/{+name}',
159              'httpMethod' => 'PATCH',
160              'parameters' => array(
161                'name' => array(
162                  'location' => 'path',
163                  'type' => 'string',
164                  'required' => true,
165                ),
166                'updateMask' => array(
167                  'location' => 'query',
168                  'type' => 'string',
169                ),
170                'startTime' => array(
171                  'location' => 'query',
172                  'type' => 'string',
173                ),
174              ),
175            ),
176          )
177        )
178    );
179    $this->organizations_operations = new Google_Service_SecurityCommandCenter_Resource_OrganizationsOperations(
180        $this,
181        $this->serviceName,
182        'operations',
183        array(
184          'methods' => array(
185            'cancel' => array(
186              'path' => 'v1/{+name}:cancel',
187              'httpMethod' => 'POST',
188              'parameters' => array(
189                'name' => array(
190                  'location' => 'path',
191                  'type' => 'string',
192                  'required' => true,
193                ),
194              ),
195            ),'delete' => array(
196              'path' => 'v1/{+name}',
197              'httpMethod' => 'DELETE',
198              'parameters' => array(
199                'name' => array(
200                  'location' => 'path',
201                  'type' => 'string',
202                  'required' => true,
203                ),
204              ),
205            ),'get' => array(
206              'path' => 'v1/{+name}',
207              'httpMethod' => 'GET',
208              'parameters' => array(
209                'name' => array(
210                  'location' => 'path',
211                  'type' => 'string',
212                  'required' => true,
213                ),
214              ),
215            ),'list' => array(
216              'path' => 'v1/{+name}',
217              'httpMethod' => 'GET',
218              'parameters' => array(
219                'name' => array(
220                  'location' => 'path',
221                  'type' => 'string',
222                  'required' => true,
223                ),
224                'pageToken' => array(
225                  'location' => 'query',
226                  'type' => 'string',
227                ),
228                'pageSize' => array(
229                  'location' => 'query',
230                  'type' => 'integer',
231                ),
232                'filter' => array(
233                  'location' => 'query',
234                  'type' => 'string',
235                ),
236              ),
237            ),
238          )
239        )
240    );
241    $this->organizations_sources = new Google_Service_SecurityCommandCenter_Resource_OrganizationsSources(
242        $this,
243        $this->serviceName,
244        'sources',
245        array(
246          'methods' => array(
247            'create' => array(
248              'path' => 'v1/{+parent}/sources',
249              'httpMethod' => 'POST',
250              'parameters' => array(
251                'parent' => array(
252                  'location' => 'path',
253                  'type' => 'string',
254                  'required' => true,
255                ),
256              ),
257            ),'get' => array(
258              'path' => 'v1/{+name}',
259              'httpMethod' => 'GET',
260              'parameters' => array(
261                'name' => array(
262                  'location' => 'path',
263                  'type' => 'string',
264                  'required' => true,
265                ),
266              ),
267            ),'getIamPolicy' => array(
268              'path' => 'v1/{+resource}:getIamPolicy',
269              'httpMethod' => 'POST',
270              'parameters' => array(
271                'resource' => array(
272                  'location' => 'path',
273                  'type' => 'string',
274                  'required' => true,
275                ),
276              ),
277            ),'list' => array(
278              'path' => 'v1/{+parent}/sources',
279              'httpMethod' => 'GET',
280              'parameters' => array(
281                'parent' => array(
282                  'location' => 'path',
283                  'type' => 'string',
284                  'required' => true,
285                ),
286                'pageToken' => array(
287                  'location' => 'query',
288                  'type' => 'string',
289                ),
290                'pageSize' => array(
291                  'location' => 'query',
292                  'type' => 'integer',
293                ),
294              ),
295            ),'patch' => array(
296              'path' => 'v1/{+name}',
297              'httpMethod' => 'PATCH',
298              'parameters' => array(
299                'name' => array(
300                  'location' => 'path',
301                  'type' => 'string',
302                  'required' => true,
303                ),
304                'updateMask' => array(
305                  'location' => 'query',
306                  'type' => 'string',
307                ),
308              ),
309            ),'setIamPolicy' => array(
310              'path' => 'v1/{+resource}:setIamPolicy',
311              'httpMethod' => 'POST',
312              'parameters' => array(
313                'resource' => array(
314                  'location' => 'path',
315                  'type' => 'string',
316                  'required' => true,
317                ),
318              ),
319            ),'testIamPermissions' => array(
320              'path' => 'v1/{+resource}:testIamPermissions',
321              'httpMethod' => 'POST',
322              'parameters' => array(
323                'resource' => array(
324                  'location' => 'path',
325                  'type' => 'string',
326                  'required' => true,
327                ),
328              ),
329            ),
330          )
331        )
332    );
333    $this->organizations_sources_findings = new Google_Service_SecurityCommandCenter_Resource_OrganizationsSourcesFindings(
334        $this,
335        $this->serviceName,
336        'findings',
337        array(
338          'methods' => array(
339            'create' => array(
340              'path' => 'v1/{+parent}/findings',
341              'httpMethod' => 'POST',
342              'parameters' => array(
343                'parent' => array(
344                  'location' => 'path',
345                  'type' => 'string',
346                  'required' => true,
347                ),
348                'findingId' => array(
349                  'location' => 'query',
350                  'type' => 'string',
351                ),
352              ),
353            ),'group' => array(
354              'path' => 'v1/{+parent}/findings:group',
355              'httpMethod' => 'POST',
356              'parameters' => array(
357                'parent' => array(
358                  'location' => 'path',
359                  'type' => 'string',
360                  'required' => true,
361                ),
362              ),
363            ),'list' => array(
364              'path' => 'v1/{+parent}/findings',
365              'httpMethod' => 'GET',
366              'parameters' => array(
367                'parent' => array(
368                  'location' => 'path',
369                  'type' => 'string',
370                  'required' => true,
371                ),
372                'pageSize' => array(
373                  'location' => 'query',
374                  'type' => 'integer',
375                ),
376                'readTime' => array(
377                  'location' => 'query',
378                  'type' => 'string',
379                ),
380                'orderBy' => array(
381                  'location' => 'query',
382                  'type' => 'string',
383                ),
384                'compareDuration' => array(
385                  'location' => 'query',
386                  'type' => 'string',
387                ),
388                'filter' => array(
389                  'location' => 'query',
390                  'type' => 'string',
391                ),
392                'pageToken' => array(
393                  'location' => 'query',
394                  'type' => 'string',
395                ),
396                'fieldMask' => array(
397                  'location' => 'query',
398                  'type' => 'string',
399                ),
400              ),
401            ),'patch' => array(
402              'path' => 'v1/{+name}',
403              'httpMethod' => 'PATCH',
404              'parameters' => array(
405                'name' => array(
406                  'location' => 'path',
407                  'type' => 'string',
408                  'required' => true,
409                ),
410                'updateMask' => array(
411                  'location' => 'query',
412                  'type' => 'string',
413                ),
414              ),
415            ),'setState' => array(
416              'path' => 'v1/{+name}:setState',
417              'httpMethod' => 'POST',
418              'parameters' => array(
419                'name' => array(
420                  'location' => 'path',
421                  'type' => 'string',
422                  'required' => true,
423                ),
424              ),
425            ),'updateSecurityMarks' => array(
426              'path' => 'v1/{+name}',
427              'httpMethod' => 'PATCH',
428              'parameters' => array(
429                'name' => array(
430                  'location' => 'path',
431                  'type' => 'string',
432                  'required' => true,
433                ),
434                'startTime' => array(
435                  'location' => 'query',
436                  'type' => 'string',
437                ),
438                'updateMask' => array(
439                  'location' => 'query',
440                  'type' => 'string',
441                ),
442              ),
443            ),
444          )
445        )
446    );
447  }
448}
449