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 AccessContextManager (v1).
20 *
21 * <p>
22 * An API for setting attribute based access control to requests to GCP
23 * services.</p>
24 *
25 * <p>
26 * For more information about this service, see the API
27 * <a href="https://cloud.google.com/access-context-manager/docs/reference/rest/" target="_blank">Documentation</a>
28 * </p>
29 *
30 * @author Google, Inc.
31 */
32class Google_Service_AccessContextManager 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 $accessPolicies;
39  public $accessPolicies_accessLevels;
40  public $accessPolicies_servicePerimeters;
41  public $operations;
42
43  /**
44   * Constructs the internal representation of the AccessContextManager service.
45   *
46   * @param Google_Client $client
47   */
48  public function __construct(Google_Client $client)
49  {
50    parent::__construct($client);
51    $this->rootUrl = 'https://accesscontextmanager.googleapis.com/';
52    $this->servicePath = '';
53    $this->batchPath = 'batch';
54    $this->version = 'v1';
55    $this->serviceName = 'accesscontextmanager';
56
57    $this->accessPolicies = new Google_Service_AccessContextManager_Resource_AccessPolicies(
58        $this,
59        $this->serviceName,
60        'accessPolicies',
61        array(
62          'methods' => array(
63            'create' => array(
64              'path' => 'v1/accessPolicies',
65              'httpMethod' => 'POST',
66              'parameters' => array(),
67            ),'delete' => array(
68              'path' => 'v1/{+name}',
69              'httpMethod' => 'DELETE',
70              'parameters' => array(
71                'name' => array(
72                  'location' => 'path',
73                  'type' => 'string',
74                  'required' => true,
75                ),
76              ),
77            ),'get' => array(
78              'path' => 'v1/{+name}',
79              'httpMethod' => 'GET',
80              'parameters' => array(
81                'name' => array(
82                  'location' => 'path',
83                  'type' => 'string',
84                  'required' => true,
85                ),
86              ),
87            ),'list' => array(
88              'path' => 'v1/accessPolicies',
89              'httpMethod' => 'GET',
90              'parameters' => array(
91                'pageToken' => array(
92                  'location' => 'query',
93                  'type' => 'string',
94                ),
95                'pageSize' => array(
96                  'location' => 'query',
97                  'type' => 'integer',
98                ),
99                'parent' => array(
100                  'location' => 'query',
101                  'type' => 'string',
102                ),
103              ),
104            ),'patch' => array(
105              'path' => 'v1/{+name}',
106              'httpMethod' => 'PATCH',
107              'parameters' => array(
108                'name' => array(
109                  'location' => 'path',
110                  'type' => 'string',
111                  'required' => true,
112                ),
113                'updateMask' => array(
114                  'location' => 'query',
115                  'type' => 'string',
116                ),
117              ),
118            ),
119          )
120        )
121    );
122    $this->accessPolicies_accessLevels = new Google_Service_AccessContextManager_Resource_AccessPoliciesAccessLevels(
123        $this,
124        $this->serviceName,
125        'accessLevels',
126        array(
127          'methods' => array(
128            'create' => array(
129              'path' => 'v1/{+parent}/accessLevels',
130              'httpMethod' => 'POST',
131              'parameters' => array(
132                'parent' => array(
133                  'location' => 'path',
134                  'type' => 'string',
135                  'required' => true,
136                ),
137              ),
138            ),'delete' => array(
139              'path' => 'v1/{+name}',
140              'httpMethod' => 'DELETE',
141              'parameters' => array(
142                'name' => array(
143                  'location' => 'path',
144                  'type' => 'string',
145                  'required' => true,
146                ),
147              ),
148            ),'get' => array(
149              'path' => 'v1/{+name}',
150              'httpMethod' => 'GET',
151              'parameters' => array(
152                'name' => array(
153                  'location' => 'path',
154                  'type' => 'string',
155                  'required' => true,
156                ),
157                'accessLevelFormat' => array(
158                  'location' => 'query',
159                  'type' => 'string',
160                ),
161              ),
162            ),'list' => array(
163              'path' => 'v1/{+parent}/accessLevels',
164              'httpMethod' => 'GET',
165              'parameters' => array(
166                'parent' => array(
167                  'location' => 'path',
168                  'type' => 'string',
169                  'required' => true,
170                ),
171                'accessLevelFormat' => array(
172                  'location' => 'query',
173                  'type' => 'string',
174                ),
175                'pageToken' => array(
176                  'location' => 'query',
177                  'type' => 'string',
178                ),
179                'pageSize' => array(
180                  'location' => 'query',
181                  'type' => 'integer',
182                ),
183              ),
184            ),'patch' => array(
185              'path' => 'v1/{+name}',
186              'httpMethod' => 'PATCH',
187              'parameters' => array(
188                'name' => array(
189                  'location' => 'path',
190                  'type' => 'string',
191                  'required' => true,
192                ),
193                'updateMask' => array(
194                  'location' => 'query',
195                  'type' => 'string',
196                ),
197              ),
198            ),
199          )
200        )
201    );
202    $this->accessPolicies_servicePerimeters = new Google_Service_AccessContextManager_Resource_AccessPoliciesServicePerimeters(
203        $this,
204        $this->serviceName,
205        'servicePerimeters',
206        array(
207          'methods' => array(
208            'create' => array(
209              'path' => 'v1/{+parent}/servicePerimeters',
210              'httpMethod' => 'POST',
211              'parameters' => array(
212                'parent' => array(
213                  'location' => 'path',
214                  'type' => 'string',
215                  'required' => true,
216                ),
217              ),
218            ),'delete' => array(
219              'path' => 'v1/{+name}',
220              'httpMethod' => 'DELETE',
221              'parameters' => array(
222                'name' => array(
223                  'location' => 'path',
224                  'type' => 'string',
225                  'required' => true,
226                ),
227              ),
228            ),'get' => array(
229              'path' => 'v1/{+name}',
230              'httpMethod' => 'GET',
231              'parameters' => array(
232                'name' => array(
233                  'location' => 'path',
234                  'type' => 'string',
235                  'required' => true,
236                ),
237              ),
238            ),'list' => array(
239              'path' => 'v1/{+parent}/servicePerimeters',
240              'httpMethod' => 'GET',
241              'parameters' => array(
242                'parent' => array(
243                  'location' => 'path',
244                  'type' => 'string',
245                  'required' => true,
246                ),
247                'pageSize' => array(
248                  'location' => 'query',
249                  'type' => 'integer',
250                ),
251                'pageToken' => array(
252                  'location' => 'query',
253                  'type' => 'string',
254                ),
255              ),
256            ),'patch' => array(
257              'path' => 'v1/{+name}',
258              'httpMethod' => 'PATCH',
259              'parameters' => array(
260                'name' => array(
261                  'location' => 'path',
262                  'type' => 'string',
263                  'required' => true,
264                ),
265                'updateMask' => array(
266                  'location' => 'query',
267                  'type' => 'string',
268                ),
269              ),
270            ),
271          )
272        )
273    );
274    $this->operations = new Google_Service_AccessContextManager_Resource_Operations(
275        $this,
276        $this->serviceName,
277        'operations',
278        array(
279          'methods' => array(
280            'cancel' => array(
281              'path' => 'v1/{+name}:cancel',
282              'httpMethod' => 'POST',
283              'parameters' => array(
284                'name' => array(
285                  'location' => 'path',
286                  'type' => 'string',
287                  'required' => true,
288                ),
289              ),
290            ),'delete' => array(
291              'path' => 'v1/{+name}',
292              'httpMethod' => 'DELETE',
293              'parameters' => array(
294                'name' => array(
295                  'location' => 'path',
296                  'type' => 'string',
297                  'required' => true,
298                ),
299              ),
300            ),'get' => array(
301              'path' => 'v1/{+name}',
302              'httpMethod' => 'GET',
303              'parameters' => array(
304                'name' => array(
305                  'location' => 'path',
306                  'type' => 'string',
307                  'required' => true,
308                ),
309              ),
310            ),'list' => array(
311              'path' => 'v1/{+name}',
312              'httpMethod' => 'GET',
313              'parameters' => array(
314                'name' => array(
315                  'location' => 'path',
316                  'type' => 'string',
317                  'required' => true,
318                ),
319                'pageToken' => array(
320                  'location' => 'query',
321                  'type' => 'string',
322                ),
323                'pageSize' => array(
324                  'location' => 'query',
325                  'type' => 'integer',
326                ),
327                'filter' => array(
328                  'location' => 'query',
329                  'type' => 'string',
330                ),
331              ),
332            ),
333          )
334        )
335    );
336  }
337}
338