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 Manager (v1beta2).
20 *
21 * <p>
22 * The Deployment Manager API allows users to declaratively configure, deploy
23 * and run complex solutions on the Google Cloud Platform.</p>
24 *
25 * <p>
26 * For more information about this service, see the API
27 * <a href="https://developers.google.com/deployment-manager/" target="_blank">Documentation</a>
28 * </p>
29 *
30 * @author Google, Inc.
31 */
32class Google_Service_Manager extends Google_Service
33{
34  /** View and manage your applications deployed on Google App Engine. */
35  const APPENGINE_ADMIN =
36      "https://www.googleapis.com/auth/appengine.admin";
37  /** View and manage your data across Google Cloud Platform services. */
38  const CLOUD_PLATFORM =
39      "https://www.googleapis.com/auth/cloud-platform";
40  /** View your data across Google Cloud Platform services. */
41  const CLOUD_PLATFORM_READ_ONLY =
42      "https://www.googleapis.com/auth/cloud-platform.read-only";
43  /** View and manage your Google Compute Engine resources. */
44  const COMPUTE =
45      "https://www.googleapis.com/auth/compute";
46  /** Manage your data in Google Cloud Storage. */
47  const DEVSTORAGE_READ_WRITE =
48      "https://www.googleapis.com/auth/devstorage.read_write";
49  /** View and manage your Google Cloud Platform management resources and deployment status information. */
50  const NDEV_CLOUDMAN =
51      "https://www.googleapis.com/auth/ndev.cloudman";
52  /** View your Google Cloud Platform management resources and deployment status information. */
53  const NDEV_CLOUDMAN_READONLY =
54      "https://www.googleapis.com/auth/ndev.cloudman.readonly";
55
56  public $deployments;
57  public $templates;
58
59  /**
60   * Constructs the internal representation of the Manager service.
61   *
62   * @param Google_Client $client
63   */
64  public function __construct(Google_Client $client)
65  {
66    parent::__construct($client);
67    $this->rootUrl = 'https://www.googleapis.com/';
68    $this->servicePath = 'manager/v1beta2/projects/';
69    $this->version = 'v1beta2';
70    $this->serviceName = 'manager';
71
72    $this->deployments = new Google_Service_Manager_DeploymentsResource(
73        $this,
74        $this->serviceName,
75        'deployments',
76        array(
77          'methods' => array(
78            'delete' => array(
79              'path' => '{projectId}/regions/{region}/deployments/{deploymentName}',
80              'httpMethod' => 'DELETE',
81              'parameters' => array(
82                'projectId' => array(
83                  'location' => 'path',
84                  'type' => 'string',
85                  'required' => true,
86                ),
87                'region' => array(
88                  'location' => 'path',
89                  'type' => 'string',
90                  'required' => true,
91                ),
92                'deploymentName' => array(
93                  'location' => 'path',
94                  'type' => 'string',
95                  'required' => true,
96                ),
97              ),
98            ),'get' => array(
99              'path' => '{projectId}/regions/{region}/deployments/{deploymentName}',
100              'httpMethod' => 'GET',
101              'parameters' => array(
102                'projectId' => array(
103                  'location' => 'path',
104                  'type' => 'string',
105                  'required' => true,
106                ),
107                'region' => array(
108                  'location' => 'path',
109                  'type' => 'string',
110                  'required' => true,
111                ),
112                'deploymentName' => array(
113                  'location' => 'path',
114                  'type' => 'string',
115                  'required' => true,
116                ),
117              ),
118            ),'insert' => array(
119              'path' => '{projectId}/regions/{region}/deployments',
120              'httpMethod' => 'POST',
121              'parameters' => array(
122                'projectId' => array(
123                  'location' => 'path',
124                  'type' => 'string',
125                  'required' => true,
126                ),
127                'region' => array(
128                  'location' => 'path',
129                  'type' => 'string',
130                  'required' => true,
131                ),
132              ),
133            ),'list' => array(
134              'path' => '{projectId}/regions/{region}/deployments',
135              'httpMethod' => 'GET',
136              'parameters' => array(
137                'projectId' => array(
138                  'location' => 'path',
139                  'type' => 'string',
140                  'required' => true,
141                ),
142                'region' => array(
143                  'location' => 'path',
144                  'type' => 'string',
145                  'required' => true,
146                ),
147                'maxResults' => array(
148                  'location' => 'query',
149                  'type' => 'integer',
150                ),
151                'pageToken' => array(
152                  'location' => 'query',
153                  'type' => 'string',
154                ),
155              ),
156            ),
157          )
158        )
159    );
160    $this->templates = new Google_Service_Manager_TemplatesResource(
161        $this,
162        $this->serviceName,
163        'templates',
164        array(
165          'methods' => array(
166            'delete' => array(
167              'path' => '{projectId}/templates/{templateName}',
168              'httpMethod' => 'DELETE',
169              'parameters' => array(
170                'projectId' => array(
171                  'location' => 'path',
172                  'type' => 'string',
173                  'required' => true,
174                ),
175                'templateName' => array(
176                  'location' => 'path',
177                  'type' => 'string',
178                  'required' => true,
179                ),
180              ),
181            ),'get' => array(
182              'path' => '{projectId}/templates/{templateName}',
183              'httpMethod' => 'GET',
184              'parameters' => array(
185                'projectId' => array(
186                  'location' => 'path',
187                  'type' => 'string',
188                  'required' => true,
189                ),
190                'templateName' => array(
191                  'location' => 'path',
192                  'type' => 'string',
193                  'required' => true,
194                ),
195              ),
196            ),'insert' => array(
197              'path' => '{projectId}/templates',
198              'httpMethod' => 'POST',
199              'parameters' => array(
200                'projectId' => array(
201                  'location' => 'path',
202                  'type' => 'string',
203                  'required' => true,
204                ),
205              ),
206            ),'list' => array(
207              'path' => '{projectId}/templates',
208              'httpMethod' => 'GET',
209              'parameters' => array(
210                'projectId' => array(
211                  'location' => 'path',
212                  'type' => 'string',
213                  'required' => true,
214                ),
215                'maxResults' => array(
216                  'location' => 'query',
217                  'type' => 'integer',
218                ),
219                'pageToken' => array(
220                  'location' => 'query',
221                  'type' => 'string',
222                ),
223              ),
224            ),
225          )
226        )
227    );
228  }
229}
230