* $cloudchannelService = new Google\Service\Cloudchannel(...); * $customerRepricingConfigs = $cloudchannelService->accounts_customers_customerRepricingConfigs; * */ 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');