Struct aws_sdk_autoscalingplans::client::Client
source · pub struct Client { /* private fields */ }
Expand description
Client for AWS Auto Scaling Plans
Client for invoking operations on AWS Auto Scaling Plans. Each operation on AWS Auto Scaling Plans is a method on this
this struct. .send()
MUST be invoked on the generated operations to dispatch the request to the service.
§Constructing a Client
A Config
is required to construct a client. For most use cases, the aws-config
crate should be used to automatically resolve this config using
aws_config::load_from_env()
, since this will resolve an SdkConfig
which can be shared
across multiple different AWS SDK clients. This config resolution process can be customized
by calling aws_config::from_env()
instead, which returns a ConfigLoader
that uses
the builder pattern to customize the default config.
In the simplest case, creating a client looks as follows:
let config = aws_config::load_from_env().await;
let client = aws_sdk_autoscalingplans::Client::new(&config);
Occasionally, SDKs may have additional service-specific values that can be set on the Config
that
is absent from SdkConfig
, or slightly different settings for a specific client may be desired.
The Config
struct implements From<&SdkConfig>
, so setting these specific settings can be
done as follows:
let sdk_config = ::aws_config::load_from_env().await;
let config = aws_sdk_autoscalingplans::config::Builder::from(&sdk_config)
.some_service_specific_setting("value")
.build();
See the aws-config
docs and Config
for more information on customizing configuration.
Note: Client construction is expensive due to connection thread pool initialization, and should be done once at application start-up.
§Using the Client
A client has a function for every operation that can be performed by the service.
For example, the CreateScalingPlan
operation has
a Client::create_scaling_plan
, function which returns a builder for that operation.
The fluent builder ultimately has a send()
function that returns an async future that
returns a result, as illustrated below:
let result = client.create_scaling_plan()
.scaling_plan_name("example")
.send()
.await;
The underlying HTTP requests that get made by this can be modified with the customize_operation
function on the fluent builder. See the customize
module for more
information.
Implementations§
source§impl Client
impl Client
sourcepub fn create_scaling_plan(&self) -> CreateScalingPlanFluentBuilder
pub fn create_scaling_plan(&self) -> CreateScalingPlanFluentBuilder
Constructs a fluent builder for the CreateScalingPlan
operation.
- The fluent builder is configurable:
scaling_plan_name(impl Into<String>)
/set_scaling_plan_name(Option<String>)
:
required: trueThe name of the scaling plan. Names cannot contain vertical bars, colons, or forward slashes.
application_source(ApplicationSource)
/set_application_source(Option<ApplicationSource>)
:
required: trueA CloudFormation stack or set of tags. You can create one scaling plan per application source.
For more information, see ApplicationSource in the AWS Auto Scaling API Reference.
scaling_instructions(ScalingInstruction)
/set_scaling_instructions(Option<Vec::<ScalingInstruction>>)
:
required: trueThe scaling instructions.
For more information, see ScalingInstruction in the AWS Auto Scaling API Reference.
- On success, responds with
CreateScalingPlanOutput
with field(s):scaling_plan_version(i64)
:The version number of the scaling plan. This value is always
1
. Currently, you cannot have multiple scaling plan versions.
- On failure, responds with
SdkError<CreateScalingPlanError>
source§impl Client
impl Client
sourcepub fn delete_scaling_plan(&self) -> DeleteScalingPlanFluentBuilder
pub fn delete_scaling_plan(&self) -> DeleteScalingPlanFluentBuilder
Constructs a fluent builder for the DeleteScalingPlan
operation.
- The fluent builder is configurable:
scaling_plan_name(impl Into<String>)
/set_scaling_plan_name(Option<String>)
:
required: trueThe name of the scaling plan.
scaling_plan_version(i64)
/set_scaling_plan_version(Option<i64>)
:
required: trueThe version number of the scaling plan. Currently, the only valid value is
1
.
- On success, responds with
DeleteScalingPlanOutput
- On failure, responds with
SdkError<DeleteScalingPlanError>
source§impl Client
impl Client
sourcepub fn describe_scaling_plan_resources(
&self
) -> DescribeScalingPlanResourcesFluentBuilder
pub fn describe_scaling_plan_resources( &self ) -> DescribeScalingPlanResourcesFluentBuilder
Constructs a fluent builder for the DescribeScalingPlanResources
operation.
- The fluent builder is configurable:
scaling_plan_name(impl Into<String>)
/set_scaling_plan_name(Option<String>)
:
required: trueThe name of the scaling plan.
scaling_plan_version(i64)
/set_scaling_plan_version(Option<i64>)
:
required: trueThe version number of the scaling plan. Currently, the only valid value is
1
.max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of scalable resources to return. The value must be between 1 and 50. The default value is 50.
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseThe token for the next set of results.
- On success, responds with
DescribeScalingPlanResourcesOutput
with field(s):scaling_plan_resources(Option<Vec::<ScalingPlanResource>>)
:Information about the scalable resources.
next_token(Option<String>)
:The token required to get the next set of results. This value is
null
if there are no more results to return.
- On failure, responds with
SdkError<DescribeScalingPlanResourcesError>
source§impl Client
impl Client
sourcepub fn describe_scaling_plans(&self) -> DescribeScalingPlansFluentBuilder
pub fn describe_scaling_plans(&self) -> DescribeScalingPlansFluentBuilder
Constructs a fluent builder for the DescribeScalingPlans
operation.
- The fluent builder is configurable:
scaling_plan_names(impl Into<String>)
/set_scaling_plan_names(Option<Vec::<String>>)
:
required: falseThe names of the scaling plans (up to 10). If you specify application sources, you cannot specify scaling plan names.
scaling_plan_version(i64)
/set_scaling_plan_version(Option<i64>)
:
required: falseThe version number of the scaling plan. Currently, the only valid value is
1
.If you specify a scaling plan version, you must also specify a scaling plan name.
application_sources(ApplicationSource)
/set_application_sources(Option<Vec::<ApplicationSource>>)
:
required: falseThe sources for the applications (up to 10). If you specify scaling plan names, you cannot specify application sources.
max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of scalable resources to return. This value can be between 1 and 50. The default value is 50.
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseThe token for the next set of results.
- On success, responds with
DescribeScalingPlansOutput
with field(s):scaling_plans(Option<Vec::<ScalingPlan>>)
:Information about the scaling plans.
next_token(Option<String>)
:The token required to get the next set of results. This value is
null
if there are no more results to return.
- On failure, responds with
SdkError<DescribeScalingPlansError>
source§impl Client
impl Client
sourcepub fn get_scaling_plan_resource_forecast_data(
&self
) -> GetScalingPlanResourceForecastDataFluentBuilder
pub fn get_scaling_plan_resource_forecast_data( &self ) -> GetScalingPlanResourceForecastDataFluentBuilder
Constructs a fluent builder for the GetScalingPlanResourceForecastData
operation.
- The fluent builder is configurable:
scaling_plan_name(impl Into<String>)
/set_scaling_plan_name(Option<String>)
:
required: trueThe name of the scaling plan.
scaling_plan_version(i64)
/set_scaling_plan_version(Option<i64>)
:
required: trueThe version number of the scaling plan. Currently, the only valid value is
1
.service_namespace(ServiceNamespace)
/set_service_namespace(Option<ServiceNamespace>)
:
required: trueThe namespace of the AWS service. The only valid value is
autoscaling
.resource_id(impl Into<String>)
/set_resource_id(Option<String>)
:
required: trueThe ID of the resource. This string consists of a prefix (
autoScalingGroup
) followed by the name of a specified Auto Scaling group (my-asg
). Example:autoScalingGroup/my-asg
.scalable_dimension(ScalableDimension)
/set_scalable_dimension(Option<ScalableDimension>)
:
required: trueThe scalable dimension for the resource. The only valid value is
autoscaling:autoScalingGroup:DesiredCapacity
.forecast_data_type(ForecastDataType)
/set_forecast_data_type(Option<ForecastDataType>)
:
required: trueThe type of forecast data to get.
-
LoadForecast
: The load metric forecast. -
CapacityForecast
: The capacity forecast. -
ScheduledActionMinCapacity
: The minimum capacity for each scheduled scaling action. This data is calculated as the larger of two values: the capacity forecast or the minimum capacity in the scaling instruction. -
ScheduledActionMaxCapacity
: The maximum capacity for each scheduled scaling action. The calculation used is determined by the predictive scaling maximum capacity behavior setting in the scaling instruction.
-
start_time(DateTime)
/set_start_time(Option<DateTime>)
:
required: trueThe inclusive start time of the time range for the forecast data to get. The date and time can be at most 56 days before the current date and time.
end_time(DateTime)
/set_end_time(Option<DateTime>)
:
required: trueThe exclusive end time of the time range for the forecast data to get. The maximum time duration between the start and end time is seven days.
Although this parameter can accept a date and time that is more than two days in the future, the availability of forecast data has limits. AWS Auto Scaling only issues forecasts for periods of two days in advance.
- On success, responds with
GetScalingPlanResourceForecastDataOutput
with field(s):datapoints(Vec::<Datapoint>)
:The data points to return.
- On failure, responds with
SdkError<GetScalingPlanResourceForecastDataError>
source§impl Client
impl Client
sourcepub fn update_scaling_plan(&self) -> UpdateScalingPlanFluentBuilder
pub fn update_scaling_plan(&self) -> UpdateScalingPlanFluentBuilder
Constructs a fluent builder for the UpdateScalingPlan
operation.
- The fluent builder is configurable:
scaling_plan_name(impl Into<String>)
/set_scaling_plan_name(Option<String>)
:
required: trueThe name of the scaling plan.
scaling_plan_version(i64)
/set_scaling_plan_version(Option<i64>)
:
required: trueThe version number of the scaling plan. The only valid value is
1
. Currently, you cannot have multiple scaling plan versions.application_source(ApplicationSource)
/set_application_source(Option<ApplicationSource>)
:
required: falseA CloudFormation stack or set of tags.
For more information, see ApplicationSource in the AWS Auto Scaling API Reference.
scaling_instructions(ScalingInstruction)
/set_scaling_instructions(Option<Vec::<ScalingInstruction>>)
:
required: falseThe scaling instructions.
For more information, see ScalingInstruction in the AWS Auto Scaling API Reference.
- On success, responds with
UpdateScalingPlanOutput
- On failure, responds with
SdkError<UpdateScalingPlanError>
source§impl Client
impl Client
sourcepub fn from_conf(conf: Config) -> Self
pub fn from_conf(conf: Config) -> Self
Creates a new client from the service Config
.
§Panics
This method will panic in the following cases:
- Retries or timeouts are enabled without a
sleep_impl
configured. - Identity caching is enabled without a
sleep_impl
andtime_source
configured. - No
behavior_version
is provided.
The panic message for each of these will have instructions on how to resolve them.
source§impl Client
impl Client
sourcepub fn new(sdk_config: &SdkConfig) -> Self
pub fn new(sdk_config: &SdkConfig) -> Self
Creates a new client from an SDK Config.
§Panics
- This method will panic if the
sdk_config
is missing an async sleep implementation. If you experience this panic, set thesleep_impl
on the Config passed into this function to fix it. - This method will panic if the
sdk_config
is missing an HTTP connector. If you experience this panic, set thehttp_connector
on the Config passed into this function to fix it. - This method will panic if no
BehaviorVersion
is provided. If you experience this panic, setbehavior_version
on the Config or enable thebehavior-version-latest
Cargo feature.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Client
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
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> 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 more