#[non_exhaustive]pub struct GetCostAndUsageInput {
pub time_period: Option<DateInterval>,
pub granularity: Option<Granularity>,
pub filter: Option<Expression>,
pub metrics: Option<Vec<String>>,
pub group_by: Option<Vec<GroupDefinition>>,
pub billing_view_arn: Option<String>,
pub next_page_token: Option<String>,
}
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.time_period: Option<DateInterval>
Sets the start date and end date for retrieving Amazon Web Services costs. The start date is inclusive, but the end date is exclusive. For example, if start
is 2017-01-01
and end
is 2017-05-01
, then the cost and usage data is retrieved from 2017-01-01
up to and including 2017-04-30
but not including 2017-05-01
.
granularity: Option<Granularity>
Sets the Amazon Web Services cost granularity to MONTHLY
or DAILY
, or HOURLY
. If Granularity
isn't set, the response object doesn't include the Granularity
, either MONTHLY
or DAILY
, or HOURLY
.
filter: Option<Expression>
Filters Amazon Web Services costs by different dimensions. For example, you can specify SERVICE
and LINKED_ACCOUNT
and get the costs that are associated with that account's usage of that service. You can nest Expression
objects to define any combination of dimension filters. For more information, see Expression.
Valid values for MatchOptions
for Dimensions
are EQUALS
and CASE_SENSITIVE
.
Valid values for MatchOptions
for CostCategories
and Tags
are EQUALS
, ABSENT
, and CASE_SENSITIVE
. Default values are EQUALS
and CASE_SENSITIVE
.
metrics: Option<Vec<String>>
Which metrics are returned in the query. For more information about blended and unblended rates, see Why does the "blended" annotation appear on some line items in my bill?.
Valid values are AmortizedCost
, BlendedCost
, NetAmortizedCost
, NetUnblendedCost
, NormalizedUsageAmount
, UnblendedCost
, and UsageQuantity
.
If you return the UsageQuantity
metric, the service aggregates all usage numbers without taking into account the units. For example, if you aggregate usageQuantity
across all of Amazon EC2, the results aren't meaningful because Amazon EC2 compute hours and data transfer are measured in different units (for example, hours and GB). To get more meaningful UsageQuantity
metrics, filter by UsageType
or UsageTypeGroups
.
Metrics
is required for GetCostAndUsage
requests.
group_by: Option<Vec<GroupDefinition>>
You can group Amazon Web Services costs using up to two different groups, either dimensions, tag keys, cost categories, or any two group by types.
Valid values for the DIMENSION
type are AZ
, INSTANCE_TYPE
, LEGAL_ENTITY_NAME
, INVOICING_ENTITY
, LINKED_ACCOUNT
, OPERATION
, PLATFORM
, PURCHASE_TYPE
, SERVICE
, TENANCY
, RECORD_TYPE
, and USAGE_TYPE
.
When you group by the TAG
type and include a valid tag key, you get all tag values, including empty strings.
billing_view_arn: Option<String>
The Amazon Resource Name (ARN) that uniquely identifies a specific billing view. The ARN is used to specify which particular billing view you want to interact with or retrieve information from when making API calls related to Amazon Web Services Billing and Cost Management features. The BillingViewArn can be retrieved by calling the ListBillingViews API.
next_page_token: Option<String>
The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.
Implementations§
Source§impl GetCostAndUsageInput
impl GetCostAndUsageInput
Sourcepub fn time_period(&self) -> Option<&DateInterval>
pub fn time_period(&self) -> Option<&DateInterval>
Sets the start date and end date for retrieving Amazon Web Services costs. The start date is inclusive, but the end date is exclusive. For example, if start
is 2017-01-01
and end
is 2017-05-01
, then the cost and usage data is retrieved from 2017-01-01
up to and including 2017-04-30
but not including 2017-05-01
.
Sourcepub fn granularity(&self) -> Option<&Granularity>
pub fn granularity(&self) -> Option<&Granularity>
Sets the Amazon Web Services cost granularity to MONTHLY
or DAILY
, or HOURLY
. If Granularity
isn't set, the response object doesn't include the Granularity
, either MONTHLY
or DAILY
, or HOURLY
.
Sourcepub fn filter(&self) -> Option<&Expression>
pub fn filter(&self) -> Option<&Expression>
Filters Amazon Web Services costs by different dimensions. For example, you can specify SERVICE
and LINKED_ACCOUNT
and get the costs that are associated with that account's usage of that service. You can nest Expression
objects to define any combination of dimension filters. For more information, see Expression.
Valid values for MatchOptions
for Dimensions
are EQUALS
and CASE_SENSITIVE
.
Valid values for MatchOptions
for CostCategories
and Tags
are EQUALS
, ABSENT
, and CASE_SENSITIVE
. Default values are EQUALS
and CASE_SENSITIVE
.
Sourcepub fn metrics(&self) -> &[String]
pub fn metrics(&self) -> &[String]
Which metrics are returned in the query. For more information about blended and unblended rates, see Why does the "blended" annotation appear on some line items in my bill?.
Valid values are AmortizedCost
, BlendedCost
, NetAmortizedCost
, NetUnblendedCost
, NormalizedUsageAmount
, UnblendedCost
, and UsageQuantity
.
If you return the UsageQuantity
metric, the service aggregates all usage numbers without taking into account the units. For example, if you aggregate usageQuantity
across all of Amazon EC2, the results aren't meaningful because Amazon EC2 compute hours and data transfer are measured in different units (for example, hours and GB). To get more meaningful UsageQuantity
metrics, filter by UsageType
or UsageTypeGroups
.
Metrics
is required for GetCostAndUsage
requests.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .metrics.is_none()
.
Sourcepub fn group_by(&self) -> &[GroupDefinition]
pub fn group_by(&self) -> &[GroupDefinition]
You can group Amazon Web Services costs using up to two different groups, either dimensions, tag keys, cost categories, or any two group by types.
Valid values for the DIMENSION
type are AZ
, INSTANCE_TYPE
, LEGAL_ENTITY_NAME
, INVOICING_ENTITY
, LINKED_ACCOUNT
, OPERATION
, PLATFORM
, PURCHASE_TYPE
, SERVICE
, TENANCY
, RECORD_TYPE
, and USAGE_TYPE
.
When you group by the TAG
type and include a valid tag key, you get all tag values, including empty strings.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .group_by.is_none()
.
Sourcepub fn billing_view_arn(&self) -> Option<&str>
pub fn billing_view_arn(&self) -> Option<&str>
The Amazon Resource Name (ARN) that uniquely identifies a specific billing view. The ARN is used to specify which particular billing view you want to interact with or retrieve information from when making API calls related to Amazon Web Services Billing and Cost Management features. The BillingViewArn can be retrieved by calling the ListBillingViews API.
Sourcepub fn next_page_token(&self) -> Option<&str>
pub fn next_page_token(&self) -> Option<&str>
The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.
Source§impl GetCostAndUsageInput
impl GetCostAndUsageInput
Sourcepub fn builder() -> GetCostAndUsageInputBuilder
pub fn builder() -> GetCostAndUsageInputBuilder
Creates a new builder-style object to manufacture GetCostAndUsageInput
.
Trait Implementations§
Source§impl Clone for GetCostAndUsageInput
impl Clone for GetCostAndUsageInput
Source§fn clone(&self) -> GetCostAndUsageInput
fn clone(&self) -> GetCostAndUsageInput
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for GetCostAndUsageInput
impl Debug for GetCostAndUsageInput
Source§impl PartialEq for GetCostAndUsageInput
impl PartialEq for GetCostAndUsageInput
impl StructuralPartialEq for GetCostAndUsageInput
Auto Trait Implementations§
impl Freeze for GetCostAndUsageInput
impl RefUnwindSafe for GetCostAndUsageInput
impl Send for GetCostAndUsageInput
impl Sync for GetCostAndUsageInput
impl Unpin for GetCostAndUsageInput
impl UnwindSafe for GetCostAndUsageInput
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightBlack
.
§Example
println!("{}", value.bright_black());
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightGreen
.
§Example
println!("{}", value.bright_green());
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightYellow
.
§Example
println!("{}", value.bright_yellow());
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightMagenta
.
§Example
println!("{}", value.bright_magenta());
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightWhite
.
§Example
println!("{}", value.bright_white());
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightBlack
.
§Example
println!("{}", value.on_bright_black());
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightGreen
.
§Example
println!("{}", value.on_bright_green());
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightYellow
.
§Example
println!("{}", value.on_bright_yellow());
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightBlue
.
§Example
println!("{}", value.on_bright_blue());
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightMagenta
.
§Example
println!("{}", value.on_bright_magenta());
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightCyan
.
§Example
println!("{}", value.on_bright_cyan());
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightWhite
.
§Example
println!("{}", value.on_bright_white());
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn underline(&self) -> Painted<&T>
fn underline(&self) -> Painted<&T>
Returns self
with the
attr()
set to
Attribute::Underline
.
§Example
println!("{}", value.underline());
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Returns self
with the
attr()
set to
Attribute::RapidBlink
.
§Example
println!("{}", value.rapid_blink());
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);