📄 Source: AccountsCustomersCustomerRepricingConfigs.php
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\Cloudchannel\Resource;
use Google\Service\Cloudchannel\GoogleCloudChannelV1CustomerRepricingConfig;
use Google\Service\Cloudchannel\GoogleCloudChannelV1ListCustomerRepricingConfigsResponse;
use Google\Service\Cloudchannel\GoogleProtobufEmpty;
/**
* The "customerRepricingConfigs" collection of methods.
* Typical usage is:
* <code>
* $cloudchannelService = new Google\Service\Cloudchannel(...);
* $customerRepricingConfigs = $cloudchannelService->accounts_customers_customerRepricingConfigs;
* </code>
*/
class AccountsCustomersCustomerRepricingConfigs extends \Google\Service\Resource
{
/**
* Creates a CustomerRepricingConfig. Call this method to set modifications for
* a specific customer's bill. You can only create configs if the
* RepricingConfig.effective_invoice_month is a future month. If needed, you can
* create a config for the current month, with some restrictions. When creating
* a config for a future month, make sure there are no existing configs for that
* RepricingConfig.effective_invoice_month. The following restrictions are for
* creating configs in the current month. * This functionality is reserved for
* recovering from an erroneous config, and should not be used for regular
* business cases. * The new config will not modify exports used with other
* configs. Changes to the config may be immediate, but may take up to 24 hours.
* * There is a limit of ten configs for any
* RepricingConfig.EntitlementGranularity.entitlement, for any
* RepricingConfig.effective_invoice_month. * The contained
* CustomerRepricingConfig.repricing_config value must be different from the
* value used in the current config for a
* RepricingConfig.EntitlementGranularity.entitlement. Possible Error Codes: *
* PERMISSION_DENIED: If the account making the request and the account being
* queried are different. * INVALID_ARGUMENT: Missing or invalid required
* parameters in the request. Also displays if the updated config is for the
* current month or past months. * NOT_FOUND: The CustomerRepricingConfig
* specified does not exist or is not associated with the given account. *
* INTERNAL: Any non-user error related to technical issues in the backend. In
* this case, contact Cloud Channel support. Return Value: If successful, the
* updated CustomerRepricingConfig resource, otherwise returns an error.
* (customerRepricingConfigs.create)
*
* @param string $parent Required. The resource name of the customer that will
* receive this repricing config. Parent uses the format:
* accounts/{account_id}/customers/{customer_id}
* @param GoogleCloudChannelV1CustomerRepricingConfig $postBody
* @param array $optParams Optional parameters.
* @return GoogleCloudChannelV1CustomerRepricingConfig
* @throws \Google\Service\Exception
*/
public function create($parent, GoogleCloudChannelV1CustomerRepricingConfig $postBody, $optParams = [])
{
$params = ['parent' => $parent, 'postBody' => $postBody];
$params = array_merge($params, $optParams);
return $this->call('create', [$params], GoogleCloudChannelV1CustomerRepricingConfig::class);
}
/**
* Deletes the given CustomerRepricingConfig permanently. You can only delete
* configs if their RepricingConfig.effective_invoice_month is set to a date
* after the current month. Possible error codes: * PERMISSION_DENIED: The
* account making the request does not own this customer. * INVALID_ARGUMENT:
* Required request parameters are missing or invalid. * FAILED_PRECONDITION:
* The CustomerRepricingConfig is active or in the past. * NOT_FOUND: No
* CustomerRepricingConfig found for the name in the request.
* (customerRepricingConfigs.delete)
*
* @param string $name Required. The resource name of the customer repricing
* config rule to delete. Format:
* accounts/{account_id}/customers/{customer_id}/customerRepricingConfigs/{id}.
* @param array $optParams Optional parameters.
* @return GoogleProtobufEmpty
* @throws \Google\Service\Exception
*/
public function delete($name, $optParams = [])
{
$params = ['name' => $name];
$params = array_merge($params, $optParams);
return $this->call('delete', [$params], GoogleProtobufEmpty::class);
}
/**
* Gets information about how a Reseller modifies their bill before sending it
* to a Customer. Possible Error Codes: * PERMISSION_DENIED: If the account
* making the request and the account being queried are different. * NOT_FOUND:
* The CustomerRepricingConfig was not found. * INTERNAL: Any non-user error
* related to technical issues in the backend. In this case, contact Cloud
* Channel support. Return Value: If successful, the CustomerRepricingConfig
* resource, otherwise returns an error. (customerRepricingConfigs.get)
*
* @param string $name Required. The resource name of the
* CustomerRepricingConfig. Format:
* accounts/{account_id}/customers/{customer_id}/customerRepricingConfigs/{id}.
* @param array $optParams Optional parameters.
* @return GoogleCloudChannelV1CustomerRepricingConfig
* @throws \Google\Service\Exception
*/
public function get($name, $optParams = [])
{
$params = ['name' => $name];
$params = array_merge($params, $optParams);
return $this->call('get', [$params], GoogleCloudChannelV1CustomerRepricingConfig::class);
}
/**
* Lists information about how a Reseller modifies their bill before sending it
* to a Customer. Possible Error Codes: * PERMISSION_DENIED: If the account
* making the request and the account being queried are different. * NOT_FOUND:
* The CustomerRepricingConfig specified does not exist or is not associated
* with the given account. * INTERNAL: Any non-user error related to technical
* issues in the backend. In this case, contact Cloud Channel support. Return
* Value: If successful, the CustomerRepricingConfig resources. The data for
* each resource is displayed in the ascending order of: * Customer ID *
* RepricingConfig.EntitlementGranularity.entitlement *
* RepricingConfig.effective_invoice_month * CustomerRepricingConfig.update_time
* If unsuccessful, returns an error.
* (customerRepricingConfigs.listAccountsCustomersCustomerRepricingConfigs)
*
* @param string $parent Required. The resource name of the customer. Parent
* uses the format: accounts/{account_id}/customers/{customer_id}. Supports
* accounts/{account_id}/customers/- to retrieve configs for all customers.
* @param array $optParams Optional parameters.
*
* @opt_param string filter Optional. A filter for
* [CloudChannelService.ListCustomerRepricingConfigs] results (customer only).
* You can use this filter when you support a BatchGet-like query. To use the
* filter, you must set `parent=accounts/{account_id}/customers/-`. Example:
* customer = accounts/account_id/customers/c1 OR customer =
* accounts/account_id/customers/c2.
* @opt_param int pageSize Optional. The maximum number of repricing configs to
* return. The service may return fewer than this value. If unspecified, returns
* a maximum of 50 rules. The maximum value is 100; values above 100 will be
* coerced to 100.
* @opt_param string pageToken Optional. A token identifying a page of results
* beyond the first page. Obtained through
* ListCustomerRepricingConfigsResponse.next_page_token of the previous
* CloudChannelService.ListCustomerRepricingConfigs call.
* @return GoogleCloudChannelV1ListCustomerRepricingConfigsResponse
* @throws \Google\Service\Exception
*/
public function listAccountsCustomersCustomerRepricingConfigs($parent, $optParams = [])
{
$params = ['parent' => $parent];
$params = array_merge($params, $optParams);
return $this->call('list', [$params], GoogleCloudChannelV1ListCustomerRepricingConfigsResponse::class);
}
/**
* Updates a CustomerRepricingConfig. Call this method to set modifications for
* a specific customer's bill. This method overwrites the existing
* CustomerRepricingConfig. You can only update configs if the
* RepricingConfig.effective_invoice_month is a future month. To make changes to
* configs for the current month, use CreateCustomerRepricingConfig, taking note
* of its restrictions. You cannot update the
* RepricingConfig.effective_invoice_month. When updating a config in the
* future: * This config must already exist. Possible Error Codes: *
* PERMISSION_DENIED: If the account making the request and the account being
* queried are different. * INVALID_ARGUMENT: Missing or invalid required
* parameters in the request. Also displays if the updated config is for the
* current month or past months. * NOT_FOUND: The CustomerRepricingConfig
* specified does not exist or is not associated with the given account. *
* INTERNAL: Any non-user error related to technical issues in the backend. In
* this case, contact Cloud Channel support. Return Value: If successful, the
* updated CustomerRepricingConfig resource, otherwise returns an error.
* (customerRepricingConfigs.patch)
*
* @param string $name Output only. Resource name of the
* CustomerRepricingConfig. Format:
* accounts/{account_id}/customers/{customer_id}/customerRepricingConfigs/{id}.
* @param GoogleCloudChannelV1CustomerRepricingConfig $postBody
* @param array $optParams Optional parameters.
* @return GoogleCloudChannelV1CustomerRepricingConfig
* @throws \Google\Service\Exception
*/
public function patch($name, GoogleCloudChannelV1CustomerRepricingConfig $postBody, $optParams = [])
{
$params = ['name' => $name, 'postBody' => $postBody];
$params = array_merge($params, $optParams);
return $this->call('patch', [$params], GoogleCloudChannelV1CustomerRepricingConfig::class);
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(AccountsCustomersCustomerRepricingConfigs::class, 'Google_Service_Cloudchannel_Resource_AccountsCustomersCustomerRepricingConfigs');
← Back