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
18namespace Google\Service;
19
20use Google\Client;
21
22/**
23 * Service definition for Genomics (v2alpha1).
24 *
25 * <p>
26 * Uploads, processes, queries, and searches Genomics data in the cloud.</p>
27 *
28 * <p>
29 * For more information about this service, see the API
30 * <a href="https://cloud.google.com/genomics" target="_blank">Documentation</a>
31 * </p>
32 *
33 * @author Google, Inc.
34 */
35class Genomics extends \Google\Service
36{
37  /** See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.. */
38  const CLOUD_PLATFORM =
39      "https://www.googleapis.com/auth/cloud-platform";
40  /** View and manage Genomics data. */
41  const GENOMICS =
42      "https://www.googleapis.com/auth/genomics";
43
44  public $pipelines;
45  public $projects_operations;
46  public $projects_workers;
47  public $workers;
48
49  /**
50   * Constructs the internal representation of the Genomics service.
51   *
52   * @param Client|array $clientOrConfig The client used to deliver requests, or a
53   *                                     config array to pass to a new Client instance.
54   * @param string $rootUrl The root URL used for requests to the service.
55   */
56  public function __construct($clientOrConfig = [], $rootUrl = null)
57  {
58    parent::__construct($clientOrConfig);
59    $this->rootUrl = $rootUrl ?: 'https://genomics.googleapis.com/';
60    $this->servicePath = '';
61    $this->batchPath = 'batch';
62    $this->version = 'v2alpha1';
63    $this->serviceName = 'genomics';
64
65    $this->pipelines = new Genomics\Resource\Pipelines(
66        $this,
67        $this->serviceName,
68        'pipelines',
69        [
70          'methods' => [
71            'run' => [
72              'path' => 'v2alpha1/pipelines:run',
73              'httpMethod' => 'POST',
74              'parameters' => [],
75            ],
76          ]
77        ]
78    );
79    $this->projects_operations = new Genomics\Resource\ProjectsOperations(
80        $this,
81        $this->serviceName,
82        'operations',
83        [
84          'methods' => [
85            'cancel' => [
86              'path' => 'v2alpha1/{+name}:cancel',
87              'httpMethod' => 'POST',
88              'parameters' => [
89                'name' => [
90                  'location' => 'path',
91                  'type' => 'string',
92                  'required' => true,
93                ],
94              ],
95            ],'get' => [
96              'path' => 'v2alpha1/{+name}',
97              'httpMethod' => 'GET',
98              'parameters' => [
99                'name' => [
100                  'location' => 'path',
101                  'type' => 'string',
102                  'required' => true,
103                ],
104              ],
105            ],'list' => [
106              'path' => 'v2alpha1/{+name}',
107              'httpMethod' => 'GET',
108              'parameters' => [
109                'name' => [
110                  'location' => 'path',
111                  'type' => 'string',
112                  'required' => true,
113                ],
114                'filter' => [
115                  'location' => 'query',
116                  'type' => 'string',
117                ],
118                'pageSize' => [
119                  'location' => 'query',
120                  'type' => 'integer',
121                ],
122                'pageToken' => [
123                  'location' => 'query',
124                  'type' => 'string',
125                ],
126              ],
127            ],
128          ]
129        ]
130    );
131    $this->projects_workers = new Genomics\Resource\ProjectsWorkers(
132        $this,
133        $this->serviceName,
134        'workers',
135        [
136          'methods' => [
137            'checkIn' => [
138              'path' => 'v2alpha1/{+id}:checkIn',
139              'httpMethod' => 'POST',
140              'parameters' => [
141                'id' => [
142                  'location' => 'path',
143                  'type' => 'string',
144                  'required' => true,
145                ],
146              ],
147            ],
148          ]
149        ]
150    );
151    $this->workers = new Genomics\Resource\Workers(
152        $this,
153        $this->serviceName,
154        'workers',
155        [
156          'methods' => [
157            'checkIn' => [
158              'path' => 'v2alpha1/workers/{id}:checkIn',
159              'httpMethod' => 'POST',
160              'parameters' => [
161                'id' => [
162                  'location' => 'path',
163                  'type' => 'string',
164                  'required' => true,
165                ],
166              ],
167            ],
168          ]
169        ]
170    );
171  }
172}
173
174// Adding a class alias for backwards compatibility with the previous class name.
175class_alias(Genomics::class, 'Google_Service_Genomics');
176