aws_sdk_bedrockagent/operation/create_agent/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_agent::_create_agent_output::CreateAgentOutputBuilder;
3
4pub use crate::operation::create_agent::_create_agent_input::CreateAgentInputBuilder;
5
6impl crate::operation::create_agent::builders::CreateAgentInputBuilder {
7 /// Sends a request with this input using the given client.
8 pub async fn send_with(
9 self,
10 client: &crate::Client,
11 ) -> ::std::result::Result<
12 crate::operation::create_agent::CreateAgentOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::create_agent::CreateAgentError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.create_agent();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `CreateAgent`.
24///
25/// <p>Creates an agent that orchestrates interactions between foundation models, data sources, software applications, user conversations, and APIs to carry out tasks to help customers.</p>
26/// <ul>
27/// <li>
28/// <p>Specify the following fields for security purposes.</p>
29/// <ul>
30/// <li>
31/// <p><code>agentResourceRoleArn</code> – The Amazon Resource Name (ARN) of the role with permissions to invoke API operations on an agent.</p></li>
32/// <li>
33/// <p>(Optional) <code>customerEncryptionKeyArn</code> – The Amazon Resource Name (ARN) of a KMS key to encrypt the creation of the agent.</p></li>
34/// <li>
35/// <p>(Optional) <code>idleSessionTTLinSeconds</code> – Specify the number of seconds for which the agent should maintain session information. After this time expires, the subsequent <code>InvokeAgent</code> request begins a new session.</p></li>
36/// </ul></li>
37/// <li>
38/// <p>To enable your agent to retain conversational context across multiple sessions, include a <code>memoryConfiguration</code> object. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/agents-configure-memory.html">Configure memory</a>.</p></li>
39/// <li>
40/// <p>To override the default prompt behavior for agent orchestration and to use advanced prompts, include a <code>promptOverrideConfiguration</code> object. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html">Advanced prompts</a>.</p></li>
41/// <li>
42/// <p>If your agent fails to be created, the response returns a list of <code>failureReasons</code> alongside a list of <code>recommendedActions</code> for you to troubleshoot.</p></li>
43/// <li>
44/// <p>The agent instructions will not be honored if your agent has only one knowledge base, uses default prompts, has no action group, and user input is disabled.</p></li>
45/// </ul>
46#[derive(::std::clone::Clone, ::std::fmt::Debug)]
47pub struct CreateAgentFluentBuilder {
48 handle: ::std::sync::Arc<crate::client::Handle>,
49 inner: crate::operation::create_agent::builders::CreateAgentInputBuilder,
50 config_override: ::std::option::Option<crate::config::Builder>,
51}
52impl
53 crate::client::customize::internal::CustomizableSend<
54 crate::operation::create_agent::CreateAgentOutput,
55 crate::operation::create_agent::CreateAgentError,
56 > for CreateAgentFluentBuilder
57{
58 fn send(
59 self,
60 config_override: crate::config::Builder,
61 ) -> crate::client::customize::internal::BoxFuture<
62 crate::client::customize::internal::SendResult<
63 crate::operation::create_agent::CreateAgentOutput,
64 crate::operation::create_agent::CreateAgentError,
65 >,
66 > {
67 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
68 }
69}
70impl CreateAgentFluentBuilder {
71 /// Creates a new `CreateAgentFluentBuilder`.
72 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
73 Self {
74 handle,
75 inner: ::std::default::Default::default(),
76 config_override: ::std::option::Option::None,
77 }
78 }
79 /// Access the CreateAgent as a reference.
80 pub fn as_input(&self) -> &crate::operation::create_agent::builders::CreateAgentInputBuilder {
81 &self.inner
82 }
83 /// Sends the request and returns the response.
84 ///
85 /// If an error occurs, an `SdkError` will be returned with additional details that
86 /// can be matched against.
87 ///
88 /// By default, any retryable failures will be retried twice. Retry behavior
89 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
90 /// set when configuring the client.
91 pub async fn send(
92 self,
93 ) -> ::std::result::Result<
94 crate::operation::create_agent::CreateAgentOutput,
95 ::aws_smithy_runtime_api::client::result::SdkError<
96 crate::operation::create_agent::CreateAgentError,
97 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
98 >,
99 > {
100 let input = self
101 .inner
102 .build()
103 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
104 let runtime_plugins = crate::operation::create_agent::CreateAgent::operation_runtime_plugins(
105 self.handle.runtime_plugins.clone(),
106 &self.handle.conf,
107 self.config_override,
108 );
109 crate::operation::create_agent::CreateAgent::orchestrate(&runtime_plugins, input).await
110 }
111
112 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
113 pub fn customize(
114 self,
115 ) -> crate::client::customize::CustomizableOperation<
116 crate::operation::create_agent::CreateAgentOutput,
117 crate::operation::create_agent::CreateAgentError,
118 Self,
119 > {
120 crate::client::customize::CustomizableOperation::new(self)
121 }
122 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
123 self.set_config_override(::std::option::Option::Some(config_override.into()));
124 self
125 }
126
127 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
128 self.config_override = config_override;
129 self
130 }
131 /// <p>A name for the agent that you create.</p>
132 pub fn agent_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
133 self.inner = self.inner.agent_name(input.into());
134 self
135 }
136 /// <p>A name for the agent that you create.</p>
137 pub fn set_agent_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
138 self.inner = self.inner.set_agent_name(input);
139 self
140 }
141 /// <p>A name for the agent that you create.</p>
142 pub fn get_agent_name(&self) -> &::std::option::Option<::std::string::String> {
143 self.inner.get_agent_name()
144 }
145 /// <p>A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring idempotency</a>.</p>
146 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
147 self.inner = self.inner.client_token(input.into());
148 self
149 }
150 /// <p>A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring idempotency</a>.</p>
151 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
152 self.inner = self.inner.set_client_token(input);
153 self
154 }
155 /// <p>A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring idempotency</a>.</p>
156 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
157 self.inner.get_client_token()
158 }
159 /// <p>Instructions that tell the agent what it should do and how it should interact with users.</p>
160 pub fn instruction(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
161 self.inner = self.inner.instruction(input.into());
162 self
163 }
164 /// <p>Instructions that tell the agent what it should do and how it should interact with users.</p>
165 pub fn set_instruction(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
166 self.inner = self.inner.set_instruction(input);
167 self
168 }
169 /// <p>Instructions that tell the agent what it should do and how it should interact with users.</p>
170 pub fn get_instruction(&self) -> &::std::option::Option<::std::string::String> {
171 self.inner.get_instruction()
172 }
173 /// <p>The identifier for the model that you want to be used for orchestration by the agent you create.</p>
174 /// <p>The <code>modelId</code> to provide depends on the type of model or throughput that you use:</p>
175 /// <ul>
176 /// <li>
177 /// <p>If you use a base model, specify the model ID or its ARN. For a list of model IDs for base models, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html#model-ids-arns">Amazon Bedrock base model IDs (on-demand throughput)</a> in the Amazon Bedrock User Guide.</p></li>
178 /// <li>
179 /// <p>If you use an inference profile, specify the inference profile ID or its ARN. For a list of inference profile IDs, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/cross-region-inference-support.html">Supported Regions and models for cross-region inference</a> in the Amazon Bedrock User Guide.</p></li>
180 /// <li>
181 /// <p>If you use a provisioned model, specify the ARN of the Provisioned Throughput. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/prov-thru-use.html">Run inference using a Provisioned Throughput</a> in the Amazon Bedrock User Guide.</p></li>
182 /// <li>
183 /// <p>If you use a custom model, first purchase Provisioned Throughput for it. Then specify the ARN of the resulting provisioned model. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-customization-use.html">Use a custom model in Amazon Bedrock</a> in the Amazon Bedrock User Guide.</p></li>
184 /// <li>
185 /// <p>If you use an <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-customization-import-model.html">imported model</a>, specify the ARN of the imported model. You can get the model ARN from a successful call to <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelImportJob.html">CreateModelImportJob</a> or from the Imported models page in the Amazon Bedrock console.</p></li>
186 /// </ul>
187 pub fn foundation_model(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
188 self.inner = self.inner.foundation_model(input.into());
189 self
190 }
191 /// <p>The identifier for the model that you want to be used for orchestration by the agent you create.</p>
192 /// <p>The <code>modelId</code> to provide depends on the type of model or throughput that you use:</p>
193 /// <ul>
194 /// <li>
195 /// <p>If you use a base model, specify the model ID or its ARN. For a list of model IDs for base models, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html#model-ids-arns">Amazon Bedrock base model IDs (on-demand throughput)</a> in the Amazon Bedrock User Guide.</p></li>
196 /// <li>
197 /// <p>If you use an inference profile, specify the inference profile ID or its ARN. For a list of inference profile IDs, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/cross-region-inference-support.html">Supported Regions and models for cross-region inference</a> in the Amazon Bedrock User Guide.</p></li>
198 /// <li>
199 /// <p>If you use a provisioned model, specify the ARN of the Provisioned Throughput. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/prov-thru-use.html">Run inference using a Provisioned Throughput</a> in the Amazon Bedrock User Guide.</p></li>
200 /// <li>
201 /// <p>If you use a custom model, first purchase Provisioned Throughput for it. Then specify the ARN of the resulting provisioned model. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-customization-use.html">Use a custom model in Amazon Bedrock</a> in the Amazon Bedrock User Guide.</p></li>
202 /// <li>
203 /// <p>If you use an <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-customization-import-model.html">imported model</a>, specify the ARN of the imported model. You can get the model ARN from a successful call to <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelImportJob.html">CreateModelImportJob</a> or from the Imported models page in the Amazon Bedrock console.</p></li>
204 /// </ul>
205 pub fn set_foundation_model(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
206 self.inner = self.inner.set_foundation_model(input);
207 self
208 }
209 /// <p>The identifier for the model that you want to be used for orchestration by the agent you create.</p>
210 /// <p>The <code>modelId</code> to provide depends on the type of model or throughput that you use:</p>
211 /// <ul>
212 /// <li>
213 /// <p>If you use a base model, specify the model ID or its ARN. For a list of model IDs for base models, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html#model-ids-arns">Amazon Bedrock base model IDs (on-demand throughput)</a> in the Amazon Bedrock User Guide.</p></li>
214 /// <li>
215 /// <p>If you use an inference profile, specify the inference profile ID or its ARN. For a list of inference profile IDs, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/cross-region-inference-support.html">Supported Regions and models for cross-region inference</a> in the Amazon Bedrock User Guide.</p></li>
216 /// <li>
217 /// <p>If you use a provisioned model, specify the ARN of the Provisioned Throughput. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/prov-thru-use.html">Run inference using a Provisioned Throughput</a> in the Amazon Bedrock User Guide.</p></li>
218 /// <li>
219 /// <p>If you use a custom model, first purchase Provisioned Throughput for it. Then specify the ARN of the resulting provisioned model. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-customization-use.html">Use a custom model in Amazon Bedrock</a> in the Amazon Bedrock User Guide.</p></li>
220 /// <li>
221 /// <p>If you use an <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-customization-import-model.html">imported model</a>, specify the ARN of the imported model. You can get the model ARN from a successful call to <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelImportJob.html">CreateModelImportJob</a> or from the Imported models page in the Amazon Bedrock console.</p></li>
222 /// </ul>
223 pub fn get_foundation_model(&self) -> &::std::option::Option<::std::string::String> {
224 self.inner.get_foundation_model()
225 }
226 /// <p>A description of the agent.</p>
227 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
228 self.inner = self.inner.description(input.into());
229 self
230 }
231 /// <p>A description of the agent.</p>
232 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
233 self.inner = self.inner.set_description(input);
234 self
235 }
236 /// <p>A description of the agent.</p>
237 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
238 self.inner.get_description()
239 }
240 /// <p>Specifies the type of orchestration strategy for the agent. This is set to <code>DEFAULT</code> orchestration type, by default.</p>
241 pub fn orchestration_type(mut self, input: crate::types::OrchestrationType) -> Self {
242 self.inner = self.inner.orchestration_type(input);
243 self
244 }
245 /// <p>Specifies the type of orchestration strategy for the agent. This is set to <code>DEFAULT</code> orchestration type, by default.</p>
246 pub fn set_orchestration_type(mut self, input: ::std::option::Option<crate::types::OrchestrationType>) -> Self {
247 self.inner = self.inner.set_orchestration_type(input);
248 self
249 }
250 /// <p>Specifies the type of orchestration strategy for the agent. This is set to <code>DEFAULT</code> orchestration type, by default.</p>
251 pub fn get_orchestration_type(&self) -> &::std::option::Option<crate::types::OrchestrationType> {
252 self.inner.get_orchestration_type()
253 }
254 /// <p>Contains details of the custom orchestration configured for the agent.</p>
255 pub fn custom_orchestration(mut self, input: crate::types::CustomOrchestration) -> Self {
256 self.inner = self.inner.custom_orchestration(input);
257 self
258 }
259 /// <p>Contains details of the custom orchestration configured for the agent.</p>
260 pub fn set_custom_orchestration(mut self, input: ::std::option::Option<crate::types::CustomOrchestration>) -> Self {
261 self.inner = self.inner.set_custom_orchestration(input);
262 self
263 }
264 /// <p>Contains details of the custom orchestration configured for the agent.</p>
265 pub fn get_custom_orchestration(&self) -> &::std::option::Option<crate::types::CustomOrchestration> {
266 self.inner.get_custom_orchestration()
267 }
268 /// <p>The number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent.</p>
269 /// <p>A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout.</p>
270 pub fn idle_session_ttl_in_seconds(mut self, input: i32) -> Self {
271 self.inner = self.inner.idle_session_ttl_in_seconds(input);
272 self
273 }
274 /// <p>The number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent.</p>
275 /// <p>A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout.</p>
276 pub fn set_idle_session_ttl_in_seconds(mut self, input: ::std::option::Option<i32>) -> Self {
277 self.inner = self.inner.set_idle_session_ttl_in_seconds(input);
278 self
279 }
280 /// <p>The number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent.</p>
281 /// <p>A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout.</p>
282 pub fn get_idle_session_ttl_in_seconds(&self) -> &::std::option::Option<i32> {
283 self.inner.get_idle_session_ttl_in_seconds()
284 }
285 /// <p>The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the agent.</p>
286 pub fn agent_resource_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
287 self.inner = self.inner.agent_resource_role_arn(input.into());
288 self
289 }
290 /// <p>The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the agent.</p>
291 pub fn set_agent_resource_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
292 self.inner = self.inner.set_agent_resource_role_arn(input);
293 self
294 }
295 /// <p>The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the agent.</p>
296 pub fn get_agent_resource_role_arn(&self) -> &::std::option::Option<::std::string::String> {
297 self.inner.get_agent_resource_role_arn()
298 }
299 /// <p>The Amazon Resource Name (ARN) of the KMS key with which to encrypt the agent.</p>
300 pub fn customer_encryption_key_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
301 self.inner = self.inner.customer_encryption_key_arn(input.into());
302 self
303 }
304 /// <p>The Amazon Resource Name (ARN) of the KMS key with which to encrypt the agent.</p>
305 pub fn set_customer_encryption_key_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
306 self.inner = self.inner.set_customer_encryption_key_arn(input);
307 self
308 }
309 /// <p>The Amazon Resource Name (ARN) of the KMS key with which to encrypt the agent.</p>
310 pub fn get_customer_encryption_key_arn(&self) -> &::std::option::Option<::std::string::String> {
311 self.inner.get_customer_encryption_key_arn()
312 }
313 ///
314 /// Adds a key-value pair to `tags`.
315 ///
316 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
317 ///
318 /// <p>Any tags that you want to attach to the agent.</p>
319 pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
320 self.inner = self.inner.tags(k.into(), v.into());
321 self
322 }
323 /// <p>Any tags that you want to attach to the agent.</p>
324 pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
325 self.inner = self.inner.set_tags(input);
326 self
327 }
328 /// <p>Any tags that you want to attach to the agent.</p>
329 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
330 self.inner.get_tags()
331 }
332 /// <p>Contains configurations to override prompts in different parts of an agent sequence. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html">Advanced prompts</a>.</p>
333 pub fn prompt_override_configuration(mut self, input: crate::types::PromptOverrideConfiguration) -> Self {
334 self.inner = self.inner.prompt_override_configuration(input);
335 self
336 }
337 /// <p>Contains configurations to override prompts in different parts of an agent sequence. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html">Advanced prompts</a>.</p>
338 pub fn set_prompt_override_configuration(mut self, input: ::std::option::Option<crate::types::PromptOverrideConfiguration>) -> Self {
339 self.inner = self.inner.set_prompt_override_configuration(input);
340 self
341 }
342 /// <p>Contains configurations to override prompts in different parts of an agent sequence. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html">Advanced prompts</a>.</p>
343 pub fn get_prompt_override_configuration(&self) -> &::std::option::Option<crate::types::PromptOverrideConfiguration> {
344 self.inner.get_prompt_override_configuration()
345 }
346 /// <p>The unique Guardrail configuration assigned to the agent when it is created.</p>
347 pub fn guardrail_configuration(mut self, input: crate::types::GuardrailConfiguration) -> Self {
348 self.inner = self.inner.guardrail_configuration(input);
349 self
350 }
351 /// <p>The unique Guardrail configuration assigned to the agent when it is created.</p>
352 pub fn set_guardrail_configuration(mut self, input: ::std::option::Option<crate::types::GuardrailConfiguration>) -> Self {
353 self.inner = self.inner.set_guardrail_configuration(input);
354 self
355 }
356 /// <p>The unique Guardrail configuration assigned to the agent when it is created.</p>
357 pub fn get_guardrail_configuration(&self) -> &::std::option::Option<crate::types::GuardrailConfiguration> {
358 self.inner.get_guardrail_configuration()
359 }
360 /// <p>Contains the details of the memory configured for the agent.</p>
361 pub fn memory_configuration(mut self, input: crate::types::MemoryConfiguration) -> Self {
362 self.inner = self.inner.memory_configuration(input);
363 self
364 }
365 /// <p>Contains the details of the memory configured for the agent.</p>
366 pub fn set_memory_configuration(mut self, input: ::std::option::Option<crate::types::MemoryConfiguration>) -> Self {
367 self.inner = self.inner.set_memory_configuration(input);
368 self
369 }
370 /// <p>Contains the details of the memory configured for the agent.</p>
371 pub fn get_memory_configuration(&self) -> &::std::option::Option<crate::types::MemoryConfiguration> {
372 self.inner.get_memory_configuration()
373 }
374 /// <p>The agent's collaboration role.</p>
375 pub fn agent_collaboration(mut self, input: crate::types::AgentCollaboration) -> Self {
376 self.inner = self.inner.agent_collaboration(input);
377 self
378 }
379 /// <p>The agent's collaboration role.</p>
380 pub fn set_agent_collaboration(mut self, input: ::std::option::Option<crate::types::AgentCollaboration>) -> Self {
381 self.inner = self.inner.set_agent_collaboration(input);
382 self
383 }
384 /// <p>The agent's collaboration role.</p>
385 pub fn get_agent_collaboration(&self) -> &::std::option::Option<crate::types::AgentCollaboration> {
386 self.inner.get_agent_collaboration()
387 }
388}