Skip to main content

FocusRecord

Struct FocusRecord 

Source
pub struct FocusRecord {
Show 73 fields pub billed_cost: Decimal, pub effective_cost: Decimal, pub list_cost: Decimal, pub contracted_cost: Decimal, pub billing_account_id: String, pub billing_account_name: String, pub billing_account_type: Option<String>, pub billing_currency: String, pub billing_period_start: DateTime<Utc>, pub billing_period_end: DateTime<Utc>, pub charge_period_start: DateTime<Utc>, pub charge_period_end: DateTime<Utc>, pub charge_category: String, pub charge_class: Option<String>, pub charge_description: String, pub charge_frequency: String, pub service_name: String, pub service_category: String, pub service_subcategory: Option<String>, pub service_provider_name: String, pub host_provider_name: String, pub invoice_issuer_name: String, pub provider_name: String, pub publisher_name: String, pub invoice_id: Option<String>, pub sku_id: Option<String>, pub sku_price_id: Option<String>, pub sku_meter: Option<String>, pub sku_price_details: Option<String>, pub pricing_category: Option<String>, pub pricing_currency: String, pub pricing_quantity: Option<Decimal>, pub pricing_unit: Option<String>, pub list_unit_price: Option<Decimal>, pub contracted_unit_price: Option<Decimal>, pub pricing_currency_list_unit_price: Option<Decimal>, pub pricing_currency_contracted_unit_price: Option<Decimal>, pub pricing_currency_effective_cost: Decimal, pub consumed_quantity: Option<Decimal>, pub consumed_unit: String, pub commitment_discount_category: Option<String>, pub commitment_discount_id: Option<String>, pub commitment_discount_name: Option<String>, pub commitment_discount_quantity: Option<Decimal>, pub commitment_discount_status: Option<String>, pub commitment_discount_type: Option<String>, pub commitment_discount_unit: Option<String>, pub capacity_reservation_id: Option<String>, pub capacity_reservation_status: Option<String>, pub region_id: Option<String>, pub region_name: Option<String>, pub availability_zone: Option<String>, pub resource_id: Option<String>, pub resource_name: Option<String>, pub resource_type: Option<String>, pub sub_account_id: Option<String>, pub sub_account_name: Option<String>, pub sub_account_type: Option<String>, pub tags: Option<String>, pub contract_applied: Option<String>, pub allocated_method_id: Option<String>, pub allocated_method_details: Option<String>, pub allocated_resource_id: Option<String>, pub allocated_resource_name: Option<String>, pub allocated_tags: Option<String>, pub x_model: String, pub x_token_type: String, pub x_access_path: String, pub x_estimated: bool, pub x_tool: String, pub x_project: Option<String>, pub x_pricing_status: String, pub x_consumed_tokens: Decimal,
}
Expand description

A FOCUS 1.3 Cost and Usage charge row.

Field order is the serialized column order. The full FOCUS 1.3 column set comes first (PascalCase via serde), Costroid’s custom x_ columns last. Numeric columns use [serialize_decimal] / [serialize_decimal_opt].

Fields§

§billed_cost: Decimal§effective_cost: Decimal§list_cost: Decimal§contracted_cost: Decimal§billing_account_id: String§billing_account_name: String§billing_account_type: Option<String>§billing_currency: String§billing_period_start: DateTime<Utc>§billing_period_end: DateTime<Utc>§charge_period_start: DateTime<Utc>§charge_period_end: DateTime<Utc>§charge_category: String§charge_class: Option<String>§charge_description: String§charge_frequency: String§service_name: String§service_category: String§service_subcategory: Option<String>§service_provider_name: String§host_provider_name: String§invoice_issuer_name: String§provider_name: String§publisher_name: String§invoice_id: Option<String>§sku_id: Option<String>§sku_price_id: Option<String>§sku_meter: Option<String>§sku_price_details: Option<String>§pricing_category: Option<String>§pricing_currency: String§pricing_quantity: Option<Decimal>§pricing_unit: Option<String>§list_unit_price: Option<Decimal>§contracted_unit_price: Option<Decimal>§pricing_currency_list_unit_price: Option<Decimal>§pricing_currency_contracted_unit_price: Option<Decimal>§pricing_currency_effective_cost: Decimal§consumed_quantity: Option<Decimal>§consumed_unit: String§commitment_discount_category: Option<String>§commitment_discount_id: Option<String>§commitment_discount_name: Option<String>§commitment_discount_quantity: Option<Decimal>§commitment_discount_status: Option<String>§commitment_discount_type: Option<String>§commitment_discount_unit: Option<String>§capacity_reservation_id: Option<String>§capacity_reservation_status: Option<String>§region_id: Option<String>§region_name: Option<String>§availability_zone: Option<String>§resource_id: Option<String>§resource_name: Option<String>§resource_type: Option<String>§sub_account_id: Option<String>§sub_account_name: Option<String>§sub_account_type: Option<String>§tags: Option<String>§contract_applied: Option<String>§allocated_method_id: Option<String>§allocated_method_details: Option<String>§allocated_resource_id: Option<String>§allocated_resource_name: Option<String>§allocated_tags: Option<String>§x_model: String§x_token_type: String§x_access_path: String§x_estimated: bool§x_tool: String§x_project: Option<String>§x_pricing_status: String§x_consumed_tokens: Decimal

Raw token count for this meter row, always populated (even on unpriced rows where ConsumedQuantity must be null). The aggregation engine reads this for token totals so nulling ConsumedQuantity never drops usage.

Implementations§

Trait Implementations§

Source§

impl Clone for FocusRecord

Source§

fn clone(&self) -> FocusRecord

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FocusRecord

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for FocusRecord

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for FocusRecord

Source§

fn eq(&self, other: &FocusRecord) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for FocusRecord

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for FocusRecord

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.