Struct aws_sdk_braket::Client
source · pub struct Client { /* private fields */ }
Expand description
Client for Braket
Client for invoking operations on Braket. Each operation on Braket 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_braket::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_braket::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 ListTagsForResource
operation has
a Client::list_tags_for_resource
, 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.list_tags_for_resource()
.resource_arn("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 cancel_job(&self) -> CancelJobFluentBuilder
pub fn cancel_job(&self) -> CancelJobFluentBuilder
Constructs a fluent builder for the CancelJob
operation.
- The fluent builder is configurable:
job_arn(impl Into<String>)
/set_job_arn(Option<String>)
:
required: trueThe ARN of the Amazon Braket job to cancel.
- On success, responds with
CancelJobOutput
with field(s):job_arn(String)
:The ARN of the Amazon Braket job.
cancellation_status(CancellationStatus)
:The status of the job cancellation request.
- On failure, responds with
SdkError<CancelJobError>
source§impl Client
impl Client
sourcepub fn cancel_quantum_task(&self) -> CancelQuantumTaskFluentBuilder
pub fn cancel_quantum_task(&self) -> CancelQuantumTaskFluentBuilder
Constructs a fluent builder for the CancelQuantumTask
operation.
- The fluent builder is configurable:
quantum_task_arn(impl Into<String>)
/set_quantum_task_arn(Option<String>)
:
required: trueThe ARN of the task to cancel.
client_token(impl Into<String>)
/set_client_token(Option<String>)
:
required: trueThe client token associated with the request.
- On success, responds with
CancelQuantumTaskOutput
with field(s):quantum_task_arn(String)
:The ARN of the task.
cancellation_status(CancellationStatus)
:The status of the cancellation request.
- On failure, responds with
SdkError<CancelQuantumTaskError>
source§impl Client
impl Client
sourcepub fn create_job(&self) -> CreateJobFluentBuilder
pub fn create_job(&self) -> CreateJobFluentBuilder
Constructs a fluent builder for the CreateJob
operation.
- The fluent builder is configurable:
client_token(impl Into<String>)
/set_client_token(Option<String>)
:
required: trueA unique token that guarantees that the call to this API is idempotent.
algorithm_specification(AlgorithmSpecification)
/set_algorithm_specification(Option<AlgorithmSpecification>)
:
required: trueDefinition of the Amazon Braket job to be created. Specifies the container image the job uses and information about the Python scripts used for entry and training.
input_data_config(InputFileConfig)
/set_input_data_config(Option<Vec::<InputFileConfig>>)
:
required: falseA list of parameters that specify the name and type of input data and where it is located.
output_data_config(JobOutputDataConfig)
/set_output_data_config(Option<JobOutputDataConfig>)
:
required: trueThe path to the S3 location where you want to store job artifacts and the encryption key used to store them.
checkpoint_config(JobCheckpointConfig)
/set_checkpoint_config(Option<JobCheckpointConfig>)
:
required: falseInformation about the output locations for job checkpoint data.
job_name(impl Into<String>)
/set_job_name(Option<String>)
:
required: trueThe name of the Amazon Braket job.
role_arn(impl Into<String>)
/set_role_arn(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) of an IAM role that Amazon Braket can assume to perform tasks on behalf of a user. It can access user resources, run an Amazon Braket job container on behalf of user, and output resources to the users’ s3 buckets.
stopping_condition(JobStoppingCondition)
/set_stopping_condition(Option<JobStoppingCondition>)
:
required: falseThe user-defined criteria that specifies when a job stops running.
instance_config(InstanceConfig)
/set_instance_config(Option<InstanceConfig>)
:
required: trueConfiguration of the resource instances to use while running the hybrid job on Amazon Braket.
hyper_parameters(impl Into<String>, impl Into<String>)
/set_hyper_parameters(Option<HashMap::<String, String>>)
:
required: falseAlgorithm-specific parameters used by an Amazon Braket job that influence the quality of the training job. The values are set with a string of JSON key:value pairs, where the key is the name of the hyperparameter and the value is the value of th hyperparameter.
device_config(DeviceConfig)
/set_device_config(Option<DeviceConfig>)
:
required: trueThe quantum processing unit (QPU) or simulator used to create an Amazon Braket job.
tags(impl Into<String>, impl Into<String>)
/set_tags(Option<HashMap::<String, String>>)
:
required: falseA tag object that consists of a key and an optional value, used to manage metadata for Amazon Braket resources.
- On success, responds with
CreateJobOutput
with field(s):job_arn(String)
:The ARN of the Amazon Braket job created.
- On failure, responds with
SdkError<CreateJobError>
source§impl Client
impl Client
sourcepub fn create_quantum_task(&self) -> CreateQuantumTaskFluentBuilder
pub fn create_quantum_task(&self) -> CreateQuantumTaskFluentBuilder
Constructs a fluent builder for the CreateQuantumTask
operation.
- The fluent builder is configurable:
client_token(impl Into<String>)
/set_client_token(Option<String>)
:
required: trueThe client token associated with the request.
device_arn(impl Into<String>)
/set_device_arn(Option<String>)
:
required: trueThe ARN of the device to run the task on.
device_parameters(impl Into<String>)
/set_device_parameters(Option<String>)
:
required: falseThe parameters for the device to run the task on.
shots(i64)
/set_shots(Option<i64>)
:
required: trueThe number of shots to use for the task.
output_s3_bucket(impl Into<String>)
/set_output_s3_bucket(Option<String>)
:
required: trueThe S3 bucket to store task result files in.
output_s3_key_prefix(impl Into<String>)
/set_output_s3_key_prefix(Option<String>)
:
required: trueThe key prefix for the location in the S3 bucket to store task results in.
action(impl Into<String>)
/set_action(Option<String>)
:
required: trueThe action associated with the task.
tags(impl Into<String>, impl Into<String>)
/set_tags(Option<HashMap::<String, String>>)
:
required: falseTags to be added to the quantum task you’re creating.
job_token(impl Into<String>)
/set_job_token(Option<String>)
:
required: falseThe token for an Amazon Braket job that associates it with the quantum task.
- On success, responds with
CreateQuantumTaskOutput
with field(s):quantum_task_arn(String)
:The ARN of the task created by the request.
- On failure, responds with
SdkError<CreateQuantumTaskError>
source§impl Client
impl Client
sourcepub fn get_device(&self) -> GetDeviceFluentBuilder
pub fn get_device(&self) -> GetDeviceFluentBuilder
Constructs a fluent builder for the GetDevice
operation.
- The fluent builder is configurable:
device_arn(impl Into<String>)
/set_device_arn(Option<String>)
:
required: trueThe ARN of the device to retrieve.
- On success, responds with
GetDeviceOutput
with field(s):device_arn(String)
:The ARN of the device.
device_name(String)
:The name of the device.
provider_name(String)
:The name of the partner company for the device.
device_type(DeviceType)
:The type of the device.
device_status(DeviceStatus)
:The status of the device.
device_capabilities(String)
:Details about the capabilities of the device.
device_queue_info(Option<Vec::<DeviceQueueInfo>>)
:List of information about tasks and jobs queued on a device.
- On failure, responds with
SdkError<GetDeviceError>
source§impl Client
impl Client
sourcepub fn get_job(&self) -> GetJobFluentBuilder
pub fn get_job(&self) -> GetJobFluentBuilder
Constructs a fluent builder for the GetJob
operation.
- The fluent builder is configurable:
job_arn(impl Into<String>)
/set_job_arn(Option<String>)
:
required: trueThe ARN of the job to retrieve.
additional_attribute_names(HybridJobAdditionalAttributeName)
/set_additional_attribute_names(Option<Vec::<HybridJobAdditionalAttributeName>>)
:
required: falseA list of attributes to return information for.
- On success, responds with
GetJobOutput
with field(s):status(JobPrimaryStatus)
:The status of the Amazon Braket job.
job_arn(String)
:The ARN of the Amazon Braket job.
role_arn(String)
:The Amazon Resource Name (ARN) of an IAM role that Amazon Braket can assume to perform tasks on behalf of a user. It can access user resources, run an Amazon Braket job container on behalf of user, and output resources to the s3 buckets of a user.
failure_reason(Option<String>)
:A description of the reason why an Amazon Braket job failed, if it failed.
job_name(String)
:The name of the Amazon Braket job.
hyper_parameters(Option<HashMap::<String, String>>)
:Algorithm-specific parameters used by an Amazon Braket job that influence the quality of the traiing job. The values are set with a string of JSON key:value pairs, where the key is the name of the hyperparameter and the value is the value of th hyperparameter.
input_data_config(Option<Vec::<InputFileConfig>>)
:A list of parameters that specify the name and type of input data and where it is located.
output_data_config(Option<JobOutputDataConfig>)
:The path to the S3 location where job artifacts are stored and the encryption key used to store them there.
stopping_condition(Option<JobStoppingCondition>)
:The user-defined criteria that specifies when to stop a job running.
checkpoint_config(Option<JobCheckpointConfig>)
:Information about the output locations for job checkpoint data.
algorithm_specification(Option<AlgorithmSpecification>)
:Definition of the Amazon Braket job created. Specifies the container image the job uses, information about the Python scripts used for entry and training, and the user-defined metrics used to evaluation the job.
instance_config(Option<InstanceConfig>)
:The resource instances to use while running the hybrid job on Amazon Braket.
created_at(DateTime)
:The date and time that the Amazon Braket job was created.
started_at(Option<DateTime>)
:The date and time that the Amazon Braket job was started.
ended_at(Option<DateTime>)
:The date and time that the Amazon Braket job ended.
billable_duration(Option<i32>)
:The billable time the Amazon Braket job used to complete.
device_config(Option<DeviceConfig>)
:The quantum processing unit (QPU) or simulator used to run the Amazon Braket job.
events(Option<Vec::<JobEventDetails>>)
:Details about the type and time events occurred related to the Amazon Braket job.
tags(Option<HashMap::<String, String>>)
:A tag object that consists of a key and an optional value, used to manage metadata for Amazon Braket resources.
queue_info(Option<HybridJobQueueInfo>)
:Queue information for the requested job. Only returned if
QueueInfo
is specified in theadditionalAttributeNames“
field in theGetJob
API request.
- On failure, responds with
SdkError<GetJobError>
source§impl Client
impl Client
sourcepub fn get_quantum_task(&self) -> GetQuantumTaskFluentBuilder
pub fn get_quantum_task(&self) -> GetQuantumTaskFluentBuilder
Constructs a fluent builder for the GetQuantumTask
operation.
- The fluent builder is configurable:
quantum_task_arn(impl Into<String>)
/set_quantum_task_arn(Option<String>)
:
required: truethe ARN of the task to retrieve.
additional_attribute_names(QuantumTaskAdditionalAttributeName)
/set_additional_attribute_names(Option<Vec::<QuantumTaskAdditionalAttributeName>>)
:
required: falseA list of attributes to return information for.
- On success, responds with
GetQuantumTaskOutput
with field(s):quantum_task_arn(String)
:The ARN of the task.
status(QuantumTaskStatus)
:The status of the task.
failure_reason(Option<String>)
:The reason that a task failed.
device_arn(String)
:The ARN of the device the task was run on.
device_parameters(String)
:The parameters for the device on which the task ran.
shots(i64)
:The number of shots used in the task.
output_s3_bucket(String)
:The S3 bucket where task results are stored.
output_s3_directory(String)
:The folder in the S3 bucket where task results are stored.
created_at(DateTime)
:The time at which the task was created.
ended_at(Option<DateTime>)
:The time at which the task ended.
tags(Option<HashMap::<String, String>>)
:The tags that belong to this task.
job_arn(Option<String>)
:The ARN of the Amazon Braket job associated with the quantum task.
queue_info(Option<QuantumTaskQueueInfo>)
:Queue information for the requested quantum task. Only returned if
QueueInfo
is specified in theadditionalAttributeNames“
field in theGetQuantumTask
API request.
- On failure, responds with
SdkError<GetQuantumTaskError>
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: trueSpecify the
resourceArn
for the resource whose tags to display.
- On success, responds with
ListTagsForResourceOutput
with field(s):tags(Option<HashMap::<String, String>>)
:Displays the key, value pairs of tags associated with this resource.
- On failure, responds with
SdkError<ListTagsForResourceError>
source§impl Client
impl Client
sourcepub fn search_devices(&self) -> SearchDevicesFluentBuilder
pub fn search_devices(&self) -> SearchDevicesFluentBuilder
Constructs a fluent builder for the SearchDevices
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 for pagination of results returned in the response. Use the token returned from the previous request continue results where the previous request ended.
max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of results to return in the response.
filters(SearchDevicesFilter)
/set_filters(Option<Vec::<SearchDevicesFilter>>)
:
required: trueThe filter values to use to search for a device.
- On success, responds with
SearchDevicesOutput
with field(s):devices(Vec::<DeviceSummary>)
:An array of
DeviceSummary
objects for devices that match the specified filter values.next_token(Option<String>)
:A token used for pagination of results, or null if there are no additional results. Use the token value in a subsequent request to continue results where the previous request ended.
- On failure, responds with
SdkError<SearchDevicesError>
source§impl Client
impl Client
sourcepub fn search_jobs(&self) -> SearchJobsFluentBuilder
pub fn search_jobs(&self) -> SearchJobsFluentBuilder
Constructs a fluent builder for the SearchJobs
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 for pagination of results returned in the response. Use the token returned from the previous request to continue results where the previous request ended.
max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of results to return in the response.
filters(SearchJobsFilter)
/set_filters(Option<Vec::<SearchJobsFilter>>)
:
required: trueThe filter values to use when searching for a job.
- On success, responds with
SearchJobsOutput
with field(s):jobs(Vec::<JobSummary>)
:An array of
JobSummary
objects for devices that match the specified filter values.next_token(Option<String>)
:A token used for pagination of results, or
null
if there are no additional results. Use the token value in a subsequent request to continue results where the previous request ended.
- On failure, responds with
SdkError<SearchJobsError>
source§impl Client
impl Client
sourcepub fn search_quantum_tasks(&self) -> SearchQuantumTasksFluentBuilder
pub fn search_quantum_tasks(&self) -> SearchQuantumTasksFluentBuilder
Constructs a fluent builder for the SearchQuantumTasks
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 for pagination of results returned in the response. Use the token returned from the previous request continue results where the previous request ended.
max_results(i32)
/set_max_results(Option<i32>)
:
required: falseMaximum number of results to return in the response.
filters(SearchQuantumTasksFilter)
/set_filters(Option<Vec::<SearchQuantumTasksFilter>>)
:
required: trueArray of
SearchQuantumTasksFilter
objects.
- On success, responds with
SearchQuantumTasksOutput
with field(s):quantum_tasks(Vec::<QuantumTaskSummary>)
:An array of
QuantumTaskSummary
objects for tasks that match the specified filters.next_token(Option<String>)
:A token used for pagination of results, or null if there are no additional results. Use the token value in a subsequent request to continue results where the previous request ended.
- On failure, responds with
SdkError<SearchQuantumTasksError>
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: trueSpecify the
resourceArn
of the resource to which a tag will be added.tags(impl Into<String>, impl Into<String>)
/set_tags(Option<HashMap::<String, String>>)
:
required: trueSpecify the tags to add to 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: trueSpecify the
resourceArn
for the resource from which to remove the tags.tag_keys(impl Into<String>)
/set_tag_keys(Option<Vec::<String>>)
:
required: trueSpecify the keys for the tags to remove from the resource.
- On success, responds with
UntagResourceOutput
- On failure, responds with
SdkError<UntagResourceError>
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.