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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
// This file is @generated by prost-build.
/// Adds a PendingUserConfig to the org's pending change. Creates a pending
/// change if none exists. The new config is added to the existing
/// user_configs list, overwriting any with conflicting line items.
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AddPendingUserConfigRequest {
#[prost(uint64, tag = "1")]
pub organization_id: u64,
/// The pending user config to add (PAYG budget and/or reservation overrides
/// for a set of line items).
#[prost(message, optional, tag = "2")]
pub user_config: ::core::option::Option<
super::super::super::common::v1::PendingUserConfig,
>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AddPendingUserConfigResponse {}
/// Clears any pending change staged for an organization. No-op if none is
/// staged. Typically used when sales reverses a scheduled downgrade or when a
/// customer's new plan change supersedes the pending one.
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClearPendingChangeRequest {
#[prost(uint64, tag = "1")]
pub organization_id: u64,
/// If true, only clear the pending PAYG-budget overrides (the payg_budget
/// field on each PendingUserConfig) from the pending change, leaving
/// package_id, month_interval, and pending reservations intact. If this
/// leaves the pending change with no remaining changes, it is removed
/// entirely.
#[prost(bool, tag = "2")]
pub on_demand_only: bool,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClearPendingChangeResponse {
/// True if a pending change existed and was cleared. False if no pending
/// change was staged at the time of the call.
#[prost(bool, tag = "1")]
pub cleared: bool,
}
/// Fetches the active pending change for an organization, if any.
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPendingChangeRequest {
#[prost(uint64, tag = "1")]
pub organization_id: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPendingChangeResponse {
/// The active pending change for the org. Unset if no change is currently
/// staged.
#[prost(message, optional, tag = "1")]
pub pending_change: ::core::option::Option<
super::super::super::common::v1::PendingChange,
>,
}
/// Sets the pending month_interval on the org's pending change. Creates a
/// pending change if none exists, or updates the month_interval on the
/// existing one without modifying its other fields. Used to schedule a
/// downgrade from annual to monthly billing at the next rollover.
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetPendingMonthIntervalRequest {
#[prost(uint64, tag = "1")]
pub organization_id: u64,
/// The contract month_interval the subscription will switch to at the next
/// rollover.
#[prost(uint32, tag = "2")]
pub month_interval: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetPendingMonthIntervalResponse {}
/// Sets the pending package_id on the org's pending change. Creates a pending
/// change if none exists, or updates the package_id on the existing one
/// without modifying its user_configs.
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetPendingPackageRequest {
#[prost(uint64, tag = "1")]
pub organization_id: u64,
/// The package the subscription will switch to at the next rollover.
#[prost(string, tag = "2")]
pub package_id: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetPendingPackageResponse {}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetPendingSponsoredTypeRequest {
#[prost(uint64, tag = "1")]
pub organization_id: u64,
/// The contract sponsored_type the subscription will switch to at the next
/// rollover. SPONSORED_TYPE_UNSPECIFIED removes the sponsorship.
#[prost(enumeration = "super::super::super::common::v1::SponsoredType", tag = "2")]
pub sponsored_type: i32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetPendingSponsoredTypeResponse {}