#[non_exhaustive]pub struct ExternalServiceCost {
pub external_service: String,
pub bytes_processed: Option<Int64Value>,
pub bytes_billed: Option<Int64Value>,
pub slot_ms: Option<Int64Value>,
pub reserved_slot_count: i64,
pub billing_method: String,
/* private fields */
}Expand description
The external service cost is a portion of the total cost, these costs are not additive with total_bytes_billed. Moreover, this field only track external service costs that will show up as BigQuery costs (e.g. training BigQuery ML job with google cloud CAIP or Automl Tables services), not other costs which may be accrued by running the query (e.g. reading from Bigtable or Cloud Storage). The external service costs with different billing sku (e.g. CAIP job is charged based on VM usage) are converted to BigQuery billed_bytes and slot_ms with equivalent amount of US dollars. Services may not directly correlate to these metrics, but these are the equivalents for billing purposes. Output only.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.external_service: StringExternal service name.
bytes_processed: Option<Int64Value>External service cost in terms of bigquery bytes processed.
bytes_billed: Option<Int64Value>External service cost in terms of bigquery bytes billed.
slot_ms: Option<Int64Value>External service cost in terms of bigquery slot milliseconds.
reserved_slot_count: i64Non-preemptable reserved slots used for external job. For example, reserved slots for Cloua AI Platform job are the VM usages converted to BigQuery slot with equivalent mount of price.
billing_method: StringThe billing method used for the external job.
This field, set to SERVICES_SKU, is only used when billing under the
services SKU. Otherwise, it is unspecified for backward compatibility.
Implementations§
Source§impl ExternalServiceCost
impl ExternalServiceCost
Sourcepub fn set_external_service<T: Into<String>>(self, v: T) -> Self
pub fn set_external_service<T: Into<String>>(self, v: T) -> Self
Sets the value of external_service.
§Example
let x = ExternalServiceCost::new().set_external_service("example");Sourcepub fn set_bytes_processed<T>(self, v: T) -> Selfwhere
T: Into<Int64Value>,
pub fn set_bytes_processed<T>(self, v: T) -> Selfwhere
T: Into<Int64Value>,
Sets the value of bytes_processed.
§Example
use wkt::Int64Value;
let x = ExternalServiceCost::new().set_bytes_processed(Int64Value::default()/* use setters */);Sourcepub fn set_or_clear_bytes_processed<T>(self, v: Option<T>) -> Selfwhere
T: Into<Int64Value>,
pub fn set_or_clear_bytes_processed<T>(self, v: Option<T>) -> Selfwhere
T: Into<Int64Value>,
Sets or clears the value of bytes_processed.
§Example
use wkt::Int64Value;
let x = ExternalServiceCost::new().set_or_clear_bytes_processed(Some(Int64Value::default()/* use setters */));
let x = ExternalServiceCost::new().set_or_clear_bytes_processed(None::<Int64Value>);Sourcepub fn set_bytes_billed<T>(self, v: T) -> Selfwhere
T: Into<Int64Value>,
pub fn set_bytes_billed<T>(self, v: T) -> Selfwhere
T: Into<Int64Value>,
Sets the value of bytes_billed.
§Example
use wkt::Int64Value;
let x = ExternalServiceCost::new().set_bytes_billed(Int64Value::default()/* use setters */);Sourcepub fn set_or_clear_bytes_billed<T>(self, v: Option<T>) -> Selfwhere
T: Into<Int64Value>,
pub fn set_or_clear_bytes_billed<T>(self, v: Option<T>) -> Selfwhere
T: Into<Int64Value>,
Sets or clears the value of bytes_billed.
§Example
use wkt::Int64Value;
let x = ExternalServiceCost::new().set_or_clear_bytes_billed(Some(Int64Value::default()/* use setters */));
let x = ExternalServiceCost::new().set_or_clear_bytes_billed(None::<Int64Value>);Sourcepub fn set_slot_ms<T>(self, v: T) -> Selfwhere
T: Into<Int64Value>,
pub fn set_slot_ms<T>(self, v: T) -> Selfwhere
T: Into<Int64Value>,
Sourcepub fn set_or_clear_slot_ms<T>(self, v: Option<T>) -> Selfwhere
T: Into<Int64Value>,
pub fn set_or_clear_slot_ms<T>(self, v: Option<T>) -> Selfwhere
T: Into<Int64Value>,
Sourcepub fn set_reserved_slot_count<T: Into<i64>>(self, v: T) -> Self
pub fn set_reserved_slot_count<T: Into<i64>>(self, v: T) -> Self
Sets the value of reserved_slot_count.
§Example
let x = ExternalServiceCost::new().set_reserved_slot_count(42);Sourcepub fn set_billing_method<T: Into<String>>(self, v: T) -> Self
pub fn set_billing_method<T: Into<String>>(self, v: T) -> Self
Sets the value of billing_method.
§Example
let x = ExternalServiceCost::new().set_billing_method("example");Trait Implementations§
Source§impl Clone for ExternalServiceCost
impl Clone for ExternalServiceCost
Source§fn clone(&self) -> ExternalServiceCost
fn clone(&self) -> ExternalServiceCost
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExternalServiceCost
impl Debug for ExternalServiceCost
Source§impl Default for ExternalServiceCost
impl Default for ExternalServiceCost
Source§fn default() -> ExternalServiceCost
fn default() -> ExternalServiceCost
Source§impl Message for ExternalServiceCost
impl Message for ExternalServiceCost
Source§impl PartialEq for ExternalServiceCost
impl PartialEq for ExternalServiceCost
impl StructuralPartialEq for ExternalServiceCost
Auto Trait Implementations§
impl Freeze for ExternalServiceCost
impl RefUnwindSafe for ExternalServiceCost
impl Send for ExternalServiceCost
impl Sync for ExternalServiceCost
impl Unpin for ExternalServiceCost
impl UnsafeUnpin for ExternalServiceCost
impl UnwindSafe for ExternalServiceCost
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request