1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// This file is @generated by prost-build.
/// Changes an organization's contract to a new configuration. Any unset field
/// leaves the corresponding part of the contract unchanged.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeContractRequest {
#[prost(uint64, tag = "1")]
pub organization_id: u64,
/// The package the contract will switch to. If unset, the package is left
/// unchanged.
#[prost(string, optional, tag = "2")]
pub package_uid: ::core::option::Option<::prost::alloc::string::String>,
/// The contract month_interval the subscription will switch to. Must be one
/// of the package's supported_month_intervals. If unset, the month_interval
/// is left unchanged.
#[prost(uint32, optional, tag = "3")]
pub month_interval: ::core::option::Option<u32>,
/// The new user configs (PAYG budgets and/or reservation overrides) to apply
/// to the contract. If empty, the user configs are left unchanged.
#[prost(message, repeated, tag = "4")]
pub user_configs: ::prost::alloc::vec::Vec<super::super::contract::v1::UserConfig>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChangeContractResponse {}
/// Previews the effect of a contract change without committing it.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PreviewChangeContractRequest {
/// The change to preview. The exact same request can be passed to
/// change_contract to commit the previewed change.
#[prost(message, optional, tag = "1")]
pub change: ::core::option::Option<ChangeContractRequest>,
}
/// Mirrors the legacy subscription-preview web API response so the endpoint can
/// be serialized into the same shape. Amounts are in cents and signed, since
/// downgrades and credits can produce negative values.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PreviewChangeContractResponse {
/// The line items that make up the previewed invoice, including non-package
/// items such as tax and credits. When at_period_end is true these preview
/// the upcoming recurring invoice rather than an immediate charge.
#[prost(message, repeated, tag = "1")]
pub line_items: ::prost::alloc::vec::Vec<
super::super::contract::v1::InvoiceLineItem,
>,
/// Net subtotal of line_items before account balance is applied.
#[prost(int64, tag = "2")]
pub prorated_amount_cents: i64,
/// Amount that would actually be billed after applying account balance.
#[prost(int64, tag = "3")]
pub billed_amount_cents: i64,
/// Account credit applied to this invoice, as a positive number of cents.
#[prost(int64, tag = "4")]
pub credit_applied_cents: i64,
/// Signed change to the customer's account balance from this change.
#[prost(int64, tag = "5")]
pub balance_change_cents: i64,
/// Resulting account balance after the change.
#[prost(int64, tag = "6")]
pub new_balance_cents: i64,
/// Whether the change takes effect at the next billing period rollover rather
/// than immediately.
#[prost(bool, tag = "7")]
pub at_period_end: bool,
/// When the change would take effect.
#[prost(message, optional, tag = "8")]
pub effective_at: ::core::option::Option<::prost_types::Timestamp>,
/// The pending change that would be staged when at_period_end is true (e.g.
/// downgrades, reservation reductions, annual-to-monthly cadence changes).
/// Unset when the entire change applies immediately.
#[prost(message, optional, tag = "9")]
pub pending_change: ::core::option::Option<
super::super::super::common::v1::PendingChange,
>,
}