#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RateCardLineItem {
#[prost(message, optional, tag = "1")]
pub line_item_detail: ::core::option::Option<
super::super::super::common::v1::LineItemDetails,
>,
#[prost(message, optional, tag = "4")]
pub payg_rate: ::core::option::Option<
super::super::super::common::v1::TieredPricingRate,
>,
#[prost(message, optional, tag = "5")]
pub reserved_rate: ::core::option::Option<
super::super::super::common::v1::TieredPricingRate,
>,
#[prost(message, optional, tag = "6")]
pub uncapped_rate: ::core::option::Option<
super::super::super::common::v1::TieredPricingRate,
>,
#[prost(oneof = "rate_card_line_item::ReservedUnits", tags = "2, 3")]
pub reserved_units: ::core::option::Option<rate_card_line_item::ReservedUnits>,
}
pub mod rate_card_line_item {
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum ReservedUnits {
#[prost(bool, tag = "2")]
IsUnlimited(bool),
#[prost(uint64, tag = "3")]
NumReservedUnits(u64),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SharedRateCardLineItem {
#[prost(message, repeated, tag = "1")]
pub rate_card_line_items: ::prost::alloc::vec::Vec<RateCardLineItem>,
#[prost(message, optional, tag = "4")]
pub shared_line_item_detail: ::core::option::Option<
super::super::super::common::v1::LineItemDetails,
>,
#[prost(oneof = "shared_rate_card_line_item::ReservedPoolCents", tags = "2, 3")]
pub reserved_pool_cents: ::core::option::Option<
shared_rate_card_line_item::ReservedPoolCents,
>,
}
pub mod shared_rate_card_line_item {
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum ReservedPoolCents {
#[prost(bool, tag = "2")]
IsUnlimited(bool),
#[prost(uint64, tag = "3")]
NumReservedCents(u64),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RateCard {
#[prost(message, repeated, tag = "1")]
pub line_items: ::prost::alloc::vec::Vec<RateCardLineItem>,
#[prost(message, repeated, tag = "2")]
pub shared_line_items: ::prost::alloc::vec::Vec<SharedRateCardLineItem>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRateCardRequest {
#[prost(uint64, tag = "1")]
pub contract_id: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRateCardResponse {
#[prost(message, optional, tag = "1")]
pub rate_card: ::core::option::Option<RateCard>,
}