@aws-sdk/client-bedrock-agent 3.810.0 → 3.812.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist-cjs/index.js +995 -703
  2. package/dist-es/commands/CreateFlowCommand.js +1 -1
  3. package/dist-es/commands/CreateFlowVersionCommand.js +1 -1
  4. package/dist-es/commands/GetFlowCommand.js +1 -1
  5. package/dist-es/commands/GetFlowVersionCommand.js +1 -1
  6. package/dist-es/commands/UpdateFlowCommand.js +1 -1
  7. package/dist-es/models/models_0.js +119 -115
  8. package/dist-es/models/models_1.js +136 -5
  9. package/dist-es/protocols/Aws_restJson1.js +140 -3
  10. package/dist-types/commands/CreateFlowAliasCommand.d.ts +8 -0
  11. package/dist-types/commands/CreateFlowCommand.d.ts +575 -41
  12. package/dist-types/commands/CreateFlowVersionCommand.d.ts +289 -21
  13. package/dist-types/commands/GetFlowAliasCommand.d.ts +4 -0
  14. package/dist-types/commands/GetFlowCommand.d.ts +312 -22
  15. package/dist-types/commands/GetFlowVersionCommand.d.ts +289 -21
  16. package/dist-types/commands/GetIngestionJobCommand.d.ts +2 -1
  17. package/dist-types/commands/ListFlowAliasesCommand.d.ts +4 -0
  18. package/dist-types/commands/ListIngestionJobsCommand.d.ts +1 -1
  19. package/dist-types/commands/StartIngestionJobCommand.d.ts +1 -1
  20. package/dist-types/commands/StopIngestionJobCommand.d.ts +1 -2
  21. package/dist-types/commands/UpdateFlowAliasCommand.d.ts +8 -0
  22. package/dist-types/commands/UpdateFlowCommand.d.ts +575 -41
  23. package/dist-types/commands/ValidateFlowDefinitionCommand.d.ts +310 -21
  24. package/dist-types/models/models_0.d.ts +1133 -1313
  25. package/dist-types/models/models_1.d.ts +1263 -20
  26. package/dist-types/ts3.4/commands/CreateFlowCommand.d.ts +1 -1
  27. package/dist-types/ts3.4/commands/CreateFlowVersionCommand.d.ts +2 -4
  28. package/dist-types/ts3.4/commands/GetFlowCommand.d.ts +2 -1
  29. package/dist-types/ts3.4/commands/GetFlowVersionCommand.d.ts +2 -4
  30. package/dist-types/ts3.4/commands/GetIngestionJobCommand.d.ts +2 -4
  31. package/dist-types/ts3.4/commands/ListIngestionJobsCommand.d.ts +1 -1
  32. package/dist-types/ts3.4/commands/StartIngestionJobCommand.d.ts +1 -1
  33. package/dist-types/ts3.4/commands/StopIngestionJobCommand.d.ts +4 -2
  34. package/dist-types/ts3.4/commands/UpdateFlowCommand.d.ts +1 -1
  35. package/dist-types/ts3.4/models/models_0.d.ts +603 -471
  36. package/dist-types/ts3.4/models/models_1.d.ts +597 -8
  37. package/package.json +5 -5
@@ -1,5 +1,321 @@
1
1
  import { DocumentType as __DocumentType } from "@smithy/types";
2
- import { AgentKnowledgeBase, AgentKnowledgeBaseSummary, AgentStatus, AgentVersion, AgentVersionSummary, FlowDefinition, FlowValidation, IngestionJob, KnowledgeBaseState, PromptInferenceConfiguration, PromptTemplateConfiguration, PromptTemplateType, S3Location } from "./models_0";
2
+ import { AgentFlowNodeConfiguration, AgentKnowledgeBase, AgentKnowledgeBaseSummary, AgentStatus, AgentVersion, AgentVersionSummary, CollectorFlowNodeConfiguration, ConditionFlowNodeConfiguration, FlowConnection, FlowNodeInput, FlowNodeOutput, FlowNodeType, FlowStatus, FlowValidation, IngestionJobStatistics, IngestionJobStatus, InlineCodeFlowNodeConfiguration, InputFlowNodeConfiguration, IteratorFlowNodeConfiguration, KnowledgeBaseFlowNodeConfiguration, KnowledgeBaseState, LambdaFunctionFlowNodeConfiguration, LexFlowNodeConfiguration, LoopControllerFlowNodeConfiguration, LoopInputFlowNodeConfiguration, OutputFlowNodeConfiguration, PromptFlowNodeConfiguration, PromptInferenceConfiguration, PromptTemplateConfiguration, PromptTemplateType, RetrievalFlowNodeConfiguration, S3Location, StorageFlowNodeConfiguration } from "./models_0";
3
+ /**
4
+ * <p>Contains details about a data ingestion job. Data sources are ingested into a knowledge base so that Large Language Models (LLMs) can use your data.</p>
5
+ * <p>This data type is used in the following API operations:</p>
6
+ * <ul>
7
+ * <li>
8
+ * <p>
9
+ * <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html#API_agent_StartIngestionJob_ResponseSyntax">StartIngestionJob response</a>
10
+ * </p>
11
+ * </li>
12
+ * <li>
13
+ * <p>
14
+ * <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html#API_agent_GetIngestionJob_ResponseSyntax">GetIngestionJob response</a>
15
+ * </p>
16
+ * </li>
17
+ * <li>
18
+ * <p>
19
+ * <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html#API_agent_ListIngestionJobs_ResponseSyntax">ListIngestionJob response</a>
20
+ * </p>
21
+ * </li>
22
+ * </ul>
23
+ * @public
24
+ */
25
+ export interface IngestionJob {
26
+ /**
27
+ * <p>The unique identifier of the knowledge for the data ingestion job.</p>
28
+ * @public
29
+ */
30
+ knowledgeBaseId: string | undefined;
31
+ /**
32
+ * <p>The unique identifier of the data source for the data ingestion job.</p>
33
+ * @public
34
+ */
35
+ dataSourceId: string | undefined;
36
+ /**
37
+ * <p>The unique identifier of the data ingestion job.</p>
38
+ * @public
39
+ */
40
+ ingestionJobId: string | undefined;
41
+ /**
42
+ * <p>The description of the data ingestion job.</p>
43
+ * @public
44
+ */
45
+ description?: string | undefined;
46
+ /**
47
+ * <p>The status of the data ingestion job.</p>
48
+ * @public
49
+ */
50
+ status: IngestionJobStatus | undefined;
51
+ /**
52
+ * <p>Contains statistics about the data ingestion job.</p>
53
+ * @public
54
+ */
55
+ statistics?: IngestionJobStatistics | undefined;
56
+ /**
57
+ * <p>A list of reasons that the data ingestion job failed.</p>
58
+ * @public
59
+ */
60
+ failureReasons?: string[] | undefined;
61
+ /**
62
+ * <p>The time the data ingestion job started.</p>
63
+ * <p>If you stop a data ingestion job, the <code>startedAt</code> time is the time the job was started before the job was stopped.</p>
64
+ * @public
65
+ */
66
+ startedAt: Date | undefined;
67
+ /**
68
+ * <p>The time the data ingestion job was last updated.</p>
69
+ * <p>If you stop a data ingestion job, the <code>updatedAt</code> time is the time the job was stopped.</p>
70
+ * @public
71
+ */
72
+ updatedAt: Date | undefined;
73
+ }
74
+ /**
75
+ * @public
76
+ */
77
+ export interface GetIngestionJobResponse {
78
+ /**
79
+ * <p>Contains details about the data ingestion job.</p>
80
+ * @public
81
+ */
82
+ ingestionJob: IngestionJob | undefined;
83
+ }
84
+ /**
85
+ * @public
86
+ * @enum
87
+ */
88
+ export declare const IngestionJobFilterAttribute: {
89
+ readonly STATUS: "STATUS";
90
+ };
91
+ /**
92
+ * @public
93
+ */
94
+ export type IngestionJobFilterAttribute = (typeof IngestionJobFilterAttribute)[keyof typeof IngestionJobFilterAttribute];
95
+ /**
96
+ * @public
97
+ * @enum
98
+ */
99
+ export declare const IngestionJobFilterOperator: {
100
+ readonly EQ: "EQ";
101
+ };
102
+ /**
103
+ * @public
104
+ */
105
+ export type IngestionJobFilterOperator = (typeof IngestionJobFilterOperator)[keyof typeof IngestionJobFilterOperator];
106
+ /**
107
+ * <p>The definition of a filter to filter the data.</p>
108
+ * @public
109
+ */
110
+ export interface IngestionJobFilter {
111
+ /**
112
+ * <p>The name of field or attribute to apply the filter.</p>
113
+ * @public
114
+ */
115
+ attribute: IngestionJobFilterAttribute | undefined;
116
+ /**
117
+ * <p>The operation to apply to the field or attribute.</p>
118
+ * @public
119
+ */
120
+ operator: IngestionJobFilterOperator | undefined;
121
+ /**
122
+ * <p>A list of values that belong to the field or attribute.</p>
123
+ * @public
124
+ */
125
+ values: string[] | undefined;
126
+ }
127
+ /**
128
+ * @public
129
+ * @enum
130
+ */
131
+ export declare const IngestionJobSortByAttribute: {
132
+ readonly STARTED_AT: "STARTED_AT";
133
+ readonly STATUS: "STATUS";
134
+ };
135
+ /**
136
+ * @public
137
+ */
138
+ export type IngestionJobSortByAttribute = (typeof IngestionJobSortByAttribute)[keyof typeof IngestionJobSortByAttribute];
139
+ /**
140
+ * @public
141
+ * @enum
142
+ */
143
+ export declare const SortOrder: {
144
+ readonly ASCENDING: "ASCENDING";
145
+ readonly DESCENDING: "DESCENDING";
146
+ };
147
+ /**
148
+ * @public
149
+ */
150
+ export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder];
151
+ /**
152
+ * <p>The parameters of sorting the data.</p>
153
+ * @public
154
+ */
155
+ export interface IngestionJobSortBy {
156
+ /**
157
+ * <p>The name of field or attribute to apply sorting of data.</p>
158
+ * @public
159
+ */
160
+ attribute: IngestionJobSortByAttribute | undefined;
161
+ /**
162
+ * <p>The order for sorting the data.</p>
163
+ * @public
164
+ */
165
+ order: SortOrder | undefined;
166
+ }
167
+ /**
168
+ * @public
169
+ */
170
+ export interface ListIngestionJobsRequest {
171
+ /**
172
+ * <p>The unique identifier of the knowledge base for the list of data ingestion jobs.</p>
173
+ * @public
174
+ */
175
+ knowledgeBaseId: string | undefined;
176
+ /**
177
+ * <p>The unique identifier of the data source for the list of data ingestion jobs.</p>
178
+ * @public
179
+ */
180
+ dataSourceId: string | undefined;
181
+ /**
182
+ * <p>Contains information about the filters for filtering the data.</p>
183
+ * @public
184
+ */
185
+ filters?: IngestionJobFilter[] | undefined;
186
+ /**
187
+ * <p>Contains details about how to sort the data.</p>
188
+ * @public
189
+ */
190
+ sortBy?: IngestionJobSortBy | undefined;
191
+ /**
192
+ * <p>The maximum number of results to return in the response. If the total number of results is greater than this value, use the token returned in the response in the <code>nextToken</code> field when making another request to return the next batch of results.</p>
193
+ * @public
194
+ */
195
+ maxResults?: number | undefined;
196
+ /**
197
+ * <p>If the total number of results is greater than the <code>maxResults</code> value provided in the request, enter the token returned in the <code>nextToken</code> field in the response in this field to return the next batch of results.</p>
198
+ * @public
199
+ */
200
+ nextToken?: string | undefined;
201
+ }
202
+ /**
203
+ * <p>Contains details about a data ingestion job.</p>
204
+ * @public
205
+ */
206
+ export interface IngestionJobSummary {
207
+ /**
208
+ * <p>The unique identifier of the knowledge base for the data ingestion job.</p>
209
+ * @public
210
+ */
211
+ knowledgeBaseId: string | undefined;
212
+ /**
213
+ * <p>The unique identifier of the data source for the data ingestion job.</p>
214
+ * @public
215
+ */
216
+ dataSourceId: string | undefined;
217
+ /**
218
+ * <p>The unique identifier of the data ingestion job.</p>
219
+ * @public
220
+ */
221
+ ingestionJobId: string | undefined;
222
+ /**
223
+ * <p>The description of the data ingestion job.</p>
224
+ * @public
225
+ */
226
+ description?: string | undefined;
227
+ /**
228
+ * <p>The status of the data ingestion job.</p>
229
+ * @public
230
+ */
231
+ status: IngestionJobStatus | undefined;
232
+ /**
233
+ * <p>The time the data ingestion job started.</p>
234
+ * @public
235
+ */
236
+ startedAt: Date | undefined;
237
+ /**
238
+ * <p>The time the data ingestion job was last updated.</p>
239
+ * @public
240
+ */
241
+ updatedAt: Date | undefined;
242
+ /**
243
+ * <p>Contains statistics for the data ingestion job.</p>
244
+ * @public
245
+ */
246
+ statistics?: IngestionJobStatistics | undefined;
247
+ }
248
+ /**
249
+ * @public
250
+ */
251
+ export interface ListIngestionJobsResponse {
252
+ /**
253
+ * <p>A list of data ingestion jobs with information about each job.</p>
254
+ * @public
255
+ */
256
+ ingestionJobSummaries: IngestionJobSummary[] | undefined;
257
+ /**
258
+ * <p>If the total number of results is greater than the <code>maxResults</code> value provided in the request, use this token when making another request in the <code>nextToken</code> field to return the next batch of results.</p>
259
+ * @public
260
+ */
261
+ nextToken?: string | undefined;
262
+ }
263
+ /**
264
+ * @public
265
+ */
266
+ export interface StartIngestionJobRequest {
267
+ /**
268
+ * <p>The unique identifier of the knowledge base for the data ingestion job.</p>
269
+ * @public
270
+ */
271
+ knowledgeBaseId: string | undefined;
272
+ /**
273
+ * <p>The unique identifier of the data source you want to ingest into your knowledge base.</p>
274
+ * @public
275
+ */
276
+ dataSourceId: string | undefined;
277
+ /**
278
+ * <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,
279
+ * 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>
280
+ * @public
281
+ */
282
+ clientToken?: string | undefined;
283
+ /**
284
+ * <p>A description of the data ingestion job.</p>
285
+ * @public
286
+ */
287
+ description?: string | undefined;
288
+ }
289
+ /**
290
+ * @public
291
+ */
292
+ export interface StartIngestionJobResponse {
293
+ /**
294
+ * <p>Contains information about the data ingestion job.</p>
295
+ * @public
296
+ */
297
+ ingestionJob: IngestionJob | undefined;
298
+ }
299
+ /**
300
+ * @public
301
+ */
302
+ export interface StopIngestionJobRequest {
303
+ /**
304
+ * <p>The unique identifier of the knowledge base for the data ingestion job you want to stop.</p>
305
+ * @public
306
+ */
307
+ knowledgeBaseId: string | undefined;
308
+ /**
309
+ * <p>The unique identifier of the data source for the data ingestion job you want to stop.</p>
310
+ * @public
311
+ */
312
+ dataSourceId: string | undefined;
313
+ /**
314
+ * <p>The unique identifier of the data ingestion job you want to stop.</p>
315
+ * @public
316
+ */
317
+ ingestionJobId: string | undefined;
318
+ }
3
319
  /**
4
320
  * @public
5
321
  */
@@ -2597,16 +2913,6 @@ export interface UntagResourceRequest {
2597
2913
  */
2598
2914
  export interface UntagResourceResponse {
2599
2915
  }
2600
- /**
2601
- * @public
2602
- */
2603
- export interface ValidateFlowDefinitionRequest {
2604
- /**
2605
- * <p>The definition of a flow to validate.</p>
2606
- * @public
2607
- */
2608
- definition: FlowDefinition | undefined;
2609
- }
2610
2916
  /**
2611
2917
  * @public
2612
2918
  */
@@ -2718,15 +3024,908 @@ export interface ListAgentVersionsResponse {
2718
3024
  nextToken?: string | undefined;
2719
3025
  }
2720
3026
  /**
2721
- * @internal
3027
+ * <p>The definition of the nodes and connections between nodes in the flow.</p>
3028
+ * @public
2722
3029
  */
2723
- export declare const ByteContentDocFilterSensitiveLog: (obj: ByteContentDoc) => any;
3030
+ export interface FlowDefinition {
3031
+ /**
3032
+ * <p>An array of node definitions in the flow.</p>
3033
+ * @public
3034
+ */
3035
+ nodes?: FlowNode[] | undefined;
3036
+ /**
3037
+ * <p>An array of connection definitions in the flow.</p>
3038
+ * @public
3039
+ */
3040
+ connections?: FlowConnection[] | undefined;
3041
+ }
2724
3042
  /**
2725
- * @internal
3043
+ * <p>Contains configurations about a node in the flow.</p>
3044
+ * @public
2726
3045
  */
2727
- export declare const TextContentDocFilterSensitiveLog: (obj: TextContentDoc) => any;
2728
- /**
2729
- * @internal
3046
+ export interface FlowNode {
3047
+ /**
3048
+ * <p>A name for the node.</p>
3049
+ * @public
3050
+ */
3051
+ name: string | undefined;
3052
+ /**
3053
+ * <p>The type of node. This value must match the name of the key that you provide in the configuration you provide in the <code>FlowNodeConfiguration</code> field.</p>
3054
+ * @public
3055
+ */
3056
+ type: FlowNodeType | undefined;
3057
+ /**
3058
+ * <p>Contains configurations for the node.</p>
3059
+ * @public
3060
+ */
3061
+ configuration?: FlowNodeConfiguration | undefined;
3062
+ /**
3063
+ * <p>An array of objects, each of which contains information about an input into the node.</p>
3064
+ * @public
3065
+ */
3066
+ inputs?: FlowNodeInput[] | undefined;
3067
+ /**
3068
+ * <p>A list of objects, each of which contains information about an output from the node.</p>
3069
+ * @public
3070
+ */
3071
+ outputs?: FlowNodeOutput[] | undefined;
3072
+ }
3073
+ /**
3074
+ * <p>Contains configurations for a node in your flow. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/flows-nodes.html">Node types in a flow</a> in the Amazon Bedrock User Guide.</p>
3075
+ * @public
3076
+ */
3077
+ export type FlowNodeConfiguration = FlowNodeConfiguration.AgentMember | FlowNodeConfiguration.CollectorMember | FlowNodeConfiguration.ConditionMember | FlowNodeConfiguration.InlineCodeMember | FlowNodeConfiguration.InputMember | FlowNodeConfiguration.IteratorMember | FlowNodeConfiguration.KnowledgeBaseMember | FlowNodeConfiguration.LambdaFunctionMember | FlowNodeConfiguration.LexMember | FlowNodeConfiguration.LoopMember | FlowNodeConfiguration.LoopControllerMember | FlowNodeConfiguration.LoopInputMember | FlowNodeConfiguration.OutputMember | FlowNodeConfiguration.PromptMember | FlowNodeConfiguration.RetrievalMember | FlowNodeConfiguration.StorageMember | FlowNodeConfiguration.$UnknownMember;
3078
+ /**
3079
+ * @public
3080
+ */
3081
+ export declare namespace FlowNodeConfiguration {
3082
+ /**
3083
+ * <p>Contains configurations for an input flow node in your flow. The first node in the flow. <code>inputs</code> can't be specified for this node.</p>
3084
+ * @public
3085
+ */
3086
+ interface InputMember {
3087
+ input: InputFlowNodeConfiguration;
3088
+ output?: never;
3089
+ knowledgeBase?: never;
3090
+ condition?: never;
3091
+ lex?: never;
3092
+ prompt?: never;
3093
+ lambdaFunction?: never;
3094
+ storage?: never;
3095
+ agent?: never;
3096
+ retrieval?: never;
3097
+ iterator?: never;
3098
+ collector?: never;
3099
+ inlineCode?: never;
3100
+ loop?: never;
3101
+ loopInput?: never;
3102
+ loopController?: never;
3103
+ $unknown?: never;
3104
+ }
3105
+ /**
3106
+ * <p>Contains configurations for an output flow node in your flow. The last node in the flow. <code>outputs</code> can't be specified for this node.</p>
3107
+ * @public
3108
+ */
3109
+ interface OutputMember {
3110
+ input?: never;
3111
+ output: OutputFlowNodeConfiguration;
3112
+ knowledgeBase?: never;
3113
+ condition?: never;
3114
+ lex?: never;
3115
+ prompt?: never;
3116
+ lambdaFunction?: never;
3117
+ storage?: never;
3118
+ agent?: never;
3119
+ retrieval?: never;
3120
+ iterator?: never;
3121
+ collector?: never;
3122
+ inlineCode?: never;
3123
+ loop?: never;
3124
+ loopInput?: never;
3125
+ loopController?: never;
3126
+ $unknown?: never;
3127
+ }
3128
+ /**
3129
+ * <p>Contains configurations for a knowledge base node in your flow. Queries a knowledge base and returns the retrieved results or generated response.</p>
3130
+ * @public
3131
+ */
3132
+ interface KnowledgeBaseMember {
3133
+ input?: never;
3134
+ output?: never;
3135
+ knowledgeBase: KnowledgeBaseFlowNodeConfiguration;
3136
+ condition?: never;
3137
+ lex?: never;
3138
+ prompt?: never;
3139
+ lambdaFunction?: never;
3140
+ storage?: never;
3141
+ agent?: never;
3142
+ retrieval?: never;
3143
+ iterator?: never;
3144
+ collector?: never;
3145
+ inlineCode?: never;
3146
+ loop?: never;
3147
+ loopInput?: never;
3148
+ loopController?: never;
3149
+ $unknown?: never;
3150
+ }
3151
+ /**
3152
+ * <p>Contains configurations for a condition node in your flow. Defines conditions that lead to different branches of the flow.</p>
3153
+ * @public
3154
+ */
3155
+ interface ConditionMember {
3156
+ input?: never;
3157
+ output?: never;
3158
+ knowledgeBase?: never;
3159
+ condition: ConditionFlowNodeConfiguration;
3160
+ lex?: never;
3161
+ prompt?: never;
3162
+ lambdaFunction?: never;
3163
+ storage?: never;
3164
+ agent?: never;
3165
+ retrieval?: never;
3166
+ iterator?: never;
3167
+ collector?: never;
3168
+ inlineCode?: never;
3169
+ loop?: never;
3170
+ loopInput?: never;
3171
+ loopController?: never;
3172
+ $unknown?: never;
3173
+ }
3174
+ /**
3175
+ * <p>Contains configurations for a Lex node in your flow. Invokes an Amazon Lex bot to identify the intent of the input and return the intent as the output.</p>
3176
+ * @public
3177
+ */
3178
+ interface LexMember {
3179
+ input?: never;
3180
+ output?: never;
3181
+ knowledgeBase?: never;
3182
+ condition?: never;
3183
+ lex: LexFlowNodeConfiguration;
3184
+ prompt?: never;
3185
+ lambdaFunction?: never;
3186
+ storage?: never;
3187
+ agent?: never;
3188
+ retrieval?: never;
3189
+ iterator?: never;
3190
+ collector?: never;
3191
+ inlineCode?: never;
3192
+ loop?: never;
3193
+ loopInput?: never;
3194
+ loopController?: never;
3195
+ $unknown?: never;
3196
+ }
3197
+ /**
3198
+ * <p>Contains configurations for a prompt node in your flow. Runs a prompt and generates the model response as the output. You can use a prompt from Prompt management or you can configure one in this node.</p>
3199
+ * @public
3200
+ */
3201
+ interface PromptMember {
3202
+ input?: never;
3203
+ output?: never;
3204
+ knowledgeBase?: never;
3205
+ condition?: never;
3206
+ lex?: never;
3207
+ prompt: PromptFlowNodeConfiguration;
3208
+ lambdaFunction?: never;
3209
+ storage?: never;
3210
+ agent?: never;
3211
+ retrieval?: never;
3212
+ iterator?: never;
3213
+ collector?: never;
3214
+ inlineCode?: never;
3215
+ loop?: never;
3216
+ loopInput?: never;
3217
+ loopController?: never;
3218
+ $unknown?: never;
3219
+ }
3220
+ /**
3221
+ * <p>Contains configurations for a Lambda function node in your flow. Invokes an Lambda function.</p>
3222
+ * @public
3223
+ */
3224
+ interface LambdaFunctionMember {
3225
+ input?: never;
3226
+ output?: never;
3227
+ knowledgeBase?: never;
3228
+ condition?: never;
3229
+ lex?: never;
3230
+ prompt?: never;
3231
+ lambdaFunction: LambdaFunctionFlowNodeConfiguration;
3232
+ storage?: never;
3233
+ agent?: never;
3234
+ retrieval?: never;
3235
+ iterator?: never;
3236
+ collector?: never;
3237
+ inlineCode?: never;
3238
+ loop?: never;
3239
+ loopInput?: never;
3240
+ loopController?: never;
3241
+ $unknown?: never;
3242
+ }
3243
+ /**
3244
+ * <p>Contains configurations for a storage node in your flow. Stores an input in an Amazon S3 location.</p>
3245
+ * @public
3246
+ */
3247
+ interface StorageMember {
3248
+ input?: never;
3249
+ output?: never;
3250
+ knowledgeBase?: never;
3251
+ condition?: never;
3252
+ lex?: never;
3253
+ prompt?: never;
3254
+ lambdaFunction?: never;
3255
+ storage: StorageFlowNodeConfiguration;
3256
+ agent?: never;
3257
+ retrieval?: never;
3258
+ iterator?: never;
3259
+ collector?: never;
3260
+ inlineCode?: never;
3261
+ loop?: never;
3262
+ loopInput?: never;
3263
+ loopController?: never;
3264
+ $unknown?: never;
3265
+ }
3266
+ /**
3267
+ * <p>Contains configurations for an agent node in your flow. Invokes an alias of an agent and returns the response.</p>
3268
+ * @public
3269
+ */
3270
+ interface AgentMember {
3271
+ input?: never;
3272
+ output?: never;
3273
+ knowledgeBase?: never;
3274
+ condition?: never;
3275
+ lex?: never;
3276
+ prompt?: never;
3277
+ lambdaFunction?: never;
3278
+ storage?: never;
3279
+ agent: AgentFlowNodeConfiguration;
3280
+ retrieval?: never;
3281
+ iterator?: never;
3282
+ collector?: never;
3283
+ inlineCode?: never;
3284
+ loop?: never;
3285
+ loopInput?: never;
3286
+ loopController?: never;
3287
+ $unknown?: never;
3288
+ }
3289
+ /**
3290
+ * <p>Contains configurations for a retrieval node in your flow. Retrieves data from an Amazon S3 location and returns it as the output.</p>
3291
+ * @public
3292
+ */
3293
+ interface RetrievalMember {
3294
+ input?: never;
3295
+ output?: never;
3296
+ knowledgeBase?: never;
3297
+ condition?: never;
3298
+ lex?: never;
3299
+ prompt?: never;
3300
+ lambdaFunction?: never;
3301
+ storage?: never;
3302
+ agent?: never;
3303
+ retrieval: RetrievalFlowNodeConfiguration;
3304
+ iterator?: never;
3305
+ collector?: never;
3306
+ inlineCode?: never;
3307
+ loop?: never;
3308
+ loopInput?: never;
3309
+ loopController?: never;
3310
+ $unknown?: never;
3311
+ }
3312
+ /**
3313
+ * <p>Contains configurations for an iterator node in your flow. Takes an input that is an array and iteratively sends each item of the array as an output to the following node. The size of the array is also returned in the output.</p>
3314
+ * <p>The output flow node at the end of the flow iteration will return a response for each member of the array. To return only one response, you can include a collector node downstream from the iterator node.</p>
3315
+ * @public
3316
+ */
3317
+ interface IteratorMember {
3318
+ input?: never;
3319
+ output?: never;
3320
+ knowledgeBase?: never;
3321
+ condition?: never;
3322
+ lex?: never;
3323
+ prompt?: never;
3324
+ lambdaFunction?: never;
3325
+ storage?: never;
3326
+ agent?: never;
3327
+ retrieval?: never;
3328
+ iterator: IteratorFlowNodeConfiguration;
3329
+ collector?: never;
3330
+ inlineCode?: never;
3331
+ loop?: never;
3332
+ loopInput?: never;
3333
+ loopController?: never;
3334
+ $unknown?: never;
3335
+ }
3336
+ /**
3337
+ * <p>Contains configurations for a collector node in your flow. Collects an iteration of inputs and consolidates them into an array of outputs.</p>
3338
+ * @public
3339
+ */
3340
+ interface CollectorMember {
3341
+ input?: never;
3342
+ output?: never;
3343
+ knowledgeBase?: never;
3344
+ condition?: never;
3345
+ lex?: never;
3346
+ prompt?: never;
3347
+ lambdaFunction?: never;
3348
+ storage?: never;
3349
+ agent?: never;
3350
+ retrieval?: never;
3351
+ iterator?: never;
3352
+ collector: CollectorFlowNodeConfiguration;
3353
+ inlineCode?: never;
3354
+ loop?: never;
3355
+ loopInput?: never;
3356
+ loopController?: never;
3357
+ $unknown?: never;
3358
+ }
3359
+ /**
3360
+ * <p>Contains configurations for an inline code node in your flow. Inline code nodes let you write and execute code directly within your flow, enabling data transformations, custom logic, and integrations without needing an external Lambda function.</p>
3361
+ * @public
3362
+ */
3363
+ interface InlineCodeMember {
3364
+ input?: never;
3365
+ output?: never;
3366
+ knowledgeBase?: never;
3367
+ condition?: never;
3368
+ lex?: never;
3369
+ prompt?: never;
3370
+ lambdaFunction?: never;
3371
+ storage?: never;
3372
+ agent?: never;
3373
+ retrieval?: never;
3374
+ iterator?: never;
3375
+ collector?: never;
3376
+ inlineCode: InlineCodeFlowNodeConfiguration;
3377
+ loop?: never;
3378
+ loopInput?: never;
3379
+ loopController?: never;
3380
+ $unknown?: never;
3381
+ }
3382
+ /**
3383
+ * <p>Contains configurations for a DoWhile loop in your flow.</p>
3384
+ * @public
3385
+ */
3386
+ interface LoopMember {
3387
+ input?: never;
3388
+ output?: never;
3389
+ knowledgeBase?: never;
3390
+ condition?: never;
3391
+ lex?: never;
3392
+ prompt?: never;
3393
+ lambdaFunction?: never;
3394
+ storage?: never;
3395
+ agent?: never;
3396
+ retrieval?: never;
3397
+ iterator?: never;
3398
+ collector?: never;
3399
+ inlineCode?: never;
3400
+ loop: LoopFlowNodeConfiguration;
3401
+ loopInput?: never;
3402
+ loopController?: never;
3403
+ $unknown?: never;
3404
+ }
3405
+ /**
3406
+ * <p>Contains input node configurations for a DoWhile loop in your flow.</p>
3407
+ * @public
3408
+ */
3409
+ interface LoopInputMember {
3410
+ input?: never;
3411
+ output?: never;
3412
+ knowledgeBase?: never;
3413
+ condition?: never;
3414
+ lex?: never;
3415
+ prompt?: never;
3416
+ lambdaFunction?: never;
3417
+ storage?: never;
3418
+ agent?: never;
3419
+ retrieval?: never;
3420
+ iterator?: never;
3421
+ collector?: never;
3422
+ inlineCode?: never;
3423
+ loop?: never;
3424
+ loopInput: LoopInputFlowNodeConfiguration;
3425
+ loopController?: never;
3426
+ $unknown?: never;
3427
+ }
3428
+ /**
3429
+ * <p>Contains controller node configurations for a DoWhile loop in your flow.</p>
3430
+ * @public
3431
+ */
3432
+ interface LoopControllerMember {
3433
+ input?: never;
3434
+ output?: never;
3435
+ knowledgeBase?: never;
3436
+ condition?: never;
3437
+ lex?: never;
3438
+ prompt?: never;
3439
+ lambdaFunction?: never;
3440
+ storage?: never;
3441
+ agent?: never;
3442
+ retrieval?: never;
3443
+ iterator?: never;
3444
+ collector?: never;
3445
+ inlineCode?: never;
3446
+ loop?: never;
3447
+ loopInput?: never;
3448
+ loopController: LoopControllerFlowNodeConfiguration;
3449
+ $unknown?: never;
3450
+ }
3451
+ /**
3452
+ * @public
3453
+ */
3454
+ interface $UnknownMember {
3455
+ input?: never;
3456
+ output?: never;
3457
+ knowledgeBase?: never;
3458
+ condition?: never;
3459
+ lex?: never;
3460
+ prompt?: never;
3461
+ lambdaFunction?: never;
3462
+ storage?: never;
3463
+ agent?: never;
3464
+ retrieval?: never;
3465
+ iterator?: never;
3466
+ collector?: never;
3467
+ inlineCode?: never;
3468
+ loop?: never;
3469
+ loopInput?: never;
3470
+ loopController?: never;
3471
+ $unknown: [string, any];
3472
+ }
3473
+ interface Visitor<T> {
3474
+ input: (value: InputFlowNodeConfiguration) => T;
3475
+ output: (value: OutputFlowNodeConfiguration) => T;
3476
+ knowledgeBase: (value: KnowledgeBaseFlowNodeConfiguration) => T;
3477
+ condition: (value: ConditionFlowNodeConfiguration) => T;
3478
+ lex: (value: LexFlowNodeConfiguration) => T;
3479
+ prompt: (value: PromptFlowNodeConfiguration) => T;
3480
+ lambdaFunction: (value: LambdaFunctionFlowNodeConfiguration) => T;
3481
+ storage: (value: StorageFlowNodeConfiguration) => T;
3482
+ agent: (value: AgentFlowNodeConfiguration) => T;
3483
+ retrieval: (value: RetrievalFlowNodeConfiguration) => T;
3484
+ iterator: (value: IteratorFlowNodeConfiguration) => T;
3485
+ collector: (value: CollectorFlowNodeConfiguration) => T;
3486
+ inlineCode: (value: InlineCodeFlowNodeConfiguration) => T;
3487
+ loop: (value: LoopFlowNodeConfiguration) => T;
3488
+ loopInput: (value: LoopInputFlowNodeConfiguration) => T;
3489
+ loopController: (value: LoopControllerFlowNodeConfiguration) => T;
3490
+ _: (name: string, value: any) => T;
3491
+ }
3492
+ const visit: <T>(value: FlowNodeConfiguration, visitor: Visitor<T>) => T;
3493
+ }
3494
+ /**
3495
+ * <p>Contains configurations for the nodes of a DoWhile loop in your flow.</p>
3496
+ * <p>A DoWhile loop is made up of the following nodes:</p>
3497
+ * <ul>
3498
+ * <li>
3499
+ * <p>
3500
+ * <code>Loop</code> - The container node that holds the loop's flow definition. This node encompasses the entire loop structure.</p>
3501
+ * </li>
3502
+ * <li>
3503
+ * <p>
3504
+ * <code>LoopInput</code> - The entry point node for the loop. This node receives inputs from nodes outside the loop and from previous loop iterations.</p>
3505
+ * </li>
3506
+ * <li>
3507
+ * <p>Body nodes - These can be </p>
3508
+ * </li>
3509
+ * <li>
3510
+ * <p>
3511
+ * <code>LoopController</code> - The node that evaluates whether the loop should continue or exit based on a condition.</p>
3512
+ * </li>
3513
+ * </ul>
3514
+ * <p>These nodes work together to create a loop that runs at least once and continues until a specified condition is met or a maximum number of iterations is reached.</p>
3515
+ * @public
3516
+ */
3517
+ export interface LoopFlowNodeConfiguration {
3518
+ /**
3519
+ * <p>The definition of the DoWhile loop nodes and connections between nodes in the flow.</p>
3520
+ * @public
3521
+ */
3522
+ definition: FlowDefinition | undefined;
3523
+ }
3524
+ /**
3525
+ * @public
3526
+ */
3527
+ export interface CreateFlowRequest {
3528
+ /**
3529
+ * <p>A name for the flow.</p>
3530
+ * @public
3531
+ */
3532
+ name: string | undefined;
3533
+ /**
3534
+ * <p>A description for the flow.</p>
3535
+ * @public
3536
+ */
3537
+ description?: string | undefined;
3538
+ /**
3539
+ * <p>The Amazon Resource Name (ARN) of the service role with permissions to create and manage a flow. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/flows-permissions.html">Create a service role for flows in Amazon Bedrock</a> in the Amazon Bedrock User Guide.</p>
3540
+ * @public
3541
+ */
3542
+ executionRoleArn: string | undefined;
3543
+ /**
3544
+ * <p>The Amazon Resource Name (ARN) of the KMS key to encrypt the flow.</p>
3545
+ * @public
3546
+ */
3547
+ customerEncryptionKeyArn?: string | undefined;
3548
+ /**
3549
+ * <p>A definition of the nodes and connections between nodes in the flow.</p>
3550
+ * @public
3551
+ */
3552
+ definition?: FlowDefinition | undefined;
3553
+ /**
3554
+ * <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,
3555
+ * 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>
3556
+ * @public
3557
+ */
3558
+ clientToken?: string | undefined;
3559
+ /**
3560
+ * <p>Any tags that you want to attach to the flow. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/tagging.html">Tagging resources in Amazon Bedrock</a>.</p>
3561
+ * @public
3562
+ */
3563
+ tags?: Record<string, string> | undefined;
3564
+ }
3565
+ /**
3566
+ * @public
3567
+ */
3568
+ export interface CreateFlowResponse {
3569
+ /**
3570
+ * <p>The name of the flow.</p>
3571
+ * @public
3572
+ */
3573
+ name: string | undefined;
3574
+ /**
3575
+ * <p>The description of the flow.</p>
3576
+ * @public
3577
+ */
3578
+ description?: string | undefined;
3579
+ /**
3580
+ * <p>The Amazon Resource Name (ARN) of the service role with permissions to create a flow. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/flows-permissions.html">Create a service role for flows in Amazon Bedrock</a> in the Amazon Bedrock User Guide.</p>
3581
+ * @public
3582
+ */
3583
+ executionRoleArn: string | undefined;
3584
+ /**
3585
+ * <p>The Amazon Resource Name (ARN) of the KMS key that you encrypted the flow with.</p>
3586
+ * @public
3587
+ */
3588
+ customerEncryptionKeyArn?: string | undefined;
3589
+ /**
3590
+ * <p>The unique identifier of the flow.</p>
3591
+ * @public
3592
+ */
3593
+ id: string | undefined;
3594
+ /**
3595
+ * <p>The Amazon Resource Name (ARN) of the flow.</p>
3596
+ * @public
3597
+ */
3598
+ arn: string | undefined;
3599
+ /**
3600
+ * <p>The status of the flow. When you submit this request, the status will be <code>NotPrepared</code>. If creation fails, the status becomes <code>Failed</code>.</p>
3601
+ * @public
3602
+ */
3603
+ status: FlowStatus | undefined;
3604
+ /**
3605
+ * <p>The time at which the flow was created.</p>
3606
+ * @public
3607
+ */
3608
+ createdAt: Date | undefined;
3609
+ /**
3610
+ * <p>The time at which the flow was last updated.</p>
3611
+ * @public
3612
+ */
3613
+ updatedAt: Date | undefined;
3614
+ /**
3615
+ * <p>The version of the flow. When you create a flow, the version created is the <code>DRAFT</code> version.</p>
3616
+ * @public
3617
+ */
3618
+ version: string | undefined;
3619
+ /**
3620
+ * <p>A definition of the nodes and connections between nodes in the flow.</p>
3621
+ * @public
3622
+ */
3623
+ definition?: FlowDefinition | undefined;
3624
+ }
3625
+ /**
3626
+ * @public
3627
+ */
3628
+ export interface CreateFlowVersionResponse {
3629
+ /**
3630
+ * <p>The name of the version.</p>
3631
+ * @public
3632
+ */
3633
+ name: string | undefined;
3634
+ /**
3635
+ * <p>The description of the version.</p>
3636
+ * @public
3637
+ */
3638
+ description?: string | undefined;
3639
+ /**
3640
+ * <p>The Amazon Resource Name (ARN) of the service role with permissions to create a flow. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/flows-permissions.html">Create a service role for flows in Amazon Bedrock</a> in the Amazon Bedrock User Guide.</p>
3641
+ * @public
3642
+ */
3643
+ executionRoleArn: string | undefined;
3644
+ /**
3645
+ * <p>The KMS key that the flow is encrypted with.</p>
3646
+ * @public
3647
+ */
3648
+ customerEncryptionKeyArn?: string | undefined;
3649
+ /**
3650
+ * <p>The unique identifier of the flow.</p>
3651
+ * @public
3652
+ */
3653
+ id: string | undefined;
3654
+ /**
3655
+ * <p>The Amazon Resource Name (ARN) of the flow.</p>
3656
+ * @public
3657
+ */
3658
+ arn: string | undefined;
3659
+ /**
3660
+ * <p>The status of the flow.</p>
3661
+ * @public
3662
+ */
3663
+ status: FlowStatus | undefined;
3664
+ /**
3665
+ * <p>The time at which the flow was created.</p>
3666
+ * @public
3667
+ */
3668
+ createdAt: Date | undefined;
3669
+ /**
3670
+ * <p>The version of the flow that was created. Versions are numbered incrementally, starting from 1.</p>
3671
+ * @public
3672
+ */
3673
+ version: string | undefined;
3674
+ /**
3675
+ * <p>A definition of the nodes and connections in the flow.</p>
3676
+ * @public
3677
+ */
3678
+ definition?: FlowDefinition | undefined;
3679
+ }
3680
+ /**
3681
+ * @public
3682
+ */
3683
+ export interface GetFlowResponse {
3684
+ /**
3685
+ * <p>The name of the flow.</p>
3686
+ * @public
3687
+ */
3688
+ name: string | undefined;
3689
+ /**
3690
+ * <p>The description of the flow.</p>
3691
+ * @public
3692
+ */
3693
+ description?: string | undefined;
3694
+ /**
3695
+ * <p>The Amazon Resource Name (ARN) of the service role with permissions to create a flow. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/flows-permissions.html">Create a service row for flows</a> in the Amazon Bedrock User Guide.</p>
3696
+ * @public
3697
+ */
3698
+ executionRoleArn: string | undefined;
3699
+ /**
3700
+ * <p>The Amazon Resource Name (ARN) of the KMS key that the flow is encrypted with.</p>
3701
+ * @public
3702
+ */
3703
+ customerEncryptionKeyArn?: string | undefined;
3704
+ /**
3705
+ * <p>The unique identifier of the flow.</p>
3706
+ * @public
3707
+ */
3708
+ id: string | undefined;
3709
+ /**
3710
+ * <p>The Amazon Resource Name (ARN) of the flow.</p>
3711
+ * @public
3712
+ */
3713
+ arn: string | undefined;
3714
+ /**
3715
+ * <p>The status of the flow. The following statuses are possible:</p>
3716
+ * <ul>
3717
+ * <li>
3718
+ * <p>NotPrepared – The flow has been created or updated, but hasn't been prepared. If you just created the flow, you can't test it. If you updated the flow, the <code>DRAFT</code> version won't contain the latest changes for testing. Send a <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PrepareFlow.html">PrepareFlow</a> request to package the latest changes into the <code>DRAFT</code> version.</p>
3719
+ * </li>
3720
+ * <li>
3721
+ * <p>Preparing – The flow is being prepared so that the <code>DRAFT</code> version contains the latest changes for testing.</p>
3722
+ * </li>
3723
+ * <li>
3724
+ * <p>Prepared – The flow is prepared and the <code>DRAFT</code> version contains the latest changes for testing.</p>
3725
+ * </li>
3726
+ * <li>
3727
+ * <p>Failed – The last API operation that you invoked on the flow failed. Send a <a href="https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetFlow.html">GetFlow</a> request and check the error message in the <code>validations</code> field.</p>
3728
+ * </li>
3729
+ * </ul>
3730
+ * @public
3731
+ */
3732
+ status: FlowStatus | undefined;
3733
+ /**
3734
+ * <p>The time at which the flow was created.</p>
3735
+ * @public
3736
+ */
3737
+ createdAt: Date | undefined;
3738
+ /**
3739
+ * <p>The time at which the flow was last updated.</p>
3740
+ * @public
3741
+ */
3742
+ updatedAt: Date | undefined;
3743
+ /**
3744
+ * <p>The version of the flow for which information was retrieved.</p>
3745
+ * @public
3746
+ */
3747
+ version: string | undefined;
3748
+ /**
3749
+ * <p>The definition of the nodes and connections between the nodes in the flow.</p>
3750
+ * @public
3751
+ */
3752
+ definition?: FlowDefinition | undefined;
3753
+ /**
3754
+ * <p>A list of validation error messages related to the last failed operation on the flow.</p>
3755
+ * @public
3756
+ */
3757
+ validations?: FlowValidation[] | undefined;
3758
+ }
3759
+ /**
3760
+ * @public
3761
+ */
3762
+ export interface GetFlowVersionResponse {
3763
+ /**
3764
+ * <p>The name of the version.</p>
3765
+ * @public
3766
+ */
3767
+ name: string | undefined;
3768
+ /**
3769
+ * <p>The description of the flow.</p>
3770
+ * @public
3771
+ */
3772
+ description?: string | undefined;
3773
+ /**
3774
+ * <p>The Amazon Resource Name (ARN) of the service role with permissions to create a flow. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/flows-permissions.html">Create a service role for flows in Amazon Bedrock</a> in the Amazon Bedrock User Guide.</p>
3775
+ * @public
3776
+ */
3777
+ executionRoleArn: string | undefined;
3778
+ /**
3779
+ * <p>The Amazon Resource Name (ARN) of the KMS key that the version of the flow is encrypted with.</p>
3780
+ * @public
3781
+ */
3782
+ customerEncryptionKeyArn?: string | undefined;
3783
+ /**
3784
+ * <p>The unique identifier of the flow.</p>
3785
+ * @public
3786
+ */
3787
+ id: string | undefined;
3788
+ /**
3789
+ * <p>The Amazon Resource Name (ARN) of the flow.</p>
3790
+ * @public
3791
+ */
3792
+ arn: string | undefined;
3793
+ /**
3794
+ * <p>The status of the flow.</p>
3795
+ * @public
3796
+ */
3797
+ status: FlowStatus | undefined;
3798
+ /**
3799
+ * <p>The time at which the flow was created.</p>
3800
+ * @public
3801
+ */
3802
+ createdAt: Date | undefined;
3803
+ /**
3804
+ * <p>The version of the flow for which information was retrieved.</p>
3805
+ * @public
3806
+ */
3807
+ version: string | undefined;
3808
+ /**
3809
+ * <p>The definition of the nodes and connections between nodes in the flow.</p>
3810
+ * @public
3811
+ */
3812
+ definition?: FlowDefinition | undefined;
3813
+ }
3814
+ /**
3815
+ * @public
3816
+ */
3817
+ export interface UpdateFlowRequest {
3818
+ /**
3819
+ * <p>A name for the flow.</p>
3820
+ * @public
3821
+ */
3822
+ name: string | undefined;
3823
+ /**
3824
+ * <p>A description for the flow.</p>
3825
+ * @public
3826
+ */
3827
+ description?: string | undefined;
3828
+ /**
3829
+ * <p>The Amazon Resource Name (ARN) of the service role with permissions to create and manage a flow. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/flows-permissions.html">Create a service role for flows in Amazon Bedrock</a> in the Amazon Bedrock User Guide.</p>
3830
+ * @public
3831
+ */
3832
+ executionRoleArn: string | undefined;
3833
+ /**
3834
+ * <p>The Amazon Resource Name (ARN) of the KMS key to encrypt the flow.</p>
3835
+ * @public
3836
+ */
3837
+ customerEncryptionKeyArn?: string | undefined;
3838
+ /**
3839
+ * <p>A definition of the nodes and the connections between the nodes in the flow.</p>
3840
+ * @public
3841
+ */
3842
+ definition?: FlowDefinition | undefined;
3843
+ /**
3844
+ * <p>The unique identifier of the flow.</p>
3845
+ * @public
3846
+ */
3847
+ flowIdentifier: string | undefined;
3848
+ }
3849
+ /**
3850
+ * @public
3851
+ */
3852
+ export interface UpdateFlowResponse {
3853
+ /**
3854
+ * <p>The name of the flow.</p>
3855
+ * @public
3856
+ */
3857
+ name: string | undefined;
3858
+ /**
3859
+ * <p>The description of the flow.</p>
3860
+ * @public
3861
+ */
3862
+ description?: string | undefined;
3863
+ /**
3864
+ * <p>The Amazon Resource Name (ARN) of the service role with permissions to create a flow. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/flows-permissions.html">Create a service role for flows in Amazon Bedrock</a> in the Amazon Bedrock User Guide.</p>
3865
+ * @public
3866
+ */
3867
+ executionRoleArn: string | undefined;
3868
+ /**
3869
+ * <p>The Amazon Resource Name (ARN) of the KMS key that the flow was encrypted with.</p>
3870
+ * @public
3871
+ */
3872
+ customerEncryptionKeyArn?: string | undefined;
3873
+ /**
3874
+ * <p>The unique identifier of the flow.</p>
3875
+ * @public
3876
+ */
3877
+ id: string | undefined;
3878
+ /**
3879
+ * <p>The Amazon Resource Name (ARN) of the flow.</p>
3880
+ * @public
3881
+ */
3882
+ arn: string | undefined;
3883
+ /**
3884
+ * <p>The status of the flow. When you submit this request, the status will be <code>NotPrepared</code>. If updating fails, the status becomes <code>Failed</code>.</p>
3885
+ * @public
3886
+ */
3887
+ status: FlowStatus | undefined;
3888
+ /**
3889
+ * <p>The time at which the flow was created.</p>
3890
+ * @public
3891
+ */
3892
+ createdAt: Date | undefined;
3893
+ /**
3894
+ * <p>The time at which the flow was last updated.</p>
3895
+ * @public
3896
+ */
3897
+ updatedAt: Date | undefined;
3898
+ /**
3899
+ * <p>The version of the flow. When you update a flow, the version updated is the <code>DRAFT</code> version.</p>
3900
+ * @public
3901
+ */
3902
+ version: string | undefined;
3903
+ /**
3904
+ * <p>A definition of the nodes and the connections between nodes in the flow.</p>
3905
+ * @public
3906
+ */
3907
+ definition?: FlowDefinition | undefined;
3908
+ }
3909
+ /**
3910
+ * @public
3911
+ */
3912
+ export interface ValidateFlowDefinitionRequest {
3913
+ /**
3914
+ * <p>The definition of a flow to validate.</p>
3915
+ * @public
3916
+ */
3917
+ definition: FlowDefinition | undefined;
3918
+ }
3919
+ /**
3920
+ * @internal
3921
+ */
3922
+ export declare const ByteContentDocFilterSensitiveLog: (obj: ByteContentDoc) => any;
3923
+ /**
3924
+ * @internal
3925
+ */
3926
+ export declare const TextContentDocFilterSensitiveLog: (obj: TextContentDoc) => any;
3927
+ /**
3928
+ * @internal
2730
3929
  */
2731
3930
  export declare const InlineContentFilterSensitiveLog: (obj: InlineContent) => any;
2732
3931
  /**
@@ -2856,12 +4055,56 @@ export declare const UpdatePromptResponseFilterSensitiveLog: (obj: UpdatePromptR
2856
4055
  /**
2857
4056
  * @internal
2858
4057
  */
2859
- export declare const ValidateFlowDefinitionRequestFilterSensitiveLog: (obj: ValidateFlowDefinitionRequest) => any;
4058
+ export declare const ValidateFlowDefinitionResponseFilterSensitiveLog: (obj: ValidateFlowDefinitionResponse) => any;
2860
4059
  /**
2861
4060
  * @internal
2862
4061
  */
2863
- export declare const ValidateFlowDefinitionResponseFilterSensitiveLog: (obj: ValidateFlowDefinitionResponse) => any;
4062
+ export declare const GetAgentVersionResponseFilterSensitiveLog: (obj: GetAgentVersionResponse) => any;
2864
4063
  /**
2865
4064
  * @internal
2866
4065
  */
2867
- export declare const GetAgentVersionResponseFilterSensitiveLog: (obj: GetAgentVersionResponse) => any;
4066
+ export declare const FlowDefinitionFilterSensitiveLog: (obj: FlowDefinition) => any;
4067
+ /**
4068
+ * @internal
4069
+ */
4070
+ export declare const FlowNodeFilterSensitiveLog: (obj: FlowNode) => any;
4071
+ /**
4072
+ * @internal
4073
+ */
4074
+ export declare const FlowNodeConfigurationFilterSensitiveLog: (obj: FlowNodeConfiguration) => any;
4075
+ /**
4076
+ * @internal
4077
+ */
4078
+ export declare const LoopFlowNodeConfigurationFilterSensitiveLog: (obj: LoopFlowNodeConfiguration) => any;
4079
+ /**
4080
+ * @internal
4081
+ */
4082
+ export declare const CreateFlowRequestFilterSensitiveLog: (obj: CreateFlowRequest) => any;
4083
+ /**
4084
+ * @internal
4085
+ */
4086
+ export declare const CreateFlowResponseFilterSensitiveLog: (obj: CreateFlowResponse) => any;
4087
+ /**
4088
+ * @internal
4089
+ */
4090
+ export declare const CreateFlowVersionResponseFilterSensitiveLog: (obj: CreateFlowVersionResponse) => any;
4091
+ /**
4092
+ * @internal
4093
+ */
4094
+ export declare const GetFlowResponseFilterSensitiveLog: (obj: GetFlowResponse) => any;
4095
+ /**
4096
+ * @internal
4097
+ */
4098
+ export declare const GetFlowVersionResponseFilterSensitiveLog: (obj: GetFlowVersionResponse) => any;
4099
+ /**
4100
+ * @internal
4101
+ */
4102
+ export declare const UpdateFlowRequestFilterSensitiveLog: (obj: UpdateFlowRequest) => any;
4103
+ /**
4104
+ * @internal
4105
+ */
4106
+ export declare const UpdateFlowResponseFilterSensitiveLog: (obj: UpdateFlowResponse) => any;
4107
+ /**
4108
+ * @internal
4109
+ */
4110
+ export declare const ValidateFlowDefinitionRequestFilterSensitiveLog: (obj: ValidateFlowDefinitionRequest) => any;