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 CloudComposer (v1).
20 *
21 * <p>
22 * Manages Apache Airflow environments on Google Cloud Platform.</p>
23 *
24 * <p>
25 * For more information about this service, see the API
26 * <a href="https://cloud.google.com/composer/" target="_blank">Documentation</a>
27 * </p>
28 *
29 * @author Google, Inc.
30 */
31class Google_Service_CloudComposer extends Google_Service
32{
33  /** View and manage your data across Google Cloud Platform services. */
34  const CLOUD_PLATFORM =
35      "https://www.googleapis.com/auth/cloud-platform";
36
37  public $projects_locations_environments;
38  public $projects_locations_imageVersions;
39  public $projects_locations_operations;
40
41  /**
42   * Constructs the internal representation of the CloudComposer service.
43   *
44   * @param Google_Client $client
45   */
46  public function __construct(Google_Client $client)
47  {
48    parent::__construct($client);
49    $this->rootUrl = 'https://composer.googleapis.com/';
50    $this->servicePath = '';
51    $this->batchPath = 'batch';
52    $this->version = 'v1';
53    $this->serviceName = 'composer';
54
55    $this->projects_locations_environments = new Google_Service_CloudComposer_Resource_ProjectsLocationsEnvironments(
56        $this,
57        $this->serviceName,
58        'environments',
59        array(
60          'methods' => array(
61            'create' => array(
62              'path' => 'v1/{+parent}/environments',
63              'httpMethod' => 'POST',
64              'parameters' => array(
65                'parent' => array(
66                  'location' => 'path',
67                  'type' => 'string',
68                  'required' => true,
69                ),
70              ),
71            ),'delete' => array(
72              'path' => 'v1/{+name}',
73              'httpMethod' => 'DELETE',
74              'parameters' => array(
75                'name' => array(
76                  'location' => 'path',
77                  'type' => 'string',
78                  'required' => true,
79                ),
80              ),
81            ),'get' => array(
82              'path' => 'v1/{+name}',
83              'httpMethod' => 'GET',
84              'parameters' => array(
85                'name' => array(
86                  'location' => 'path',
87                  'type' => 'string',
88                  'required' => true,
89                ),
90              ),
91            ),'list' => array(
92              'path' => 'v1/{+parent}/environments',
93              'httpMethod' => 'GET',
94              'parameters' => array(
95                'parent' => array(
96                  'location' => 'path',
97                  'type' => 'string',
98                  'required' => true,
99                ),
100                'pageToken' => array(
101                  'location' => 'query',
102                  'type' => 'string',
103                ),
104                'pageSize' => array(
105                  'location' => 'query',
106                  'type' => 'integer',
107                ),
108              ),
109            ),'patch' => array(
110              'path' => 'v1/{+name}',
111              'httpMethod' => 'PATCH',
112              'parameters' => array(
113                'name' => array(
114                  'location' => 'path',
115                  'type' => 'string',
116                  'required' => true,
117                ),
118                'updateMask' => array(
119                  'location' => 'query',
120                  'type' => 'string',
121                ),
122              ),
123            ),
124          )
125        )
126    );
127    $this->projects_locations_imageVersions = new Google_Service_CloudComposer_Resource_ProjectsLocationsImageVersions(
128        $this,
129        $this->serviceName,
130        'imageVersions',
131        array(
132          'methods' => array(
133            'list' => array(
134              'path' => 'v1/{+parent}/imageVersions',
135              'httpMethod' => 'GET',
136              'parameters' => array(
137                'parent' => array(
138                  'location' => 'path',
139                  'type' => 'string',
140                  'required' => true,
141                ),
142                'pageToken' => array(
143                  'location' => 'query',
144                  'type' => 'string',
145                ),
146                'pageSize' => array(
147                  'location' => 'query',
148                  'type' => 'integer',
149                ),
150              ),
151            ),
152          )
153        )
154    );
155    $this->projects_locations_operations = new Google_Service_CloudComposer_Resource_ProjectsLocationsOperations(
156        $this,
157        $this->serviceName,
158        'operations',
159        array(
160          'methods' => array(
161            'delete' => array(
162              'path' => 'v1/{+name}',
163              'httpMethod' => 'DELETE',
164              'parameters' => array(
165                'name' => array(
166                  'location' => 'path',
167                  'type' => 'string',
168                  'required' => true,
169                ),
170              ),
171            ),'get' => array(
172              'path' => 'v1/{+name}',
173              'httpMethod' => 'GET',
174              'parameters' => array(
175                'name' => array(
176                  'location' => 'path',
177                  'type' => 'string',
178                  'required' => true,
179                ),
180              ),
181            ),'list' => array(
182              'path' => 'v1/{+name}/operations',
183              'httpMethod' => 'GET',
184              'parameters' => array(
185                'name' => array(
186                  'location' => 'path',
187                  'type' => 'string',
188                  'required' => true,
189                ),
190                'pageToken' => array(
191                  'location' => 'query',
192                  'type' => 'string',
193                ),
194                'pageSize' => array(
195                  'location' => 'query',
196                  'type' => 'integer',
197                ),
198                'filter' => array(
199                  'location' => 'query',
200                  'type' => 'string',
201                ),
202              ),
203            ),
204          )
205        )
206    );
207  }
208}
209