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 CloudIdentity (v1).
20 *
21 * <p>
22 * API for provisioning and managing identity resources.</p>
23 *
24 * <p>
25 * For more information about this service, see the API
26 * <a href="https://cloud.google.com/identity/" target="_blank">Documentation</a>
27 * </p>
28 *
29 * @author Google, Inc.
30 */
31class Google_Service_CloudIdentity extends Google_Service
32{
33  /** See, change, create, and delete any of the Cloud Identity Groups that you can access, including the members of each group. */
34  const CLOUD_IDENTITY_GROUPS =
35      "https://www.googleapis.com/auth/cloud-identity.groups";
36  /** See any Cloud Identity Groups that you can access, including group members and their emails. */
37  const CLOUD_IDENTITY_GROUPS_READONLY =
38      "https://www.googleapis.com/auth/cloud-identity.groups.readonly";
39
40  public $groups;
41  public $groups_memberships;
42
43  /**
44   * Constructs the internal representation of the CloudIdentity service.
45   *
46   * @param Google_Client $client
47   */
48  public function __construct(Google_Client $client)
49  {
50    parent::__construct($client);
51    $this->rootUrl = 'https://cloudidentity.googleapis.com/';
52    $this->servicePath = '';
53    $this->batchPath = 'batch';
54    $this->version = 'v1';
55    $this->serviceName = 'cloudidentity';
56
57    $this->groups = new Google_Service_CloudIdentity_Resource_Groups(
58        $this,
59        $this->serviceName,
60        'groups',
61        array(
62          'methods' => array(
63            'create' => array(
64              'path' => 'v1/groups',
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/groups',
89              'httpMethod' => 'GET',
90              'parameters' => array(
91                'view' => array(
92                  'location' => 'query',
93                  'type' => 'string',
94                ),
95                'parent' => array(
96                  'location' => 'query',
97                  'type' => 'string',
98                ),
99                'pageToken' => array(
100                  'location' => 'query',
101                  'type' => 'string',
102                ),
103                'pageSize' => array(
104                  'location' => 'query',
105                  'type' => 'integer',
106                ),
107              ),
108            ),'lookup' => array(
109              'path' => 'v1/groups:lookup',
110              'httpMethod' => 'GET',
111              'parameters' => array(
112                'groupKey.namespace' => array(
113                  'location' => 'query',
114                  'type' => 'string',
115                ),
116                'groupKey.id' => array(
117                  'location' => 'query',
118                  'type' => 'string',
119                ),
120              ),
121            ),'patch' => array(
122              'path' => 'v1/{+name}',
123              'httpMethod' => 'PATCH',
124              'parameters' => array(
125                'name' => array(
126                  'location' => 'path',
127                  'type' => 'string',
128                  'required' => true,
129                ),
130                'updateMask' => array(
131                  'location' => 'query',
132                  'type' => 'string',
133                ),
134              ),
135            ),'search' => array(
136              'path' => 'v1/groups:search',
137              'httpMethod' => 'GET',
138              'parameters' => array(
139                'pageToken' => array(
140                  'location' => 'query',
141                  'type' => 'string',
142                ),
143                'pageSize' => array(
144                  'location' => 'query',
145                  'type' => 'integer',
146                ),
147                'query' => array(
148                  'location' => 'query',
149                  'type' => 'string',
150                ),
151                'view' => array(
152                  'location' => 'query',
153                  'type' => 'string',
154                ),
155              ),
156            ),
157          )
158        )
159    );
160    $this->groups_memberships = new Google_Service_CloudIdentity_Resource_GroupsMemberships(
161        $this,
162        $this->serviceName,
163        'memberships',
164        array(
165          'methods' => array(
166            'create' => array(
167              'path' => 'v1/{+parent}/memberships',
168              'httpMethod' => 'POST',
169              'parameters' => array(
170                'parent' => array(
171                  'location' => 'path',
172                  'type' => 'string',
173                  'required' => true,
174                ),
175              ),
176            ),'delete' => array(
177              'path' => 'v1/{+name}',
178              'httpMethod' => 'DELETE',
179              'parameters' => array(
180                'name' => array(
181                  'location' => 'path',
182                  'type' => 'string',
183                  'required' => true,
184                ),
185              ),
186            ),'get' => array(
187              'path' => 'v1/{+name}',
188              'httpMethod' => 'GET',
189              'parameters' => array(
190                'name' => array(
191                  'location' => 'path',
192                  'type' => 'string',
193                  'required' => true,
194                ),
195              ),
196            ),'list' => array(
197              'path' => 'v1/{+parent}/memberships',
198              'httpMethod' => 'GET',
199              'parameters' => array(
200                'parent' => array(
201                  'location' => 'path',
202                  'type' => 'string',
203                  'required' => true,
204                ),
205                'view' => array(
206                  'location' => 'query',
207                  'type' => 'string',
208                ),
209                'pageToken' => array(
210                  'location' => 'query',
211                  'type' => 'string',
212                ),
213                'pageSize' => array(
214                  'location' => 'query',
215                  'type' => 'integer',
216                ),
217              ),
218            ),'lookup' => array(
219              'path' => 'v1/{+parent}/memberships:lookup',
220              'httpMethod' => 'GET',
221              'parameters' => array(
222                'parent' => array(
223                  'location' => 'path',
224                  'type' => 'string',
225                  'required' => true,
226                ),
227                'memberKey.id' => array(
228                  'location' => 'query',
229                  'type' => 'string',
230                ),
231                'memberKey.namespace' => array(
232                  'location' => 'query',
233                  'type' => 'string',
234                ),
235              ),
236            ),
237          )
238        )
239    );
240  }
241}
242