pub struct GetRightsizingRecommendationFluentBuilder { /* private fields */ }
Expand description
Fluent builder constructing a request to GetRightsizingRecommendation
.
Creates recommendations that help you save cost by identifying idle and underutilized Amazon EC2 instances.
Recommendations are generated to either downsize or terminate instances, along with providing savings detail and metrics. For more information about calculation and function, see Optimizing Your Cost with Rightsizing Recommendations in the Billing and Cost Management User Guide.
Implementations§
Source§impl GetRightsizingRecommendationFluentBuilder
impl GetRightsizingRecommendationFluentBuilder
Sourcepub fn as_input(&self) -> &GetRightsizingRecommendationInputBuilder
pub fn as_input(&self) -> &GetRightsizingRecommendationInputBuilder
Access the GetRightsizingRecommendation as a reference.
Sourcepub async fn send(
self,
) -> Result<GetRightsizingRecommendationOutput, SdkError<GetRightsizingRecommendationError, HttpResponse>>
pub async fn send( self, ) -> Result<GetRightsizingRecommendationOutput, SdkError<GetRightsizingRecommendationError, 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<GetRightsizingRecommendationOutput, GetRightsizingRecommendationError, Self>
pub fn customize( self, ) -> CustomizableOperation<GetRightsizingRecommendationOutput, GetRightsizingRecommendationError, Self>
Consumes this builder, creating a customizable operation that can be modified before being sent.
Sourcepub fn filter(self, input: Expression) -> Self
pub fn filter(self, input: Expression) -> Self
Use Expression
to filter in various Cost Explorer APIs.
Not all Expression
types are supported in each API. Refer to the documentation for each specific API to see what is supported.
There are two patterns:
-
Simple dimension values.
-
There are three types of simple dimension values:
CostCategories
,Tags
, andDimensions
.-
Specify the
CostCategories
field to define a filter that acts on Cost Categories. -
Specify the
Tags
field to define a filter that acts on Cost Allocation Tags. -
Specify the
Dimensions
field to define a filter that acts on theDimensionValues
.
-
-
For each filter type, you can set the dimension name and values for the filters that you plan to use.
-
For example, you can filter for
REGION==us-east-1 OR REGION==us-west-1
. ForGetRightsizingRecommendation
, the Region is a full name (for example,REGION==US East (N. Virginia)
. -
The corresponding
Expression
for this example is as follows:{ "Dimensions": { "Key": "REGION", "Values": \[ "us-east-1", "us-west-1" \] } }
-
As shown in the previous example, lists of dimension values are combined with
OR
when applying the filter.
-
-
You can also set different match options to further control how the filter behaves. Not all APIs support match options. Refer to the documentation for each specific API to see what is supported.
-
For example, you can filter for linked account names that start with "a".
-
The corresponding
Expression
for this example is as follows:{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME", "MatchOptions": \[ "STARTS_WITH" \], "Values": \[ "a" \] } }
-
-
-
Compound
Expression
types with logical operations.-
You can use multiple
Expression
types and the logical operatorsAND/OR/NOT
to create a list of one or moreExpression
objects. By doing this, you can filter by more advanced options. -
For example, you can filter by
((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer)
. -
The corresponding
Expression
for this example is as follows:{ "And": \[ {"Or": \[ {"Dimensions": { "Key": "REGION", "Values": \[ "us-east-1", "us-west-1" \] }}, {"Tags": { "Key": "TagName", "Values": \["Value1"\] } } \]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": \["DataTransfer"\] }}} \] }
Because each
Expression
can have only one operator, the service returns an error if more than one is specified. The following example shows anExpression
object that creates an error:{ "And": \[ ... \], "Dimensions": { "Key": "USAGE_TYPE", "Values": \[ "DataTransfer" \] } }
The following is an example of the corresponding error message:
"Expression has more than one roots. Only one root operator is allowed for each expression: And, Or, Not, Dimensions, Tags, CostCategories"
-
For the GetRightsizingRecommendation
action, a combination of OR and NOT isn't supported. OR isn't supported between different dimensions, or dimensions and tags. NOT operators aren't supported. Dimensions are also limited to LINKED_ACCOUNT
, REGION
, or RIGHTSIZING_TYPE
.
For the GetReservationPurchaseRecommendation
action, only NOT is supported. AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT
.
Sourcepub fn set_filter(self, input: Option<Expression>) -> Self
pub fn set_filter(self, input: Option<Expression>) -> Self
Use Expression
to filter in various Cost Explorer APIs.
Not all Expression
types are supported in each API. Refer to the documentation for each specific API to see what is supported.
There are two patterns:
-
Simple dimension values.
-
There are three types of simple dimension values:
CostCategories
,Tags
, andDimensions
.-
Specify the
CostCategories
field to define a filter that acts on Cost Categories. -
Specify the
Tags
field to define a filter that acts on Cost Allocation Tags. -
Specify the
Dimensions
field to define a filter that acts on theDimensionValues
.
-
-
For each filter type, you can set the dimension name and values for the filters that you plan to use.
-
For example, you can filter for
REGION==us-east-1 OR REGION==us-west-1
. ForGetRightsizingRecommendation
, the Region is a full name (for example,REGION==US East (N. Virginia)
. -
The corresponding
Expression
for this example is as follows:{ "Dimensions": { "Key": "REGION", "Values": \[ "us-east-1", "us-west-1" \] } }
-
As shown in the previous example, lists of dimension values are combined with
OR
when applying the filter.
-
-
You can also set different match options to further control how the filter behaves. Not all APIs support match options. Refer to the documentation for each specific API to see what is supported.
-
For example, you can filter for linked account names that start with "a".
-
The corresponding
Expression
for this example is as follows:{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME", "MatchOptions": \[ "STARTS_WITH" \], "Values": \[ "a" \] } }
-
-
-
Compound
Expression
types with logical operations.-
You can use multiple
Expression
types and the logical operatorsAND/OR/NOT
to create a list of one or moreExpression
objects. By doing this, you can filter by more advanced options. -
For example, you can filter by
((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer)
. -
The corresponding
Expression
for this example is as follows:{ "And": \[ {"Or": \[ {"Dimensions": { "Key": "REGION", "Values": \[ "us-east-1", "us-west-1" \] }}, {"Tags": { "Key": "TagName", "Values": \["Value1"\] } } \]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": \["DataTransfer"\] }}} \] }
Because each
Expression
can have only one operator, the service returns an error if more than one is specified. The following example shows anExpression
object that creates an error:{ "And": \[ ... \], "Dimensions": { "Key": "USAGE_TYPE", "Values": \[ "DataTransfer" \] } }
The following is an example of the corresponding error message:
"Expression has more than one roots. Only one root operator is allowed for each expression: And, Or, Not, Dimensions, Tags, CostCategories"
-
For the GetRightsizingRecommendation
action, a combination of OR and NOT isn't supported. OR isn't supported between different dimensions, or dimensions and tags. NOT operators aren't supported. Dimensions are also limited to LINKED_ACCOUNT
, REGION
, or RIGHTSIZING_TYPE
.
For the GetReservationPurchaseRecommendation
action, only NOT is supported. AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT
.
Sourcepub fn get_filter(&self) -> &Option<Expression>
pub fn get_filter(&self) -> &Option<Expression>
Use Expression
to filter in various Cost Explorer APIs.
Not all Expression
types are supported in each API. Refer to the documentation for each specific API to see what is supported.
There are two patterns:
-
Simple dimension values.
-
There are three types of simple dimension values:
CostCategories
,Tags
, andDimensions
.-
Specify the
CostCategories
field to define a filter that acts on Cost Categories. -
Specify the
Tags
field to define a filter that acts on Cost Allocation Tags. -
Specify the
Dimensions
field to define a filter that acts on theDimensionValues
.
-
-
For each filter type, you can set the dimension name and values for the filters that you plan to use.
-
For example, you can filter for
REGION==us-east-1 OR REGION==us-west-1
. ForGetRightsizingRecommendation
, the Region is a full name (for example,REGION==US East (N. Virginia)
. -
The corresponding
Expression
for this example is as follows:{ "Dimensions": { "Key": "REGION", "Values": \[ "us-east-1", "us-west-1" \] } }
-
As shown in the previous example, lists of dimension values are combined with
OR
when applying the filter.
-
-
You can also set different match options to further control how the filter behaves. Not all APIs support match options. Refer to the documentation for each specific API to see what is supported.
-
For example, you can filter for linked account names that start with "a".
-
The corresponding
Expression
for this example is as follows:{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME", "MatchOptions": \[ "STARTS_WITH" \], "Values": \[ "a" \] } }
-
-
-
Compound
Expression
types with logical operations.-
You can use multiple
Expression
types and the logical operatorsAND/OR/NOT
to create a list of one or moreExpression
objects. By doing this, you can filter by more advanced options. -
For example, you can filter by
((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer)
. -
The corresponding
Expression
for this example is as follows:{ "And": \[ {"Or": \[ {"Dimensions": { "Key": "REGION", "Values": \[ "us-east-1", "us-west-1" \] }}, {"Tags": { "Key": "TagName", "Values": \["Value1"\] } } \]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": \["DataTransfer"\] }}} \] }
Because each
Expression
can have only one operator, the service returns an error if more than one is specified. The following example shows anExpression
object that creates an error:{ "And": \[ ... \], "Dimensions": { "Key": "USAGE_TYPE", "Values": \[ "DataTransfer" \] } }
The following is an example of the corresponding error message:
"Expression has more than one roots. Only one root operator is allowed for each expression: And, Or, Not, Dimensions, Tags, CostCategories"
-
For the GetRightsizingRecommendation
action, a combination of OR and NOT isn't supported. OR isn't supported between different dimensions, or dimensions and tags. NOT operators aren't supported. Dimensions are also limited to LINKED_ACCOUNT
, REGION
, or RIGHTSIZING_TYPE
.
For the GetReservationPurchaseRecommendation
action, only NOT is supported. AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT
.
Sourcepub fn configuration(
self,
input: RightsizingRecommendationConfiguration,
) -> Self
pub fn configuration( self, input: RightsizingRecommendationConfiguration, ) -> Self
You can use Configuration to customize recommendations across two attributes. You can choose to view recommendations for instances within the same instance families or across different instance families. You can also choose to view your estimated savings that are associated with recommendations with consideration of existing Savings Plans or RI benefits, or neither.
Sourcepub fn set_configuration(
self,
input: Option<RightsizingRecommendationConfiguration>,
) -> Self
pub fn set_configuration( self, input: Option<RightsizingRecommendationConfiguration>, ) -> Self
You can use Configuration to customize recommendations across two attributes. You can choose to view recommendations for instances within the same instance families or across different instance families. You can also choose to view your estimated savings that are associated with recommendations with consideration of existing Savings Plans or RI benefits, or neither.
Sourcepub fn get_configuration(
&self,
) -> &Option<RightsizingRecommendationConfiguration>
pub fn get_configuration( &self, ) -> &Option<RightsizingRecommendationConfiguration>
You can use Configuration to customize recommendations across two attributes. You can choose to view recommendations for instances within the same instance families or across different instance families. You can also choose to view your estimated savings that are associated with recommendations with consideration of existing Savings Plans or RI benefits, or neither.
Sourcepub fn service(self, input: impl Into<String>) -> Self
pub fn service(self, input: impl Into<String>) -> Self
The specific service that you want recommendations for. The only valid value for GetRightsizingRecommendation
is "AmazonEC2
".
Sourcepub fn set_service(self, input: Option<String>) -> Self
pub fn set_service(self, input: Option<String>) -> Self
The specific service that you want recommendations for. The only valid value for GetRightsizingRecommendation
is "AmazonEC2
".
Sourcepub fn get_service(&self) -> &Option<String>
pub fn get_service(&self) -> &Option<String>
The specific service that you want recommendations for. The only valid value for GetRightsizingRecommendation
is "AmazonEC2
".
Sourcepub fn page_size(self, input: i32) -> Self
pub fn page_size(self, input: i32) -> Self
The number of recommendations that you want returned in a single response object.
Sourcepub fn set_page_size(self, input: Option<i32>) -> Self
pub fn set_page_size(self, input: Option<i32>) -> Self
The number of recommendations that you want returned in a single response object.
Sourcepub fn get_page_size(&self) -> &Option<i32>
pub fn get_page_size(&self) -> &Option<i32>
The number of recommendations that you want returned in a single response object.
Sourcepub fn next_page_token(self, input: impl Into<String>) -> Self
pub fn next_page_token(self, input: impl Into<String>) -> Self
The pagination token that indicates the next set of results that you want to retrieve.
Sourcepub fn set_next_page_token(self, input: Option<String>) -> Self
pub fn set_next_page_token(self, input: Option<String>) -> Self
The pagination token that indicates the next set of results that you want to retrieve.
Sourcepub fn get_next_page_token(&self) -> &Option<String>
pub fn get_next_page_token(&self) -> &Option<String>
The pagination token that indicates the next set of results that you want to retrieve.
Trait Implementations§
Source§impl Clone for GetRightsizingRecommendationFluentBuilder
impl Clone for GetRightsizingRecommendationFluentBuilder
Source§fn clone(&self) -> GetRightsizingRecommendationFluentBuilder
fn clone(&self) -> GetRightsizingRecommendationFluentBuilder
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 GetRightsizingRecommendationFluentBuilder
impl !RefUnwindSafe for GetRightsizingRecommendationFluentBuilder
impl Send for GetRightsizingRecommendationFluentBuilder
impl Sync for GetRightsizingRecommendationFluentBuilder
impl Unpin for GetRightsizingRecommendationFluentBuilder
impl !UnwindSafe for GetRightsizingRecommendationFluentBuilder
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);