pub struct GetCostAndUsageFluentBuilder { /* private fields */ }
Expand description
Fluent builder constructing a request to GetCostAndUsage
.
Retrieves cost and usage metrics for your account. You can specify which cost and usage-related metric that you want the request to return. For example, you can specify BlendedCosts
or UsageQuantity
. You can also filter and group your data by various dimensions, such as SERVICE
or AZ
, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Management account in an organization in Organizations have access to all member accounts.
For information about filter limitations, see Quotas and restrictions in the Billing and Cost Management User Guide.
Implementations§
Source§impl GetCostAndUsageFluentBuilder
impl GetCostAndUsageFluentBuilder
Sourcepub fn as_input(&self) -> &GetCostAndUsageInputBuilder
pub fn as_input(&self) -> &GetCostAndUsageInputBuilder
Access the GetCostAndUsage as a reference.
Sourcepub async fn send(
self,
) -> Result<GetCostAndUsageOutput, SdkError<GetCostAndUsageError, HttpResponse>>
pub async fn send( self, ) -> Result<GetCostAndUsageOutput, SdkError<GetCostAndUsageError, HttpResponse>>
Sends the request and returns the response.
If an error occurs, an SdkError
will be returned with additional details that
can be matched against.
By default, any retryable failures will be retried twice. Retry behavior is configurable with the RetryConfig, which can be set when configuring the client.
Sourcepub fn customize(
self,
) -> CustomizableOperation<GetCostAndUsageOutput, GetCostAndUsageError, Self>
pub fn customize( self, ) -> CustomizableOperation<GetCostAndUsageOutput, GetCostAndUsageError, Self>
Consumes this builder, creating a customizable operation that can be modified before being sent.
Sourcepub fn time_period(self, input: DateInterval) -> Self
pub fn time_period(self, input: DateInterval) -> Self
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 set_time_period(self, input: Option<DateInterval>) -> Self
pub fn set_time_period(self, input: Option<DateInterval>) -> Self
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 get_time_period(&self) -> &Option<DateInterval>
pub fn get_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, input: Granularity) -> Self
pub fn granularity(self, input: Granularity) -> Self
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 set_granularity(self, input: Option<Granularity>) -> Self
pub fn set_granularity(self, input: Option<Granularity>) -> Self
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 get_granularity(&self) -> &Option<Granularity>
pub fn get_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, input: Expression) -> Self
pub fn filter(self, input: Expression) -> Self
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 set_filter(self, input: Option<Expression>) -> Self
pub fn set_filter(self, input: Option<Expression>) -> Self
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 get_filter(&self) -> &Option<Expression>
pub fn get_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, input: impl Into<String>) -> Self
pub fn metrics(self, input: impl Into<String>) -> Self
Appends an item to Metrics
.
To override the contents of this collection use set_metrics
.
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.
Sourcepub fn set_metrics(self, input: Option<Vec<String>>) -> Self
pub fn set_metrics(self, input: Option<Vec<String>>) -> Self
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.
Sourcepub fn get_metrics(&self) -> &Option<Vec<String>>
pub fn get_metrics(&self) -> &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.
Sourcepub fn group_by(self, input: GroupDefinition) -> Self
pub fn group_by(self, input: GroupDefinition) -> Self
Appends an item to GroupBy
.
To override the contents of this collection use set_group_by
.
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.
Sourcepub fn set_group_by(self, input: Option<Vec<GroupDefinition>>) -> Self
pub fn set_group_by(self, input: Option<Vec<GroupDefinition>>) -> Self
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.
Sourcepub fn get_group_by(&self) -> &Option<Vec<GroupDefinition>>
pub fn get_group_by(&self) -> &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.
Sourcepub fn billing_view_arn(self, input: impl Into<String>) -> Self
pub fn billing_view_arn(self, input: impl Into<String>) -> Self
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 set_billing_view_arn(self, input: Option<String>) -> Self
pub fn set_billing_view_arn(self, input: Option<String>) -> Self
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 get_billing_view_arn(&self) -> &Option<String>
pub fn get_billing_view_arn(&self) -> &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.
Sourcepub fn next_page_token(self, input: impl Into<String>) -> Self
pub fn next_page_token(self, input: impl Into<String>) -> Self
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.
Sourcepub fn set_next_page_token(self, input: Option<String>) -> Self
pub fn set_next_page_token(self, input: Option<String>) -> Self
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.
Sourcepub fn get_next_page_token(&self) -> &Option<String>
pub fn get_next_page_token(&self) -> &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.
Trait Implementations§
Source§impl Clone for GetCostAndUsageFluentBuilder
impl Clone for GetCostAndUsageFluentBuilder
Source§fn clone(&self) -> GetCostAndUsageFluentBuilder
fn clone(&self) -> GetCostAndUsageFluentBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for GetCostAndUsageFluentBuilder
impl !RefUnwindSafe for GetCostAndUsageFluentBuilder
impl Send for GetCostAndUsageFluentBuilder
impl Sync for GetCostAndUsageFluentBuilder
impl Unpin for GetCostAndUsageFluentBuilder
impl !UnwindSafe for GetCostAndUsageFluentBuilder
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);