Struct aws_sdk_applicationcostprofiler::Client
source · pub struct Client { /* private fields */ }Expand description
Client for AWS Application Cost Profiler
Client for invoking operations on AWS Application Cost Profiler. Each operation on AWS Application Cost Profiler 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_applicationcostprofiler::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_applicationcostprofiler::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 DeleteReportDefinition operation has
a Client::delete_report_definition, 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.delete_report_definition()
.report_id("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 delete_report_definition(&self) -> DeleteReportDefinitionFluentBuilder
pub fn delete_report_definition(&self) -> DeleteReportDefinitionFluentBuilder
Constructs a fluent builder for the DeleteReportDefinition operation.
- The fluent builder is configurable:
report_id(impl Into<String>)/set_report_id(Option<String>):
required: trueRequired. ID of the report to delete.
- On success, responds with
DeleteReportDefinitionOutputwith field(s):report_id(Option<String>):ID of the report that was deleted.
- On failure, responds with
SdkError<DeleteReportDefinitionError>
source§impl Client
impl Client
sourcepub fn get_report_definition(&self) -> GetReportDefinitionFluentBuilder
pub fn get_report_definition(&self) -> GetReportDefinitionFluentBuilder
Constructs a fluent builder for the GetReportDefinition operation.
- The fluent builder is configurable:
report_id(impl Into<String>)/set_report_id(Option<String>):
required: trueID of the report to retrieve.
- On success, responds with
GetReportDefinitionOutputwith field(s):report_id(String):ID of the report retrieved.
report_description(String):Description of the report.
report_frequency(ReportFrequency):Cadence used to generate the report.
format(Format):Format of the generated report.
destination_s3_location(Option<S3Location>):Amazon Simple Storage Service (Amazon S3) location where the report is uploaded.
created_at(DateTime):Timestamp (milliseconds) when this report definition was created.
last_updated(DateTime):Timestamp (milliseconds) when this report definition was last updated.
- On failure, responds with
SdkError<GetReportDefinitionError>
source§impl Client
impl Client
sourcepub fn import_application_usage(&self) -> ImportApplicationUsageFluentBuilder
pub fn import_application_usage(&self) -> ImportApplicationUsageFluentBuilder
Constructs a fluent builder for the ImportApplicationUsage operation.
- The fluent builder is configurable:
source_s3_location(SourceS3Location)/set_source_s3_location(Option<SourceS3Location>):
required: trueAmazon S3 location to import application usage data from.
- On success, responds with
ImportApplicationUsageOutputwith field(s):import_id(String):ID of the import request.
- On failure, responds with
SdkError<ImportApplicationUsageError>
source§impl Client
impl Client
sourcepub fn list_report_definitions(&self) -> ListReportDefinitionsFluentBuilder
pub fn list_report_definitions(&self) -> ListReportDefinitionsFluentBuilder
Constructs a fluent builder for the ListReportDefinitions operation.
This operation supports pagination; See into_paginator().
- The fluent builder is configurable:
next_token(impl Into<String>)/set_next_token(Option<String>):
required: falseThe token value from a previous call to access the next page of results.
max_results(i32)/set_max_results(Option<i32>):
required: falseThe maximum number of results to return.
- On success, responds with
ListReportDefinitionsOutputwith field(s):report_definitions(Option<Vec::<ReportDefinition>>):The retrieved reports.
next_token(Option<String>):The value of the next token, if it exists. Null if there are no more results.
- On failure, responds with
SdkError<ListReportDefinitionsError>
source§impl Client
impl Client
sourcepub fn put_report_definition(&self) -> PutReportDefinitionFluentBuilder
pub fn put_report_definition(&self) -> PutReportDefinitionFluentBuilder
Constructs a fluent builder for the PutReportDefinition operation.
- The fluent builder is configurable:
report_id(impl Into<String>)/set_report_id(Option<String>):
required: trueRequired. ID of the report. You can choose any valid string matching the pattern for the ID.
report_description(impl Into<String>)/set_report_description(Option<String>):
required: trueRequired. Description of the report.
report_frequency(ReportFrequency)/set_report_frequency(Option<ReportFrequency>):
required: trueRequired. The cadence to generate the report.
format(Format)/set_format(Option<Format>):
required: trueRequired. The format to use for the generated report.
destination_s3_location(S3Location)/set_destination_s3_location(Option<S3Location>):
required: trueRequired. Amazon Simple Storage Service (Amazon S3) location where Application Cost Profiler uploads the report.
- On success, responds with
PutReportDefinitionOutputwith field(s):report_id(Option<String>):ID of the report.
- On failure, responds with
SdkError<PutReportDefinitionError>
source§impl Client
impl Client
sourcepub fn update_report_definition(&self) -> UpdateReportDefinitionFluentBuilder
pub fn update_report_definition(&self) -> UpdateReportDefinitionFluentBuilder
Constructs a fluent builder for the UpdateReportDefinition operation.
- The fluent builder is configurable:
report_id(impl Into<String>)/set_report_id(Option<String>):
required: trueRequired. ID of the report to update.
report_description(impl Into<String>)/set_report_description(Option<String>):
required: trueRequired. Description of the report.
report_frequency(ReportFrequency)/set_report_frequency(Option<ReportFrequency>):
required: trueRequired. The cadence to generate the report.
format(Format)/set_format(Option<Format>):
required: trueRequired. The format to use for the generated report.
destination_s3_location(S3Location)/set_destination_s3_location(Option<S3Location>):
required: trueRequired. Amazon Simple Storage Service (Amazon S3) location where Application Cost Profiler uploads the report.
- On success, responds with
UpdateReportDefinitionOutputwith field(s):report_id(Option<String>):ID of the report.
- On failure, responds with
SdkError<UpdateReportDefinitionError>
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.