source: vendor/google/apiclient-services/src/Cloudchannel/Resource/AccountsCustomers.php@ e3d4e0a

Last change on this file since e3d4e0a was e3d4e0a, checked in by Vlado 222039 <vlado.popovski@…>, 3 weeks ago

Upload project files

  • Property mode set to 100644
File size: 21.2 KB
Line 
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\Cloudchannel\Resource;
19
20use Google\Service\Cloudchannel\GoogleCloudChannelV1Customer;
21use Google\Service\Cloudchannel\GoogleCloudChannelV1ImportCustomerRequest;
22use Google\Service\Cloudchannel\GoogleCloudChannelV1ListCustomersResponse;
23use Google\Service\Cloudchannel\GoogleCloudChannelV1ListPurchasableOffersResponse;
24use Google\Service\Cloudchannel\GoogleCloudChannelV1ListPurchasableSkusResponse;
25use Google\Service\Cloudchannel\GoogleCloudChannelV1ProvisionCloudIdentityRequest;
26use Google\Service\Cloudchannel\GoogleCloudChannelV1QueryEligibleBillingAccountsResponse;
27use Google\Service\Cloudchannel\GoogleCloudChannelV1TransferEntitlementsRequest;
28use Google\Service\Cloudchannel\GoogleCloudChannelV1TransferEntitlementsToGoogleRequest;
29use Google\Service\Cloudchannel\GoogleLongrunningOperation;
30use Google\Service\Cloudchannel\GoogleProtobufEmpty;
31
32/**
33 * The "customers" collection of methods.
34 * Typical usage is:
35 * <code>
36 * $cloudchannelService = new Google\Service\Cloudchannel(...);
37 * $customers = $cloudchannelService->accounts_customers;
38 * </code>
39 */
40class AccountsCustomers extends \Google\Service\Resource
41{
42 /**
43 * Creates a new Customer resource under the reseller or distributor account.
44 * Possible error codes: * PERMISSION_DENIED: * The reseller account making the
45 * request is different from the reseller account in the API request. * You are
46 * not authorized to create a customer. See
47 * https://support.google.com/channelservices/answer/9759265 * INVALID_ARGUMENT:
48 * * Required request parameters are missing or invalid. * Domain field value
49 * doesn't match the primary email domain. Return value: The newly created
50 * Customer resource. (customers.create)
51 *
52 * @param string $parent Required. The resource name of reseller account in
53 * which to create the customer. Parent uses the format: accounts/{account_id}
54 * @param GoogleCloudChannelV1Customer $postBody
55 * @param array $optParams Optional parameters.
56 * @return GoogleCloudChannelV1Customer
57 * @throws \Google\Service\Exception
58 */
59 public function create($parent, GoogleCloudChannelV1Customer $postBody, $optParams = [])
60 {
61 $params = ['parent' => $parent, 'postBody' => $postBody];
62 $params = array_merge($params, $optParams);
63 return $this->call('create', [$params], GoogleCloudChannelV1Customer::class);
64 }
65 /**
66 * Deletes the given Customer permanently. Possible error codes: *
67 * PERMISSION_DENIED: The account making the request does not own this customer.
68 * * INVALID_ARGUMENT: Required request parameters are missing or invalid. *
69 * FAILED_PRECONDITION: The customer has existing entitlements. * NOT_FOUND: No
70 * Customer resource found for the name in the request. (customers.delete)
71 *
72 * @param string $name Required. The resource name of the customer to delete.
73 * @param array $optParams Optional parameters.
74 * @return GoogleProtobufEmpty
75 * @throws \Google\Service\Exception
76 */
77 public function delete($name, $optParams = [])
78 {
79 $params = ['name' => $name];
80 $params = array_merge($params, $optParams);
81 return $this->call('delete', [$params], GoogleProtobufEmpty::class);
82 }
83 /**
84 * Returns the requested Customer resource. Possible error codes: *
85 * PERMISSION_DENIED: The reseller account making the request is different from
86 * the reseller account in the API request. * INVALID_ARGUMENT: Required request
87 * parameters are missing or invalid. * NOT_FOUND: The customer resource doesn't
88 * exist. Usually the result of an invalid name parameter. Return value: The
89 * Customer resource. (customers.get)
90 *
91 * @param string $name Required. The resource name of the customer to retrieve.
92 * Name uses the format: accounts/{account_id}/customers/{customer_id}
93 * @param array $optParams Optional parameters.
94 * @return GoogleCloudChannelV1Customer
95 * @throws \Google\Service\Exception
96 */
97 public function get($name, $optParams = [])
98 {
99 $params = ['name' => $name];
100 $params = array_merge($params, $optParams);
101 return $this->call('get', [$params], GoogleCloudChannelV1Customer::class);
102 }
103 /**
104 * Imports a Customer from the Cloud Identity associated with the provided Cloud
105 * Identity ID or domain before a TransferEntitlements call. If a linked
106 * Customer already exists and overwrite_if_exists is true, it will update that
107 * Customer's data. Possible error codes: * PERMISSION_DENIED: * The reseller
108 * account making the request is different from the reseller account in the API
109 * request. * You are not authorized to import the customer. See
110 * https://support.google.com/channelservices/answer/9759265 * NOT_FOUND: Cloud
111 * Identity doesn't exist or was deleted. * INVALID_ARGUMENT: Required
112 * parameters are missing, or the auth_token is expired or invalid. *
113 * ALREADY_EXISTS: A customer already exists and has conflicting critical
114 * fields. Requires an overwrite. Return value: The Customer. (customers.import)
115 *
116 * @param string $parent Required. The resource name of the reseller's account.
117 * Parent takes the format: accounts/{account_id} or
118 * accounts/{account_id}/channelPartnerLinks/{channel_partner_id}
119 * @param GoogleCloudChannelV1ImportCustomerRequest $postBody
120 * @param array $optParams Optional parameters.
121 * @return GoogleCloudChannelV1Customer
122 * @throws \Google\Service\Exception
123 */
124 public function import($parent, GoogleCloudChannelV1ImportCustomerRequest $postBody, $optParams = [])
125 {
126 $params = ['parent' => $parent, 'postBody' => $postBody];
127 $params = array_merge($params, $optParams);
128 return $this->call('import', [$params], GoogleCloudChannelV1Customer::class);
129 }
130 /**
131 * List Customers. Possible error codes: * PERMISSION_DENIED: The reseller
132 * account making the request is different from the reseller account in the API
133 * request. * INVALID_ARGUMENT: Required request parameters are missing or
134 * invalid. Return value: List of Customers, or an empty list if there are no
135 * customers. (customers.listAccountsCustomers)
136 *
137 * @param string $parent Required. The resource name of the reseller account to
138 * list customers from. Parent uses the format: accounts/{account_id}.
139 * @param array $optParams Optional parameters.
140 *
141 * @opt_param string filter Optional. Filters applied to the
142 * [CloudChannelService.ListCustomers] results. See
143 * https://cloud.google.com/channel/docs/concepts/google-cloud/filter-customers
144 * for more information.
145 * @opt_param int pageSize Optional. The maximum number of customers to return.
146 * The service may return fewer than this value. If unspecified, returns at most
147 * 10 customers. The maximum value is 50.
148 * @opt_param string pageToken Optional. A token identifying a page of results
149 * other than the first page. Obtained through
150 * ListCustomersResponse.next_page_token of the previous
151 * CloudChannelService.ListCustomers call.
152 * @return GoogleCloudChannelV1ListCustomersResponse
153 * @throws \Google\Service\Exception
154 */
155 public function listAccountsCustomers($parent, $optParams = [])
156 {
157 $params = ['parent' => $parent];
158 $params = array_merge($params, $optParams);
159 return $this->call('list', [$params], GoogleCloudChannelV1ListCustomersResponse::class);
160 }
161 /**
162 * Lists the following: * Offers that you can purchase for a customer. * Offers
163 * that you can change for an entitlement. Possible error codes: *
164 * PERMISSION_DENIED: * The customer doesn't belong to the reseller * The
165 * reseller is not authorized to transact on this Product. See
166 * https://support.google.com/channelservices/answer/9759265 * INVALID_ARGUMENT:
167 * Required request parameters are missing or invalid.
168 * (customers.listPurchasableOffers)
169 *
170 * @param string $customer Required. The resource name of the customer to list
171 * Offers for. Format: accounts/{account_id}/customers/{customer_id}.
172 * @param array $optParams Optional parameters.
173 *
174 * @opt_param string changeOfferPurchase.billingAccount Optional. Resource name
175 * of the new target Billing Account. Provide this Billing Account when setting
176 * up billing for a trial subscription. Format:
177 * accounts/{account_id}/billingAccounts/{billing_account_id}. This field is
178 * only relevant for multi-currency accounts. It should be left empty for single
179 * currency accounts.
180 * @opt_param string changeOfferPurchase.entitlement Required. Resource name of
181 * the entitlement. Format:
182 * accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
183 * @opt_param string changeOfferPurchase.newSku Optional. Resource name of the
184 * new target SKU. Provide this SKU when upgrading or downgrading an
185 * entitlement. Format: products/{product_id}/skus/{sku_id}
186 * @opt_param string createEntitlementPurchase.billingAccount Optional. Billing
187 * account that the result should be restricted to. Format:
188 * accounts/{account_id}/billingAccounts/{billing_account_id}.
189 * @opt_param string createEntitlementPurchase.sku Required. SKU that the result
190 * should be restricted to. Format: products/{product_id}/skus/{sku_id}.
191 * @opt_param string languageCode Optional. The BCP-47 language code. For
192 * example, "en-US". The response will localize in the corresponding language
193 * code, if specified. The default value is "en-US".
194 * @opt_param int pageSize Optional. Requested page size. Server might return
195 * fewer results than requested. If unspecified, returns at most 100 Offers. The
196 * maximum value is 1000; the server will coerce values above 1000.
197 * @opt_param string pageToken Optional. A token for a page of results other
198 * than the first page.
199 * @return GoogleCloudChannelV1ListPurchasableOffersResponse
200 * @throws \Google\Service\Exception
201 */
202 public function listPurchasableOffers($customer, $optParams = [])
203 {
204 $params = ['customer' => $customer];
205 $params = array_merge($params, $optParams);
206 return $this->call('listPurchasableOffers', [$params], GoogleCloudChannelV1ListPurchasableOffersResponse::class);
207 }
208 /**
209 * Lists the following: * SKUs that you can purchase for a customer * SKUs that
210 * you can upgrade or downgrade for an entitlement. Possible error codes: *
211 * PERMISSION_DENIED: The customer doesn't belong to the reseller. *
212 * INVALID_ARGUMENT: Required request parameters are missing or invalid.
213 * (customers.listPurchasableSkus)
214 *
215 * @param string $customer Required. The resource name of the customer to list
216 * SKUs for. Format: accounts/{account_id}/customers/{customer_id}.
217 * @param array $optParams Optional parameters.
218 *
219 * @opt_param string changeOfferPurchase.changeType Required. Change Type for
220 * the entitlement.
221 * @opt_param string changeOfferPurchase.entitlement Required. Resource name of
222 * the entitlement. Format:
223 * accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
224 * @opt_param string createEntitlementPurchase.product Required. List SKUs
225 * belonging to this Product. Format: products/{product_id}. Supports products/-
226 * to retrieve SKUs for all products.
227 * @opt_param string languageCode Optional. The BCP-47 language code. For
228 * example, "en-US". The response will localize in the corresponding language
229 * code, if specified. The default value is "en-US".
230 * @opt_param int pageSize Optional. Requested page size. Server might return
231 * fewer results than requested. If unspecified, returns at most 100 SKUs. The
232 * maximum value is 1000; the server will coerce values above 1000.
233 * @opt_param string pageToken Optional. A token for a page of results other
234 * than the first page.
235 * @return GoogleCloudChannelV1ListPurchasableSkusResponse
236 * @throws \Google\Service\Exception
237 */
238 public function listPurchasableSkus($customer, $optParams = [])
239 {
240 $params = ['customer' => $customer];
241 $params = array_merge($params, $optParams);
242 return $this->call('listPurchasableSkus', [$params], GoogleCloudChannelV1ListPurchasableSkusResponse::class);
243 }
244 /**
245 * Updates an existing Customer resource for the reseller or distributor.
246 * Possible error codes: * PERMISSION_DENIED: The reseller account making the
247 * request is different from the reseller account in the API request. *
248 * INVALID_ARGUMENT: Required request parameters are missing or invalid. *
249 * NOT_FOUND: No Customer resource found for the name in the request. Return
250 * value: The updated Customer resource. (customers.patch)
251 *
252 * @param string $name Output only. Resource name of the customer. Format:
253 * accounts/{account_id}/customers/{customer_id}
254 * @param GoogleCloudChannelV1Customer $postBody
255 * @param array $optParams Optional parameters.
256 *
257 * @opt_param string updateMask The update mask that applies to the resource.
258 * Optional.
259 * @return GoogleCloudChannelV1Customer
260 * @throws \Google\Service\Exception
261 */
262 public function patch($name, GoogleCloudChannelV1Customer $postBody, $optParams = [])
263 {
264 $params = ['name' => $name, 'postBody' => $postBody];
265 $params = array_merge($params, $optParams);
266 return $this->call('patch', [$params], GoogleCloudChannelV1Customer::class);
267 }
268 /**
269 * Creates a Cloud Identity for the given customer using the customer's
270 * information, or the information provided here. Possible error codes: *
271 * PERMISSION_DENIED: * The customer doesn't belong to the reseller. * You are
272 * not authorized to provision cloud identity id. See
273 * https://support.google.com/channelservices/answer/9759265 * INVALID_ARGUMENT:
274 * Required request parameters are missing or invalid. * NOT_FOUND: The customer
275 * was not found. * ALREADY_EXISTS: The customer's primary email already exists.
276 * Retry after changing the customer's primary contact email. * INTERNAL: Any
277 * non-user error related to a technical issue in the backend. Contact Cloud
278 * Channel support. * UNKNOWN: Any non-user error related to a technical issue
279 * in the backend. Contact Cloud Channel support. Return value: The ID of a
280 * long-running operation. To get the results of the operation, call the
281 * GetOperation method of CloudChannelOperationsService. The Operation metadata
282 * contains an instance of OperationMetadata. (customers.provisionCloudIdentity)
283 *
284 * @param string $customer Required. Resource name of the customer. Format:
285 * accounts/{account_id}/customers/{customer_id}
286 * @param GoogleCloudChannelV1ProvisionCloudIdentityRequest $postBody
287 * @param array $optParams Optional parameters.
288 * @return GoogleLongrunningOperation
289 * @throws \Google\Service\Exception
290 */
291 public function provisionCloudIdentity($customer, GoogleCloudChannelV1ProvisionCloudIdentityRequest $postBody, $optParams = [])
292 {
293 $params = ['customer' => $customer, 'postBody' => $postBody];
294 $params = array_merge($params, $optParams);
295 return $this->call('provisionCloudIdentity', [$params], GoogleLongrunningOperation::class);
296 }
297 /**
298 * Lists the billing accounts that are eligible to purchase particular SKUs for
299 * a given customer. Possible error codes: * PERMISSION_DENIED: The customer
300 * doesn't belong to the reseller. * INVALID_ARGUMENT: Required request
301 * parameters are missing or invalid. Return value: Based on the provided list
302 * of SKUs, returns a list of SKU groups that must be purchased using the same
303 * billing account and the billing accounts eligible to purchase each SKU group.
304 * (customers.queryEligibleBillingAccounts)
305 *
306 * @param string $customer Required. The resource name of the customer to list
307 * eligible billing accounts for. Format:
308 * accounts/{account_id}/customers/{customer_id}.
309 * @param array $optParams Optional parameters.
310 *
311 * @opt_param string skus Required. List of SKUs to list eligible billing
312 * accounts for. At least one SKU is required. Format:
313 * products/{product_id}/skus/{sku_id}.
314 * @return GoogleCloudChannelV1QueryEligibleBillingAccountsResponse
315 * @throws \Google\Service\Exception
316 */
317 public function queryEligibleBillingAccounts($customer, $optParams = [])
318 {
319 $params = ['customer' => $customer];
320 $params = array_merge($params, $optParams);
321 return $this->call('queryEligibleBillingAccounts', [$params], GoogleCloudChannelV1QueryEligibleBillingAccountsResponse::class);
322 }
323 /**
324 * Transfers customer entitlements to new reseller. Possible error codes: *
325 * PERMISSION_DENIED: * The customer doesn't belong to the reseller. * The
326 * reseller is not authorized to transact on this Product. See
327 * https://support.google.com/channelservices/answer/9759265 * INVALID_ARGUMENT:
328 * Required request parameters are missing or invalid. * NOT_FOUND: The customer
329 * or offer resource was not found. * ALREADY_EXISTS: The SKU was already
330 * transferred for the customer. * CONDITION_NOT_MET or FAILED_PRECONDITION: *
331 * The SKU requires domain verification to transfer, but the domain is not
332 * verified. * An Add-On SKU (example, Vault or Drive) is missing the pre-
333 * requisite SKU (example, G Suite Basic). * (Developer accounts only) Reseller
334 * and resold domain must meet the following naming requirements: * Domain names
335 * must start with goog-test. * Domain names must include the reseller domain. *
336 * Specify all transferring entitlements. * INTERNAL: Any non-user error related
337 * to a technical issue in the backend. Contact Cloud Channel support. *
338 * UNKNOWN: Any non-user error related to a technical issue in the backend.
339 * Contact Cloud Channel support. Return value: The ID of a long-running
340 * operation. To get the results of the operation, call the GetOperation method
341 * of CloudChannelOperationsService. The Operation metadata will contain an
342 * instance of OperationMetadata. (customers.transferEntitlements)
343 *
344 * @param string $parent Required. The resource name of the reseller's customer
345 * account that will receive transferred entitlements. Parent uses the format:
346 * accounts/{account_id}/customers/{customer_id}
347 * @param GoogleCloudChannelV1TransferEntitlementsRequest $postBody
348 * @param array $optParams Optional parameters.
349 * @return GoogleLongrunningOperation
350 * @throws \Google\Service\Exception
351 */
352 public function transferEntitlements($parent, GoogleCloudChannelV1TransferEntitlementsRequest $postBody, $optParams = [])
353 {
354 $params = ['parent' => $parent, 'postBody' => $postBody];
355 $params = array_merge($params, $optParams);
356 return $this->call('transferEntitlements', [$params], GoogleLongrunningOperation::class);
357 }
358 /**
359 * Transfers customer entitlements from their current reseller to Google.
360 * Possible error codes: * PERMISSION_DENIED: The customer doesn't belong to the
361 * reseller. * INVALID_ARGUMENT: Required request parameters are missing or
362 * invalid. * NOT_FOUND: The customer or offer resource was not found. *
363 * ALREADY_EXISTS: The SKU was already transferred for the customer. *
364 * CONDITION_NOT_MET or FAILED_PRECONDITION: * The SKU requires domain
365 * verification to transfer, but the domain is not verified. * An Add-On SKU
366 * (example, Vault or Drive) is missing the pre-requisite SKU (example, G Suite
367 * Basic). * (Developer accounts only) Reseller and resold domain must meet the
368 * following naming requirements: * Domain names must start with goog-test. *
369 * Domain names must include the reseller domain. * INTERNAL: Any non-user error
370 * related to a technical issue in the backend. Contact Cloud Channel support. *
371 * UNKNOWN: Any non-user error related to a technical issue in the backend.
372 * Contact Cloud Channel support. Return value: The ID of a long-running
373 * operation. To get the results of the operation, call the GetOperation method
374 * of CloudChannelOperationsService. The response will contain
375 * google.protobuf.Empty on success. The Operation metadata will contain an
376 * instance of OperationMetadata. (customers.transferEntitlementsToGoogle)
377 *
378 * @param string $parent Required. The resource name of the reseller's customer
379 * account where the entitlements transfer from. Parent uses the format:
380 * accounts/{account_id}/customers/{customer_id}
381 * @param GoogleCloudChannelV1TransferEntitlementsToGoogleRequest $postBody
382 * @param array $optParams Optional parameters.
383 * @return GoogleLongrunningOperation
384 * @throws \Google\Service\Exception
385 */
386 public function transferEntitlementsToGoogle($parent, GoogleCloudChannelV1TransferEntitlementsToGoogleRequest $postBody, $optParams = [])
387 {
388 $params = ['parent' => $parent, 'postBody' => $postBody];
389 $params = array_merge($params, $optParams);
390 return $this->call('transferEntitlementsToGoogle', [$params], GoogleLongrunningOperation::class);
391 }
392}
393
394// Adding a class alias for backwards compatibility with the previous class name.
395class_alias(AccountsCustomers::class, 'Google_Service_Cloudchannel_Resource_AccountsCustomers');
Note: See TracBrowser for help on using the repository browser.