import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; /** * Creates a ChannelPartnerRepricingConfig. Call this method to set modifications for a specific ChannelPartner'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 ChannelPartner or RepricingConfig.EntitlementGranularity.entitlement, for any RepricingConfig.effective_invoice_month. * The contained ChannelPartnerRepricingConfig.repricing_config value must be different from the value used in the current config for a ChannelPartner. 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 ChannelPartnerRepricingConfig 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 ChannelPartnerRepricingConfig resource, otherwise returns an error. * Auto-naming is currently not supported for this resource. */ export declare class ChannelPartnerRepricingConfig extends pulumi.CustomResource { /** * Get an existing ChannelPartnerRepricingConfig resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): ChannelPartnerRepricingConfig; /** * Returns true if the given object is an instance of ChannelPartnerRepricingConfig. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ChannelPartnerRepricingConfig; readonly accountId: pulumi.Output; readonly channelPartnerLinkId: pulumi.Output; /** * Resource name of the ChannelPartnerRepricingConfig. Format: accounts/{account_id}/channelPartnerLinks/{channel_partner_id}/channelPartnerRepricingConfigs/{id}. */ readonly name: pulumi.Output; /** * The configuration for bill modifications made by a reseller before sending it to ChannelPartner. */ readonly repricingConfig: pulumi.Output; /** * Timestamp of an update to the repricing rule. If `update_time` is after RepricingConfig.effective_invoice_month then it indicates this was set mid-month. */ readonly updateTime: pulumi.Output; /** * Create a ChannelPartnerRepricingConfig resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ChannelPartnerRepricingConfigArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a ChannelPartnerRepricingConfig resource. */ export interface ChannelPartnerRepricingConfigArgs { accountId: pulumi.Input; channelPartnerLinkId: pulumi.Input; /** * The configuration for bill modifications made by a reseller before sending it to ChannelPartner. */ repricingConfig: pulumi.Input; }