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\Directory\Resource;
19
20use Google\Service\Directory\Schema;
21use Google\Service\Directory\Schemas as SchemasModel;
22
23/**
24 * The "schemas" collection of methods.
25 * Typical usage is:
26 *  <code>
27 *   $adminService = new Google\Service\Directory(...);
28 *   $schemas = $adminService->schemas;
29 *  </code>
30 */
31class Schemas extends \Google\Service\Resource
32{
33  /**
34   * Deletes a schema. (schemas.delete)
35   *
36   * @param string $customerId Immutable ID of the Google Workspace account.
37   * @param string $schemaKey Name or immutable ID of the schema.
38   * @param array $optParams Optional parameters.
39   */
40  public function delete($customerId, $schemaKey, $optParams = [])
41  {
42    $params = ['customerId' => $customerId, 'schemaKey' => $schemaKey];
43    $params = array_merge($params, $optParams);
44    return $this->call('delete', [$params]);
45  }
46  /**
47   * Retrieves a schema. (schemas.get)
48   *
49   * @param string $customerId Immutable ID of the Google Workspace account.
50   * @param string $schemaKey Name or immutable ID of the schema.
51   * @param array $optParams Optional parameters.
52   * @return Schema
53   */
54  public function get($customerId, $schemaKey, $optParams = [])
55  {
56    $params = ['customerId' => $customerId, 'schemaKey' => $schemaKey];
57    $params = array_merge($params, $optParams);
58    return $this->call('get', [$params], Schema::class);
59  }
60  /**
61   * Creates a schema. (schemas.insert)
62   *
63   * @param string $customerId Immutable ID of the Google Workspace account.
64   * @param Schema $postBody
65   * @param array $optParams Optional parameters.
66   * @return Schema
67   */
68  public function insert($customerId, Schema $postBody, $optParams = [])
69  {
70    $params = ['customerId' => $customerId, 'postBody' => $postBody];
71    $params = array_merge($params, $optParams);
72    return $this->call('insert', [$params], Schema::class);
73  }
74  /**
75   * Retrieves all schemas for a customer. (schemas.listSchemas)
76   *
77   * @param string $customerId Immutable ID of the Google Workspace account.
78   * @param array $optParams Optional parameters.
79   * @return SchemasModel
80   */
81  public function listSchemas($customerId, $optParams = [])
82  {
83    $params = ['customerId' => $customerId];
84    $params = array_merge($params, $optParams);
85    return $this->call('list', [$params], SchemasModel::class);
86  }
87  /**
88   * Patches a schema. (schemas.patch)
89   *
90   * @param string $customerId Immutable ID of the Google Workspace account.
91   * @param string $schemaKey Name or immutable ID of the schema.
92   * @param Schema $postBody
93   * @param array $optParams Optional parameters.
94   * @return Schema
95   */
96  public function patch($customerId, $schemaKey, Schema $postBody, $optParams = [])
97  {
98    $params = ['customerId' => $customerId, 'schemaKey' => $schemaKey, 'postBody' => $postBody];
99    $params = array_merge($params, $optParams);
100    return $this->call('patch', [$params], Schema::class);
101  }
102  /**
103   * Updates a schema. (schemas.update)
104   *
105   * @param string $customerId Immutable ID of the Google Workspace account.
106   * @param string $schemaKey Name or immutable ID of the schema.
107   * @param Schema $postBody
108   * @param array $optParams Optional parameters.
109   * @return Schema
110   */
111  public function update($customerId, $schemaKey, Schema $postBody, $optParams = [])
112  {
113    $params = ['customerId' => $customerId, 'schemaKey' => $schemaKey, 'postBody' => $postBody];
114    $params = array_merge($params, $optParams);
115    return $this->call('update', [$params], Schema::class);
116  }
117}
118
119// Adding a class alias for backwards compatibility with the previous class name.
120class_alias(Schemas::class, 'Google_Service_Directory_Resource_Schemas');
121