1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::invoke_agent_runtime_command::_invoke_agent_runtime_command_input::InvokeAgentRuntimeCommandInputBuilder;
pub use crate::operation::invoke_agent_runtime_command::_invoke_agent_runtime_command_output::InvokeAgentRuntimeCommandOutputBuilder;
impl crate::operation::invoke_agent_runtime_command::builders::InvokeAgentRuntimeCommandInputBuilder {
/// Sends a request with this input using the given client.
pub async fn send_with(
self,
client: &crate::Client,
) -> ::std::result::Result<
crate::operation::invoke_agent_runtime_command::InvokeAgentRuntimeCommandOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::invoke_agent_runtime_command::InvokeAgentRuntimeCommandError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let mut fluent_builder = client.invoke_agent_runtime_command();
fluent_builder.inner = self;
fluent_builder.send().await
}
}
/// Fluent builder constructing a request to `InvokeAgentRuntimeCommand`.
///
/// <p>Executes a command in a runtime session container and streams the output back to the caller. This operation allows you to run shell commands within the agent runtime environment and receive real-time streaming responses including standard output and standard error.</p>
/// <p>To invoke a command, you must specify the agent runtime ARN and a runtime session ID. The command execution supports streaming responses, allowing you to receive output as it becomes available through <code>contentStart</code>, <code>contentDelta</code>, and <code>contentStop</code> events.</p>
/// <p>To use this operation, you must have the <code>bedrock-agentcore:InvokeAgentRuntimeCommand</code> permission.</p>
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct InvokeAgentRuntimeCommandFluentBuilder {
handle: ::std::sync::Arc<crate::client::Handle>,
inner: crate::operation::invoke_agent_runtime_command::builders::InvokeAgentRuntimeCommandInputBuilder,
config_override: ::std::option::Option<crate::config::Builder>,
}
impl
crate::client::customize::internal::CustomizableSend<
crate::operation::invoke_agent_runtime_command::InvokeAgentRuntimeCommandOutput,
crate::operation::invoke_agent_runtime_command::InvokeAgentRuntimeCommandError,
> for InvokeAgentRuntimeCommandFluentBuilder
{
fn send(
self,
config_override: crate::config::Builder,
) -> crate::client::customize::internal::BoxFuture<
crate::client::customize::internal::SendResult<
crate::operation::invoke_agent_runtime_command::InvokeAgentRuntimeCommandOutput,
crate::operation::invoke_agent_runtime_command::InvokeAgentRuntimeCommandError,
>,
> {
::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
}
}
impl InvokeAgentRuntimeCommandFluentBuilder {
/// Creates a new `InvokeAgentRuntimeCommandFluentBuilder`.
pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
Self {
handle,
inner: ::std::default::Default::default(),
config_override: ::std::option::Option::None,
}
}
/// Access the InvokeAgentRuntimeCommand as a reference.
pub fn as_input(&self) -> &crate::operation::invoke_agent_runtime_command::builders::InvokeAgentRuntimeCommandInputBuilder {
&self.inner
}
/// Sends the request and returns the response.
///
/// If an error occurs, an `SdkError` will be returned with additional details that
/// can be matched against.
///
/// By default, any retryable failures will be retried twice. Retry behavior
/// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
/// set when configuring the client.
pub async fn send(
self,
) -> ::std::result::Result<
crate::operation::invoke_agent_runtime_command::InvokeAgentRuntimeCommandOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::invoke_agent_runtime_command::InvokeAgentRuntimeCommandError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let input = self
.inner
.build()
.map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
let runtime_plugins = crate::operation::invoke_agent_runtime_command::InvokeAgentRuntimeCommand::operation_runtime_plugins(
self.handle.runtime_plugins.clone(),
&self.handle.conf,
self.config_override,
);
let mut output = crate::operation::invoke_agent_runtime_command::InvokeAgentRuntimeCommand::orchestrate(&runtime_plugins, input).await?;
// Converts any error encountered beyond this point into an `SdkError` response error
// with an `HttpResponse`. However, since we have already exited the `orchestrate`
// function, the original `HttpResponse` is no longer available and cannot be restored.
// This means that header information from the original response has been lost.
//
// Note that the response body would have been consumed by the deserializer
// regardless, even if the initial message was hypothetically processed during
// the orchestrator's deserialization phase but later resulted in an error.
fn response_error(
err: impl ::std::convert::Into<::aws_smithy_runtime_api::box_error::BoxError>,
) -> ::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::invoke_agent_runtime_command::InvokeAgentRuntimeCommandError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
> {
::aws_smithy_runtime_api::client::result::SdkError::response_error(
err,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse::new(
::aws_smithy_runtime_api::http::StatusCode::try_from(200).expect("valid successful code"),
::aws_smithy_types::body::SdkBody::empty(),
),
)
}
let message = output.stream.try_recv_initial_response().await.map_err(response_error)?;
match message {
::std::option::Option::Some(_message) => ::std::result::Result::Ok(output),
::std::option::Option::None => ::std::result::Result::Ok(output),
}
}
/// Consumes this builder, creating a customizable operation that can be modified before being sent.
pub fn customize(
self,
) -> crate::client::customize::CustomizableOperation<
crate::operation::invoke_agent_runtime_command::InvokeAgentRuntimeCommandOutput,
crate::operation::invoke_agent_runtime_command::InvokeAgentRuntimeCommandError,
Self,
> {
crate::client::customize::CustomizableOperation::new(self)
}
pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
self.set_config_override(::std::option::Option::Some(config_override.into()));
self
}
pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
self.config_override = config_override;
self
}
/// <p>The MIME type of the input data in the request payload. This tells the agent runtime how to interpret the payload data. Common values include application/json for JSON data.</p>
pub fn content_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.content_type(input.into());
self
}
/// <p>The MIME type of the input data in the request payload. This tells the agent runtime how to interpret the payload data. Common values include application/json for JSON data.</p>
pub fn set_content_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_content_type(input);
self
}
/// <p>The MIME type of the input data in the request payload. This tells the agent runtime how to interpret the payload data. Common values include application/json for JSON data.</p>
pub fn get_content_type(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_content_type()
}
/// <p>The desired MIME type for the response from the agent runtime command. This tells the agent runtime what format to use for the response data. Common values include application/json for JSON data.</p>
pub fn accept(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.accept(input.into());
self
}
/// <p>The desired MIME type for the response from the agent runtime command. This tells the agent runtime what format to use for the response data. Common values include application/json for JSON data.</p>
pub fn set_accept(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_accept(input);
self
}
/// <p>The desired MIME type for the response from the agent runtime command. This tells the agent runtime what format to use for the response data. Common values include application/json for JSON data.</p>
pub fn get_accept(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_accept()
}
/// <p>The unique identifier of the runtime session in which to execute the command. This session ID is used to maintain state and context across multiple command invocations.</p>
pub fn runtime_session_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.runtime_session_id(input.into());
self
}
/// <p>The unique identifier of the runtime session in which to execute the command. This session ID is used to maintain state and context across multiple command invocations.</p>
pub fn set_runtime_session_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_runtime_session_id(input);
self
}
/// <p>The unique identifier of the runtime session in which to execute the command. This session ID is used to maintain state and context across multiple command invocations.</p>
pub fn get_runtime_session_id(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_runtime_session_id()
}
/// <p>The trace identifier for request tracking.</p>
pub fn trace_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.trace_id(input.into());
self
}
/// <p>The trace identifier for request tracking.</p>
pub fn set_trace_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_trace_id(input);
self
}
/// <p>The trace identifier for request tracking.</p>
pub fn get_trace_id(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_trace_id()
}
/// <p>The parent trace information for distributed tracing.</p>
pub fn trace_parent(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.trace_parent(input.into());
self
}
/// <p>The parent trace information for distributed tracing.</p>
pub fn set_trace_parent(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_trace_parent(input);
self
}
/// <p>The parent trace information for distributed tracing.</p>
pub fn get_trace_parent(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_trace_parent()
}
/// <p>The trace state information for distributed tracing.</p>
pub fn trace_state(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.trace_state(input.into());
self
}
/// <p>The trace state information for distributed tracing.</p>
pub fn set_trace_state(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_trace_state(input);
self
}
/// <p>The trace state information for distributed tracing.</p>
pub fn get_trace_state(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_trace_state()
}
/// <p>Additional context information for distributed tracing.</p>
pub fn baggage(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.baggage(input.into());
self
}
/// <p>Additional context information for distributed tracing.</p>
pub fn set_baggage(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_baggage(input);
self
}
/// <p>Additional context information for distributed tracing.</p>
pub fn get_baggage(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_baggage()
}
/// <p>The Amazon Resource Name (ARN) of the agent runtime on which to execute the command. This identifies the specific agent runtime environment where the command will run.</p>
pub fn agent_runtime_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.agent_runtime_arn(input.into());
self
}
/// <p>The Amazon Resource Name (ARN) of the agent runtime on which to execute the command. This identifies the specific agent runtime environment where the command will run.</p>
pub fn set_agent_runtime_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_agent_runtime_arn(input);
self
}
/// <p>The Amazon Resource Name (ARN) of the agent runtime on which to execute the command. This identifies the specific agent runtime environment where the command will run.</p>
pub fn get_agent_runtime_arn(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_agent_runtime_arn()
}
/// <p>The qualifier to use for the agent runtime. This is an endpoint name that points to a specific version. If not specified, Amazon Bedrock AgentCore uses the default endpoint of the agent runtime.</p>
pub fn qualifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.qualifier(input.into());
self
}
/// <p>The qualifier to use for the agent runtime. This is an endpoint name that points to a specific version. If not specified, Amazon Bedrock AgentCore uses the default endpoint of the agent runtime.</p>
pub fn set_qualifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_qualifier(input);
self
}
/// <p>The qualifier to use for the agent runtime. This is an endpoint name that points to a specific version. If not specified, Amazon Bedrock AgentCore uses the default endpoint of the agent runtime.</p>
pub fn get_qualifier(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_qualifier()
}
/// <p>The identifier of the Amazon Web Services account for the agent runtime resource. This parameter is required when you specify an agent ID instead of the full ARN for <code>agentRuntimeArn</code>.</p>
pub fn account_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.account_id(input.into());
self
}
/// <p>The identifier of the Amazon Web Services account for the agent runtime resource. This parameter is required when you specify an agent ID instead of the full ARN for <code>agentRuntimeArn</code>.</p>
pub fn set_account_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_account_id(input);
self
}
/// <p>The identifier of the Amazon Web Services account for the agent runtime resource. This parameter is required when you specify an agent ID instead of the full ARN for <code>agentRuntimeArn</code>.</p>
pub fn get_account_id(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_account_id()
}
/// <p>The request body containing the command to execute and optional configuration parameters such as timeout settings.</p>
pub fn body(mut self, input: crate::types::InvokeAgentRuntimeCommandRequestBody) -> Self {
self.inner = self.inner.body(input);
self
}
/// <p>The request body containing the command to execute and optional configuration parameters such as timeout settings.</p>
pub fn set_body(mut self, input: ::std::option::Option<crate::types::InvokeAgentRuntimeCommandRequestBody>) -> Self {
self.inner = self.inner.set_body(input);
self
}
/// <p>The request body containing the command to execute and optional configuration parameters such as timeout settings.</p>
pub fn get_body(&self) -> &::std::option::Option<crate::types::InvokeAgentRuntimeCommandRequestBody> {
self.inner.get_body()
}
}