Struct aws_sdk_iotfleethub::Client
source · pub struct Client { /* private fields */ }
Expand description
Client for AWS IoT Fleet Hub
Client for invoking operations on AWS IoT Fleet Hub. Each operation on AWS IoT Fleet Hub 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_iotfleethub::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_iotfleethub::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 CreateApplication
operation has
a Client::create_application
, 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_application()
.application_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_application(&self) -> CreateApplicationFluentBuilder
pub fn create_application(&self) -> CreateApplicationFluentBuilder
Constructs a fluent builder for the CreateApplication
operation.
- The fluent builder is configurable:
application_name(impl Into<String>)
/set_application_name(Option<String>)
:
required: trueThe name of the web application.
application_description(impl Into<String>)
/set_application_description(Option<String>)
:
required: falseAn optional description of the web application.
client_token(impl Into<String>)
/set_client_token(Option<String>)
:
required: falseA unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don’t reuse this client token if a new idempotent request is required.
role_arn(impl Into<String>)
/set_role_arn(Option<String>)
:
required: trueThe ARN of the role that the web application assumes when it interacts with AWS IoT Core.
The name of the role must be in the form
AWSIotFleetHub_random_string
.tags(impl Into<String>, impl Into<String>)
/set_tags(Option<HashMap::<String, String>>)
:
required: falseA set of key/value pairs that you can use to manage the web application resource.
- On success, responds with
CreateApplicationOutput
with field(s):application_id(String)
:The unique Id of the web application.
application_arn(String)
:The ARN of the web application.
- On failure, responds with
SdkError<CreateApplicationError>
source§impl Client
impl Client
sourcepub fn delete_application(&self) -> DeleteApplicationFluentBuilder
pub fn delete_application(&self) -> DeleteApplicationFluentBuilder
Constructs a fluent builder for the DeleteApplication
operation.
- The fluent builder is configurable:
application_id(impl Into<String>)
/set_application_id(Option<String>)
:
required: trueThe unique Id of the web application.
client_token(impl Into<String>)
/set_client_token(Option<String>)
:
required: falseA unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don’t reuse this client token if a new idempotent request is required.
- On success, responds with
DeleteApplicationOutput
- On failure, responds with
SdkError<DeleteApplicationError>
source§impl Client
impl Client
sourcepub fn describe_application(&self) -> DescribeApplicationFluentBuilder
pub fn describe_application(&self) -> DescribeApplicationFluentBuilder
Constructs a fluent builder for the DescribeApplication
operation.
- The fluent builder is configurable:
application_id(impl Into<String>)
/set_application_id(Option<String>)
:
required: trueThe unique Id of the web application.
- On success, responds with
DescribeApplicationOutput
with field(s):application_id(String)
:The unique Id of the web application.
application_arn(String)
:The ARN of the web application.
application_name(String)
:The name of the web application.
application_description(Option<String>)
:An optional description of the web application.
application_url(String)
:The URL of the web application.
application_state(ApplicationState)
:The current state of the web application.
application_creation_date(i64)
:The date (in Unix epoch time) when the application was created.
application_last_update_date(i64)
:The date (in Unix epoch time) when the application was last updated.
role_arn(String)
:The ARN of the role that the web application assumes when it interacts with AWS IoT Core.
sso_client_id(Option<String>)
:The Id of the single sign-on client that you use to authenticate and authorize users on the web application.
error_message(Option<String>)
:A message indicating why the
DescribeApplication
API failed.tags(Option<HashMap::<String, String>>)
:A set of key/value pairs that you can use to manage the web application resource.
- On failure, responds with
SdkError<DescribeApplicationError>
source§impl Client
impl Client
sourcepub fn list_applications(&self) -> ListApplicationsFluentBuilder
pub fn list_applications(&self) -> ListApplicationsFluentBuilder
Constructs a fluent builder for the ListApplications
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseA token used to get the next set of results.
- On success, responds with
ListApplicationsOutput
with field(s):application_summaries(Option<Vec::<ApplicationSummary>>)
:An array of objects that provide summaries of information about the web applications in the list.
next_token(Option<String>)
:A token used to get the next set of results.
- On failure, responds with
SdkError<ListApplicationsError>
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 ARN of the resource.
- On success, responds with
ListTagsForResourceOutput
with field(s):tags(Option<HashMap::<String, String>>)
:The list of tags assigned to the resource.
- On failure, responds with
SdkError<ListTagsForResourceError>
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 ARN of the resource.
tags(impl Into<String>, impl Into<String>)
/set_tags(Option<HashMap::<String, String>>)
:
required: trueThe new or modified 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 ARN of the resource.
tag_keys(impl Into<String>)
/set_tag_keys(Option<Vec::<String>>)
:
required: trueA list of the keys of the tags to be removed from the resource.
- On success, responds with
UntagResourceOutput
- On failure, responds with
SdkError<UntagResourceError>
source§impl Client
impl Client
sourcepub fn update_application(&self) -> UpdateApplicationFluentBuilder
pub fn update_application(&self) -> UpdateApplicationFluentBuilder
Constructs a fluent builder for the UpdateApplication
operation.
- The fluent builder is configurable:
application_id(impl Into<String>)
/set_application_id(Option<String>)
:
required: trueThe unique Id of the web application.
application_name(impl Into<String>)
/set_application_name(Option<String>)
:
required: falseThe name of the web application.
application_description(impl Into<String>)
/set_application_description(Option<String>)
:
required: falseAn optional description of the web application.
client_token(impl Into<String>)
/set_client_token(Option<String>)
:
required: falseA unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don’t reuse this client token if a new idempotent request is required.
- On success, responds with
UpdateApplicationOutput
- On failure, responds with
SdkError<UpdateApplicationError>
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.