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 Tracing (v2).
20 *
21 * <p>
22 * Send and retrieve trace data from Google Stackdriver Trace.</p>
23 *
24 * <p>
25 * For more information about this service, see the API
26 * <a href="https://cloud.google.com/trace" target="_blank">Documentation</a>
27 * </p>
28 *
29 * @author Google, Inc.
30 */
31class Google_Service_Tracing 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  /** Write Trace data for a project or application. */
37  const TRACE_APPEND =
38      "https://www.googleapis.com/auth/trace.append";
39  /** Read Trace data for a project or application. */
40  const TRACE_READONLY =
41      "https://www.googleapis.com/auth/trace.readonly";
42
43  public $projects_traces;
44  public $projects_traces_spans;
45
46  /**
47   * Constructs the internal representation of the Tracing service.
48   *
49   * @param Google_Client $client
50   */
51  public function __construct(Google_Client $client)
52  {
53    parent::__construct($client);
54    $this->rootUrl = 'https://tracing.googleapis.com/';
55    $this->servicePath = '';
56    $this->version = 'v2';
57    $this->serviceName = 'tracing';
58
59    $this->projects_traces = new Google_Service_Tracing_Resource_ProjectsTraces(
60        $this,
61        $this->serviceName,
62        'traces',
63        array(
64          'methods' => array(
65            'batchWrite' => array(
66              'path' => 'v2/{+name}/traces:batchWrite',
67              'httpMethod' => 'POST',
68              'parameters' => array(
69                'name' => array(
70                  'location' => 'path',
71                  'type' => 'string',
72                  'required' => true,
73                ),
74              ),
75            ),'list' => array(
76              'path' => 'v2/{+parent}/traces',
77              'httpMethod' => 'GET',
78              'parameters' => array(
79                'parent' => array(
80                  'location' => 'path',
81                  'type' => 'string',
82                  'required' => true,
83                ),
84                'filter' => array(
85                  'location' => 'query',
86                  'type' => 'string',
87                ),
88                'endTime' => array(
89                  'location' => 'query',
90                  'type' => 'string',
91                ),
92                'pageToken' => array(
93                  'location' => 'query',
94                  'type' => 'string',
95                ),
96                'startTime' => array(
97                  'location' => 'query',
98                  'type' => 'string',
99                ),
100                'pageSize' => array(
101                  'location' => 'query',
102                  'type' => 'integer',
103                ),
104                'orderBy' => array(
105                  'location' => 'query',
106                  'type' => 'string',
107                ),
108              ),
109            ),'listSpans' => array(
110              'path' => 'v2/{+parent}:listSpans',
111              'httpMethod' => 'GET',
112              'parameters' => array(
113                'parent' => array(
114                  'location' => 'path',
115                  'type' => 'string',
116                  'required' => true,
117                ),
118                'pageToken' => array(
119                  'location' => 'query',
120                  'type' => 'string',
121                ),
122              ),
123            ),
124          )
125        )
126    );
127    $this->projects_traces_spans = new Google_Service_Tracing_Resource_ProjectsTracesSpans(
128        $this,
129        $this->serviceName,
130        'spans',
131        array(
132          'methods' => array(
133            'create' => array(
134              'path' => 'v2/{+name}',
135              'httpMethod' => 'PUT',
136              'parameters' => array(
137                'name' => array(
138                  'location' => 'path',
139                  'type' => 'string',
140                  'required' => true,
141                ),
142              ),
143            ),
144          )
145        )
146    );
147  }
148}
149