Struct aws_sdk_fis::Client
source · pub struct Client { /* private fields */ }Expand description
Client for AWS Fault Injection Simulator
Client for invoking operations on AWS Fault Injection Simulator. Each operation on AWS Fault Injection Simulator 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_fis::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_fis::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 CreateExperimentTemplate operation has
a Client::create_experiment_template, 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_experiment_template()
.client_token("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_experiment_template(
&self
) -> CreateExperimentTemplateFluentBuilder
pub fn create_experiment_template( &self ) -> CreateExperimentTemplateFluentBuilder
Constructs a fluent builder for the CreateExperimentTemplate operation.
- The fluent builder is configurable:
client_token(impl Into<String>)/set_client_token(Option<String>):
required: trueUnique, case-sensitive identifier that you provide to ensure the idempotency of the request.
description(impl Into<String>)/set_description(Option<String>):
required: trueA description for the experiment template.
stop_conditions(CreateExperimentTemplateStopConditionInput)/set_stop_conditions(Option<Vec::<CreateExperimentTemplateStopConditionInput>>):
required: trueThe stop conditions.
targets(impl Into<String>, CreateExperimentTemplateTargetInput)/set_targets(Option<HashMap::<String, CreateExperimentTemplateTargetInput>>):
required: falseThe targets for the experiment.
actions(impl Into<String>, CreateExperimentTemplateActionInput)/set_actions(Option<HashMap::<String, CreateExperimentTemplateActionInput>>):
required: trueThe actions for the experiment.
role_arn(impl Into<String>)/set_role_arn(Option<String>):
required: trueThe Amazon Resource Name (ARN) of an IAM role that grants the FIS service permission to perform service actions on your behalf.
tags(impl Into<String>, impl Into<String>)/set_tags(Option<HashMap::<String, String>>):
required: falseThe tags to apply to the experiment template.
log_configuration(CreateExperimentTemplateLogConfigurationInput)/set_log_configuration(Option<CreateExperimentTemplateLogConfigurationInput>):
required: falseThe configuration for experiment logging.
experiment_options(CreateExperimentTemplateExperimentOptionsInput)/set_experiment_options(Option<CreateExperimentTemplateExperimentOptionsInput>):
required: falseThe experiment options for the experiment template.
- On success, responds with
CreateExperimentTemplateOutputwith field(s):experiment_template(Option<ExperimentTemplate>):Information about the experiment template.
- On failure, responds with
SdkError<CreateExperimentTemplateError>
source§impl Client
impl Client
sourcepub fn create_target_account_configuration(
&self
) -> CreateTargetAccountConfigurationFluentBuilder
pub fn create_target_account_configuration( &self ) -> CreateTargetAccountConfigurationFluentBuilder
Constructs a fluent builder for the CreateTargetAccountConfiguration operation.
- The fluent builder is configurable:
client_token(impl Into<String>)/set_client_token(Option<String>):
required: falseUnique, case-sensitive identifier that you provide to ensure the idempotency of the request.
experiment_template_id(impl Into<String>)/set_experiment_template_id(Option<String>):
required: trueThe experiment template ID.
account_id(impl Into<String>)/set_account_id(Option<String>):
required: trueThe AWS account ID of the target account.
role_arn(impl Into<String>)/set_role_arn(Option<String>):
required: trueThe Amazon Resource Name (ARN) of an IAM role for the target account.
description(impl Into<String>)/set_description(Option<String>):
required: falseThe description of the target account.
- On success, responds with
CreateTargetAccountConfigurationOutputwith field(s):target_account_configuration(Option<TargetAccountConfiguration>):Information about the target account configuration.
- On failure, responds with
SdkError<CreateTargetAccountConfigurationError>
source§impl Client
impl Client
sourcepub fn delete_experiment_template(
&self
) -> DeleteExperimentTemplateFluentBuilder
pub fn delete_experiment_template( &self ) -> DeleteExperimentTemplateFluentBuilder
Constructs a fluent builder for the DeleteExperimentTemplate operation.
- The fluent builder is configurable:
id(impl Into<String>)/set_id(Option<String>):
required: trueThe ID of the experiment template.
- On success, responds with
DeleteExperimentTemplateOutputwith field(s):experiment_template(Option<ExperimentTemplate>):Information about the experiment template.
- On failure, responds with
SdkError<DeleteExperimentTemplateError>
source§impl Client
impl Client
sourcepub fn delete_target_account_configuration(
&self
) -> DeleteTargetAccountConfigurationFluentBuilder
pub fn delete_target_account_configuration( &self ) -> DeleteTargetAccountConfigurationFluentBuilder
Constructs a fluent builder for the DeleteTargetAccountConfiguration operation.
- The fluent builder is configurable:
experiment_template_id(impl Into<String>)/set_experiment_template_id(Option<String>):
required: trueThe ID of the experiment template.
account_id(impl Into<String>)/set_account_id(Option<String>):
required: trueThe AWS account ID of the target account.
- On success, responds with
DeleteTargetAccountConfigurationOutputwith field(s):target_account_configuration(Option<TargetAccountConfiguration>):Information about the target account configuration.
- On failure, responds with
SdkError<DeleteTargetAccountConfigurationError>
source§impl Client
impl Client
sourcepub fn get_action(&self) -> GetActionFluentBuilder
pub fn get_action(&self) -> GetActionFluentBuilder
Constructs a fluent builder for the GetAction operation.
- The fluent builder is configurable:
id(impl Into<String>)/set_id(Option<String>):
required: trueThe ID of the action.
- On success, responds with
GetActionOutputwith field(s):action(Option<Action>):Information about the action.
- On failure, responds with
SdkError<GetActionError>
source§impl Client
impl Client
sourcepub fn get_experiment(&self) -> GetExperimentFluentBuilder
pub fn get_experiment(&self) -> GetExperimentFluentBuilder
Constructs a fluent builder for the GetExperiment operation.
- The fluent builder is configurable:
id(impl Into<String>)/set_id(Option<String>):
required: trueThe ID of the experiment.
- On success, responds with
GetExperimentOutputwith field(s):experiment(Option<Experiment>):Information about the experiment.
- On failure, responds with
SdkError<GetExperimentError>
source§impl Client
impl Client
sourcepub fn get_experiment_target_account_configuration(
&self
) -> GetExperimentTargetAccountConfigurationFluentBuilder
pub fn get_experiment_target_account_configuration( &self ) -> GetExperimentTargetAccountConfigurationFluentBuilder
Constructs a fluent builder for the GetExperimentTargetAccountConfiguration operation.
- The fluent builder is configurable:
experiment_id(impl Into<String>)/set_experiment_id(Option<String>):
required: trueThe ID of the experiment.
account_id(impl Into<String>)/set_account_id(Option<String>):
required: trueThe AWS account ID of the target account.
- On success, responds with
GetExperimentTargetAccountConfigurationOutputwith field(s):target_account_configuration(Option<ExperimentTargetAccountConfiguration>):Information about the target account configuration.
- On failure, responds with
SdkError<GetExperimentTargetAccountConfigurationError>
source§impl Client
impl Client
sourcepub fn get_experiment_template(&self) -> GetExperimentTemplateFluentBuilder
pub fn get_experiment_template(&self) -> GetExperimentTemplateFluentBuilder
Constructs a fluent builder for the GetExperimentTemplate operation.
- The fluent builder is configurable:
id(impl Into<String>)/set_id(Option<String>):
required: trueThe ID of the experiment template.
- On success, responds with
GetExperimentTemplateOutputwith field(s):experiment_template(Option<ExperimentTemplate>):Information about the experiment template.
- On failure, responds with
SdkError<GetExperimentTemplateError>
source§impl Client
impl Client
sourcepub fn get_target_account_configuration(
&self
) -> GetTargetAccountConfigurationFluentBuilder
pub fn get_target_account_configuration( &self ) -> GetTargetAccountConfigurationFluentBuilder
Constructs a fluent builder for the GetTargetAccountConfiguration operation.
- The fluent builder is configurable:
experiment_template_id(impl Into<String>)/set_experiment_template_id(Option<String>):
required: trueThe ID of the experiment template.
account_id(impl Into<String>)/set_account_id(Option<String>):
required: trueThe AWS account ID of the target account.
- On success, responds with
GetTargetAccountConfigurationOutputwith field(s):target_account_configuration(Option<TargetAccountConfiguration>):Information about the target account configuration.
- On failure, responds with
SdkError<GetTargetAccountConfigurationError>
source§impl Client
impl Client
sourcepub fn get_target_resource_type(&self) -> GetTargetResourceTypeFluentBuilder
pub fn get_target_resource_type(&self) -> GetTargetResourceTypeFluentBuilder
Constructs a fluent builder for the GetTargetResourceType operation.
- The fluent builder is configurable:
resource_type(impl Into<String>)/set_resource_type(Option<String>):
required: trueThe resource type.
- On success, responds with
GetTargetResourceTypeOutputwith field(s):target_resource_type(Option<TargetResourceType>):Information about the resource type.
- On failure, responds with
SdkError<GetTargetResourceTypeError>
source§impl Client
impl Client
sourcepub fn list_actions(&self) -> ListActionsFluentBuilder
pub fn list_actions(&self) -> ListActionsFluentBuilder
Constructs a fluent builder for the ListActions operation.
This operation supports pagination; See into_paginator().
- The fluent builder is configurable:
max_results(i32)/set_max_results(Option<i32>):
required: falseThe maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned
nextTokenvalue.next_token(impl Into<String>)/set_next_token(Option<String>):
required: falseThe token for the next page of results.
- On success, responds with
ListActionsOutputwith field(s):actions(Option<Vec::<ActionSummary>>):The actions.
next_token(Option<String>):The token to use to retrieve the next page of results. This value is
nullwhen there are no more results to return.
- On failure, responds with
SdkError<ListActionsError>
source§impl Client
impl Client
sourcepub fn list_experiment_resolved_targets(
&self
) -> ListExperimentResolvedTargetsFluentBuilder
pub fn list_experiment_resolved_targets( &self ) -> ListExperimentResolvedTargetsFluentBuilder
Constructs a fluent builder for the ListExperimentResolvedTargets operation.
This operation supports pagination; See into_paginator().
- The fluent builder is configurable:
experiment_id(impl Into<String>)/set_experiment_id(Option<String>):
required: trueThe ID of the experiment.
max_results(i32)/set_max_results(Option<i32>):
required: falseThe maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
next_token(impl Into<String>)/set_next_token(Option<String>):
required: falseThe token for the next page of results.
target_name(impl Into<String>)/set_target_name(Option<String>):
required: falseThe name of the target.
- On success, responds with
ListExperimentResolvedTargetsOutputwith field(s):resolved_targets(Option<Vec::<ResolvedTarget>>):The resolved targets.
next_token(Option<String>):The token to use to retrieve the next page of results. This value is null when there are no more results to return.
- On failure, responds with
SdkError<ListExperimentResolvedTargetsError>
source§impl Client
impl Client
sourcepub fn list_experiment_target_account_configurations(
&self
) -> ListExperimentTargetAccountConfigurationsFluentBuilder
pub fn list_experiment_target_account_configurations( &self ) -> ListExperimentTargetAccountConfigurationsFluentBuilder
Constructs a fluent builder for the ListExperimentTargetAccountConfigurations operation.
- The fluent builder is configurable:
experiment_id(impl Into<String>)/set_experiment_id(Option<String>):
required: trueThe ID of the experiment.
next_token(impl Into<String>)/set_next_token(Option<String>):
required: falseThe token for the next page of results.
- On success, responds with
ListExperimentTargetAccountConfigurationsOutputwith field(s):target_account_configurations(Option<Vec::<ExperimentTargetAccountConfigurationSummary>>):The target account configurations.
next_token(Option<String>):The token to use to retrieve the next page of results. This value is null when there are no more results to return.
- On failure, responds with
SdkError<ListExperimentTargetAccountConfigurationsError>
source§impl Client
impl Client
sourcepub fn list_experiment_templates(&self) -> ListExperimentTemplatesFluentBuilder
pub fn list_experiment_templates(&self) -> ListExperimentTemplatesFluentBuilder
Constructs a fluent builder for the ListExperimentTemplates operation.
This operation supports pagination; See into_paginator().
- The fluent builder is configurable:
max_results(i32)/set_max_results(Option<i32>):
required: falseThe maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned
nextTokenvalue.next_token(impl Into<String>)/set_next_token(Option<String>):
required: falseThe token for the next page of results.
- On success, responds with
ListExperimentTemplatesOutputwith field(s):experiment_templates(Option<Vec::<ExperimentTemplateSummary>>):The experiment templates.
next_token(Option<String>):The token to use to retrieve the next page of results. This value is
nullwhen there are no more results to return.
- On failure, responds with
SdkError<ListExperimentTemplatesError>
source§impl Client
impl Client
sourcepub fn list_experiments(&self) -> ListExperimentsFluentBuilder
pub fn list_experiments(&self) -> ListExperimentsFluentBuilder
Constructs a fluent builder for the ListExperiments operation.
This operation supports pagination; See into_paginator().
- The fluent builder is configurable:
max_results(i32)/set_max_results(Option<i32>):
required: falseThe maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned
nextTokenvalue.next_token(impl Into<String>)/set_next_token(Option<String>):
required: falseThe token for the next page of results.
- On success, responds with
ListExperimentsOutputwith field(s):experiments(Option<Vec::<ExperimentSummary>>):The experiments.
next_token(Option<String>):The token to use to retrieve the next page of results. This value is
nullwhen there are no more results to return.
- On failure, responds with
SdkError<ListExperimentsError>
source§impl Client
impl Client
Constructs a fluent builder for the ListTagsForResource operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)/set_resource_arn(Option<String>):
required: trueThe Amazon Resource Name (ARN) of the resource.
- On success, responds with
ListTagsForResourceOutputwith field(s):tags(Option<HashMap::<String, String>>):The tags for the resource.
- On failure, responds with
SdkError<ListTagsForResourceError>
source§impl Client
impl Client
sourcepub fn list_target_account_configurations(
&self
) -> ListTargetAccountConfigurationsFluentBuilder
pub fn list_target_account_configurations( &self ) -> ListTargetAccountConfigurationsFluentBuilder
Constructs a fluent builder for the ListTargetAccountConfigurations operation.
This operation supports pagination; See into_paginator().
- The fluent builder is configurable:
experiment_template_id(impl Into<String>)/set_experiment_template_id(Option<String>):
required: trueThe ID of the experiment template.
max_results(i32)/set_max_results(Option<i32>):
required: falseThe maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
next_token(impl Into<String>)/set_next_token(Option<String>):
required: falseThe token for the next page of results.
- On success, responds with
ListTargetAccountConfigurationsOutputwith field(s):target_account_configurations(Option<Vec::<TargetAccountConfigurationSummary>>):The target account configurations.
next_token(Option<String>):The token to use to retrieve the next page of results. This value is null when there are no more results to return.
- On failure, responds with
SdkError<ListTargetAccountConfigurationsError>
source§impl Client
impl Client
sourcepub fn list_target_resource_types(&self) -> ListTargetResourceTypesFluentBuilder
pub fn list_target_resource_types(&self) -> ListTargetResourceTypesFluentBuilder
Constructs a fluent builder for the ListTargetResourceTypes operation.
This operation supports pagination; See into_paginator().
- The fluent builder is configurable:
max_results(i32)/set_max_results(Option<i32>):
required: falseThe maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned
nextTokenvalue.next_token(impl Into<String>)/set_next_token(Option<String>):
required: falseThe token for the next page of results.
- On success, responds with
ListTargetResourceTypesOutputwith field(s):target_resource_types(Option<Vec::<TargetResourceTypeSummary>>):The target resource types.
next_token(Option<String>):The token to use to retrieve the next page of results. This value is
nullwhen there are no more results to return.
- On failure, responds with
SdkError<ListTargetResourceTypesError>
source§impl Client
impl Client
sourcepub fn start_experiment(&self) -> StartExperimentFluentBuilder
pub fn start_experiment(&self) -> StartExperimentFluentBuilder
Constructs a fluent builder for the StartExperiment operation.
- The fluent builder is configurable:
client_token(impl Into<String>)/set_client_token(Option<String>):
required: trueUnique, case-sensitive identifier that you provide to ensure the idempotency of the request.
experiment_template_id(impl Into<String>)/set_experiment_template_id(Option<String>):
required: trueThe ID of the experiment template.
tags(impl Into<String>, impl Into<String>)/set_tags(Option<HashMap::<String, String>>):
required: falseThe tags to apply to the experiment.
- On success, responds with
StartExperimentOutputwith field(s):experiment(Option<Experiment>):Information about the experiment.
- On failure, responds with
SdkError<StartExperimentError>
source§impl Client
impl Client
sourcepub fn stop_experiment(&self) -> StopExperimentFluentBuilder
pub fn stop_experiment(&self) -> StopExperimentFluentBuilder
Constructs a fluent builder for the StopExperiment operation.
- The fluent builder is configurable:
id(impl Into<String>)/set_id(Option<String>):
required: trueThe ID of the experiment.
- On success, responds with
StopExperimentOutputwith field(s):experiment(Option<Experiment>):Information about the experiment.
- On failure, responds with
SdkError<StopExperimentError>
source§impl Client
impl Client
sourcepub fn tag_resource(&self) -> TagResourceFluentBuilder
pub fn tag_resource(&self) -> TagResourceFluentBuilder
Constructs a fluent builder for the TagResource operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)/set_resource_arn(Option<String>):
required: trueThe Amazon Resource Name (ARN) of the resource.
tags(impl Into<String>, impl Into<String>)/set_tags(Option<HashMap::<String, String>>):
required: trueThe tags for the resource.
- On success, responds with
TagResourceOutput - On failure, responds with
SdkError<TagResourceError>
source§impl Client
impl Client
sourcepub fn untag_resource(&self) -> UntagResourceFluentBuilder
pub fn untag_resource(&self) -> UntagResourceFluentBuilder
Constructs a fluent builder for the UntagResource operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)/set_resource_arn(Option<String>):
required: trueThe Amazon Resource Name (ARN) of the resource.
tag_keys(impl Into<String>)/set_tag_keys(Option<Vec::<String>>):
required: falseThe tag keys to remove.
- On success, responds with
UntagResourceOutput - On failure, responds with
SdkError<UntagResourceError>
source§impl Client
impl Client
sourcepub fn update_experiment_template(
&self
) -> UpdateExperimentTemplateFluentBuilder
pub fn update_experiment_template( &self ) -> UpdateExperimentTemplateFluentBuilder
Constructs a fluent builder for the UpdateExperimentTemplate operation.
- The fluent builder is configurable:
id(impl Into<String>)/set_id(Option<String>):
required: trueThe ID of the experiment template.
description(impl Into<String>)/set_description(Option<String>):
required: falseA description for the template.
stop_conditions(UpdateExperimentTemplateStopConditionInput)/set_stop_conditions(Option<Vec::<UpdateExperimentTemplateStopConditionInput>>):
required: falseThe stop conditions for the experiment.
targets(impl Into<String>, UpdateExperimentTemplateTargetInput)/set_targets(Option<HashMap::<String, UpdateExperimentTemplateTargetInput>>):
required: falseThe targets for the experiment.
actions(impl Into<String>, UpdateExperimentTemplateActionInputItem)/set_actions(Option<HashMap::<String, UpdateExperimentTemplateActionInputItem>>):
required: falseThe actions for the experiment.
role_arn(impl Into<String>)/set_role_arn(Option<String>):
required: falseThe Amazon Resource Name (ARN) of an IAM role that grants the FIS service permission to perform service actions on your behalf.
log_configuration(UpdateExperimentTemplateLogConfigurationInput)/set_log_configuration(Option<UpdateExperimentTemplateLogConfigurationInput>):
required: falseThe configuration for experiment logging.
experiment_options(UpdateExperimentTemplateExperimentOptionsInput)/set_experiment_options(Option<UpdateExperimentTemplateExperimentOptionsInput>):
required: falseThe experiment options for the experiment template.
- On success, responds with
UpdateExperimentTemplateOutputwith field(s):experiment_template(Option<ExperimentTemplate>):Information about the experiment template.
- On failure, responds with
SdkError<UpdateExperimentTemplateError>
source§impl Client
impl Client
sourcepub fn update_target_account_configuration(
&self
) -> UpdateTargetAccountConfigurationFluentBuilder
pub fn update_target_account_configuration( &self ) -> UpdateTargetAccountConfigurationFluentBuilder
Constructs a fluent builder for the UpdateTargetAccountConfiguration operation.
- The fluent builder is configurable:
experiment_template_id(impl Into<String>)/set_experiment_template_id(Option<String>):
required: trueThe ID of the experiment template.
account_id(impl Into<String>)/set_account_id(Option<String>):
required: trueThe AWS account ID of the target account.
role_arn(impl Into<String>)/set_role_arn(Option<String>):
required: falseThe Amazon Resource Name (ARN) of an IAM role for the target account.
description(impl Into<String>)/set_description(Option<String>):
required: falseThe description of the target account.
- On success, responds with
UpdateTargetAccountConfigurationOutputwith field(s):target_account_configuration(Option<TargetAccountConfiguration>):Information about the target account configuration.
- On failure, responds with
SdkError<UpdateTargetAccountConfigurationError>
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_implconfigured. - Identity caching is enabled without a
sleep_implandtime_sourceconfigured. - No
behavior_versionis 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_configis missing an async sleep implementation. If you experience this panic, set thesleep_implon the Config passed into this function to fix it. - This method will panic if the
sdk_configis missing an HTTP connector. If you experience this panic, set thehttp_connectoron the Config passed into this function to fix it. - This method will panic if no
BehaviorVersionis provided. If you experience this panic, setbehavior_versionon the Config or enable thebehavior-version-latestCargo feature.