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 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
CreateExperimentTemplateOutput
with 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
CreateTargetAccountConfigurationOutput
with 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
DeleteExperimentTemplateOutput
with 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
DeleteTargetAccountConfigurationOutput
with 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
GetActionOutput
with 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
GetExperimentOutput
with 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
GetExperimentTargetAccountConfigurationOutput
with 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
GetExperimentTemplateOutput
with 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
GetTargetAccountConfigurationOutput
with 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
GetTargetResourceTypeOutput
with 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
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
ListActionsOutput
with 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
null
when 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
ListExperimentResolvedTargetsOutput
with 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
ListExperimentTargetAccountConfigurationsOutput
with 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
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
ListExperimentTemplatesOutput
with 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
null
when 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
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
ListExperimentsOutput
with 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
null
when 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
ListTagsForResourceOutput
with 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
ListTargetAccountConfigurationsOutput
with 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
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
ListTargetResourceTypesOutput
with 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
null
when 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
StartExperimentOutput
with 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
StopExperimentOutput
with 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
UpdateExperimentTemplateOutput
with 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
UpdateTargetAccountConfigurationOutput
with 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_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.