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 CloudTalentSolution (v3).
20 *
21 * <p>
22 * Cloud Talent Solution provides the capability to create, read, update, and
23 * delete job postings, as well as search jobs based on keywords and filters.</p>
24 *
25 * <p>
26 * For more information about this service, see the API
27 * <a href="https://cloud.google.com/talent-solution/job-search/docs/" target="_blank">Documentation</a>
28 * </p>
29 *
30 * @author Google, Inc.
31 */
32class Google_Service_CloudTalentSolution 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  /** Manage job postings. */
38  const JOBS =
39      "https://www.googleapis.com/auth/jobs";
40
41  public $projects;
42  public $projects_clientEvents;
43  public $projects_companies;
44  public $projects_jobs;
45
46  /**
47   * Constructs the internal representation of the CloudTalentSolution service.
48   *
49   * @param Google_Client $client
50   */
51  public function __construct(Google_Client $client)
52  {
53    parent::__construct($client);
54    $this->rootUrl = 'https://jobs.googleapis.com/';
55    $this->servicePath = '';
56    $this->batchPath = 'batch';
57    $this->version = 'v3';
58    $this->serviceName = 'jobs';
59
60    $this->projects = new Google_Service_CloudTalentSolution_Resource_Projects(
61        $this,
62        $this->serviceName,
63        'projects',
64        array(
65          'methods' => array(
66            'complete' => array(
67              'path' => 'v3/{+name}:complete',
68              'httpMethod' => 'GET',
69              'parameters' => array(
70                'name' => array(
71                  'location' => 'path',
72                  'type' => 'string',
73                  'required' => true,
74                ),
75                'languageCodes' => array(
76                  'location' => 'query',
77                  'type' => 'string',
78                  'repeated' => true,
79                ),
80                'scope' => array(
81                  'location' => 'query',
82                  'type' => 'string',
83                ),
84                'companyName' => array(
85                  'location' => 'query',
86                  'type' => 'string',
87                ),
88                'pageSize' => array(
89                  'location' => 'query',
90                  'type' => 'integer',
91                ),
92                'query' => array(
93                  'location' => 'query',
94                  'type' => 'string',
95                ),
96                'languageCode' => array(
97                  'location' => 'query',
98                  'type' => 'string',
99                ),
100                'type' => array(
101                  'location' => 'query',
102                  'type' => 'string',
103                ),
104              ),
105            ),
106          )
107        )
108    );
109    $this->projects_clientEvents = new Google_Service_CloudTalentSolution_Resource_ProjectsClientEvents(
110        $this,
111        $this->serviceName,
112        'clientEvents',
113        array(
114          'methods' => array(
115            'create' => array(
116              'path' => 'v3/{+parent}/clientEvents',
117              'httpMethod' => 'POST',
118              'parameters' => array(
119                'parent' => array(
120                  'location' => 'path',
121                  'type' => 'string',
122                  'required' => true,
123                ),
124              ),
125            ),
126          )
127        )
128    );
129    $this->projects_companies = new Google_Service_CloudTalentSolution_Resource_ProjectsCompanies(
130        $this,
131        $this->serviceName,
132        'companies',
133        array(
134          'methods' => array(
135            'create' => array(
136              'path' => 'v3/{+parent}/companies',
137              'httpMethod' => 'POST',
138              'parameters' => array(
139                'parent' => array(
140                  'location' => 'path',
141                  'type' => 'string',
142                  'required' => true,
143                ),
144              ),
145            ),'delete' => array(
146              'path' => 'v3/{+name}',
147              'httpMethod' => 'DELETE',
148              'parameters' => array(
149                'name' => array(
150                  'location' => 'path',
151                  'type' => 'string',
152                  'required' => true,
153                ),
154              ),
155            ),'get' => array(
156              'path' => 'v3/{+name}',
157              'httpMethod' => 'GET',
158              'parameters' => array(
159                'name' => array(
160                  'location' => 'path',
161                  'type' => 'string',
162                  'required' => true,
163                ),
164              ),
165            ),'list' => array(
166              'path' => 'v3/{+parent}/companies',
167              'httpMethod' => 'GET',
168              'parameters' => array(
169                'parent' => array(
170                  'location' => 'path',
171                  'type' => 'string',
172                  'required' => true,
173                ),
174                'pageSize' => array(
175                  'location' => 'query',
176                  'type' => 'integer',
177                ),
178                'requireOpenJobs' => array(
179                  'location' => 'query',
180                  'type' => 'boolean',
181                ),
182                'pageToken' => array(
183                  'location' => 'query',
184                  'type' => 'string',
185                ),
186              ),
187            ),'patch' => array(
188              'path' => 'v3/{+name}',
189              'httpMethod' => 'PATCH',
190              'parameters' => array(
191                'name' => array(
192                  'location' => 'path',
193                  'type' => 'string',
194                  'required' => true,
195                ),
196              ),
197            ),
198          )
199        )
200    );
201    $this->projects_jobs = new Google_Service_CloudTalentSolution_Resource_ProjectsJobs(
202        $this,
203        $this->serviceName,
204        'jobs',
205        array(
206          'methods' => array(
207            'batchDelete' => array(
208              'path' => 'v3/{+parent}/jobs:batchDelete',
209              'httpMethod' => 'POST',
210              'parameters' => array(
211                'parent' => array(
212                  'location' => 'path',
213                  'type' => 'string',
214                  'required' => true,
215                ),
216              ),
217            ),'create' => array(
218              'path' => 'v3/{+parent}/jobs',
219              'httpMethod' => 'POST',
220              'parameters' => array(
221                'parent' => array(
222                  'location' => 'path',
223                  'type' => 'string',
224                  'required' => true,
225                ),
226              ),
227            ),'delete' => array(
228              'path' => 'v3/{+name}',
229              'httpMethod' => 'DELETE',
230              'parameters' => array(
231                'name' => array(
232                  'location' => 'path',
233                  'type' => 'string',
234                  'required' => true,
235                ),
236              ),
237            ),'get' => array(
238              'path' => 'v3/{+name}',
239              'httpMethod' => 'GET',
240              'parameters' => array(
241                'name' => array(
242                  'location' => 'path',
243                  'type' => 'string',
244                  'required' => true,
245                ),
246              ),
247            ),'list' => array(
248              'path' => 'v3/{+parent}/jobs',
249              'httpMethod' => 'GET',
250              'parameters' => array(
251                'parent' => array(
252                  'location' => 'path',
253                  'type' => 'string',
254                  'required' => true,
255                ),
256                'filter' => array(
257                  'location' => 'query',
258                  'type' => 'string',
259                ),
260                'jobView' => array(
261                  'location' => 'query',
262                  'type' => 'string',
263                ),
264                'pageToken' => array(
265                  'location' => 'query',
266                  'type' => 'string',
267                ),
268                'pageSize' => array(
269                  'location' => 'query',
270                  'type' => 'integer',
271                ),
272              ),
273            ),'patch' => array(
274              'path' => 'v3/{+name}',
275              'httpMethod' => 'PATCH',
276              'parameters' => array(
277                'name' => array(
278                  'location' => 'path',
279                  'type' => 'string',
280                  'required' => true,
281                ),
282              ),
283            ),'search' => array(
284              'path' => 'v3/{+parent}/jobs:search',
285              'httpMethod' => 'POST',
286              'parameters' => array(
287                'parent' => array(
288                  'location' => 'path',
289                  'type' => 'string',
290                  'required' => true,
291                ),
292              ),
293            ),'searchForAlert' => array(
294              'path' => 'v3/{+parent}/jobs:searchForAlert',
295              'httpMethod' => 'POST',
296              'parameters' => array(
297                'parent' => array(
298                  'location' => 'path',
299                  'type' => 'string',
300                  'required' => true,
301                ),
302              ),
303            ),
304          )
305        )
306    );
307  }
308}
309