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
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[deprecated(note = "Amazon Lex V1 is deprecated. Use Amazon Lex V2 instead.", since = "2025-09-08")]
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct StartImportInput {
/// <p>A zip archive in binary format. The archive should contain one file, a JSON file containing the resource to import. The resource should match the type specified in the <code>resourceType</code> field.</p>
pub payload: ::std::option::Option<::aws_smithy_types::Blob>,
/// <p>Specifies the type of resource to export. Each resource also exports any resources that it depends on.</p>
/// <ul>
/// <li>
/// <p>A bot exports dependent intents.</p></li>
/// <li>
/// <p>An intent exports dependent slot types.</p></li>
/// </ul>
pub resource_type: ::std::option::Option<crate::types::ResourceType>,
/// <p>Specifies the action that the <code>StartImport</code> operation should take when there is an existing resource with the same name.</p>
/// <ul>
/// <li>
/// <p>FAIL_ON_CONFLICT - The import operation is stopped on the first conflict between a resource in the import file and an existing resource. The name of the resource causing the conflict is in the <code>failureReason</code> field of the response to the <code>GetImport</code> operation.</p>
/// <p>OVERWRITE_LATEST - The import operation proceeds even if there is a conflict with an existing resource. The $LASTEST version of the existing resource is overwritten with the data from the import file.</p></li>
/// </ul>
pub merge_strategy: ::std::option::Option<crate::types::MergeStrategy>,
/// <p>A list of tags to add to the imported bot. You can only add tags when you import a bot, you can't add tags to an intent or slot type.</p>
pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
}
impl StartImportInput {
/// <p>A zip archive in binary format. The archive should contain one file, a JSON file containing the resource to import. The resource should match the type specified in the <code>resourceType</code> field.</p>
pub fn payload(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
self.payload.as_ref()
}
/// <p>Specifies the type of resource to export. Each resource also exports any resources that it depends on.</p>
/// <ul>
/// <li>
/// <p>A bot exports dependent intents.</p></li>
/// <li>
/// <p>An intent exports dependent slot types.</p></li>
/// </ul>
pub fn resource_type(&self) -> ::std::option::Option<&crate::types::ResourceType> {
self.resource_type.as_ref()
}
/// <p>Specifies the action that the <code>StartImport</code> operation should take when there is an existing resource with the same name.</p>
/// <ul>
/// <li>
/// <p>FAIL_ON_CONFLICT - The import operation is stopped on the first conflict between a resource in the import file and an existing resource. The name of the resource causing the conflict is in the <code>failureReason</code> field of the response to the <code>GetImport</code> operation.</p>
/// <p>OVERWRITE_LATEST - The import operation proceeds even if there is a conflict with an existing resource. The $LASTEST version of the existing resource is overwritten with the data from the import file.</p></li>
/// </ul>
pub fn merge_strategy(&self) -> ::std::option::Option<&crate::types::MergeStrategy> {
self.merge_strategy.as_ref()
}
/// <p>A list of tags to add to the imported bot. You can only add tags when you import a bot, you can't add tags to an intent or slot type.</p>
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.tags.is_none()`.
pub fn tags(&self) -> &[crate::types::Tag] {
self.tags.as_deref().unwrap_or_default()
}
}
impl StartImportInput {
/// Creates a new builder-style object to manufacture [`StartImportInput`](crate::operation::start_import::StartImportInput).
pub fn builder() -> crate::operation::start_import::builders::StartImportInputBuilder {
crate::operation::start_import::builders::StartImportInputBuilder::default()
}
}
/// A builder for [`StartImportInput`](crate::operation::start_import::StartImportInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct StartImportInputBuilder {
pub(crate) payload: ::std::option::Option<::aws_smithy_types::Blob>,
pub(crate) resource_type: ::std::option::Option<crate::types::ResourceType>,
pub(crate) merge_strategy: ::std::option::Option<crate::types::MergeStrategy>,
pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
}
impl StartImportInputBuilder {
/// <p>A zip archive in binary format. The archive should contain one file, a JSON file containing the resource to import. The resource should match the type specified in the <code>resourceType</code> field.</p>
/// This field is required.
pub fn payload(mut self, input: ::aws_smithy_types::Blob) -> Self {
self.payload = ::std::option::Option::Some(input);
self
}
/// <p>A zip archive in binary format. The archive should contain one file, a JSON file containing the resource to import. The resource should match the type specified in the <code>resourceType</code> field.</p>
pub fn set_payload(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
self.payload = input;
self
}
/// <p>A zip archive in binary format. The archive should contain one file, a JSON file containing the resource to import. The resource should match the type specified in the <code>resourceType</code> field.</p>
pub fn get_payload(&self) -> &::std::option::Option<::aws_smithy_types::Blob> {
&self.payload
}
/// <p>Specifies the type of resource to export. Each resource also exports any resources that it depends on.</p>
/// <ul>
/// <li>
/// <p>A bot exports dependent intents.</p></li>
/// <li>
/// <p>An intent exports dependent slot types.</p></li>
/// </ul>
/// This field is required.
pub fn resource_type(mut self, input: crate::types::ResourceType) -> Self {
self.resource_type = ::std::option::Option::Some(input);
self
}
/// <p>Specifies the type of resource to export. Each resource also exports any resources that it depends on.</p>
/// <ul>
/// <li>
/// <p>A bot exports dependent intents.</p></li>
/// <li>
/// <p>An intent exports dependent slot types.</p></li>
/// </ul>
pub fn set_resource_type(mut self, input: ::std::option::Option<crate::types::ResourceType>) -> Self {
self.resource_type = input;
self
}
/// <p>Specifies the type of resource to export. Each resource also exports any resources that it depends on.</p>
/// <ul>
/// <li>
/// <p>A bot exports dependent intents.</p></li>
/// <li>
/// <p>An intent exports dependent slot types.</p></li>
/// </ul>
pub fn get_resource_type(&self) -> &::std::option::Option<crate::types::ResourceType> {
&self.resource_type
}
/// <p>Specifies the action that the <code>StartImport</code> operation should take when there is an existing resource with the same name.</p>
/// <ul>
/// <li>
/// <p>FAIL_ON_CONFLICT - The import operation is stopped on the first conflict between a resource in the import file and an existing resource. The name of the resource causing the conflict is in the <code>failureReason</code> field of the response to the <code>GetImport</code> operation.</p>
/// <p>OVERWRITE_LATEST - The import operation proceeds even if there is a conflict with an existing resource. The $LASTEST version of the existing resource is overwritten with the data from the import file.</p></li>
/// </ul>
/// This field is required.
pub fn merge_strategy(mut self, input: crate::types::MergeStrategy) -> Self {
self.merge_strategy = ::std::option::Option::Some(input);
self
}
/// <p>Specifies the action that the <code>StartImport</code> operation should take when there is an existing resource with the same name.</p>
/// <ul>
/// <li>
/// <p>FAIL_ON_CONFLICT - The import operation is stopped on the first conflict between a resource in the import file and an existing resource. The name of the resource causing the conflict is in the <code>failureReason</code> field of the response to the <code>GetImport</code> operation.</p>
/// <p>OVERWRITE_LATEST - The import operation proceeds even if there is a conflict with an existing resource. The $LASTEST version of the existing resource is overwritten with the data from the import file.</p></li>
/// </ul>
pub fn set_merge_strategy(mut self, input: ::std::option::Option<crate::types::MergeStrategy>) -> Self {
self.merge_strategy = input;
self
}
/// <p>Specifies the action that the <code>StartImport</code> operation should take when there is an existing resource with the same name.</p>
/// <ul>
/// <li>
/// <p>FAIL_ON_CONFLICT - The import operation is stopped on the first conflict between a resource in the import file and an existing resource. The name of the resource causing the conflict is in the <code>failureReason</code> field of the response to the <code>GetImport</code> operation.</p>
/// <p>OVERWRITE_LATEST - The import operation proceeds even if there is a conflict with an existing resource. The $LASTEST version of the existing resource is overwritten with the data from the import file.</p></li>
/// </ul>
pub fn get_merge_strategy(&self) -> &::std::option::Option<crate::types::MergeStrategy> {
&self.merge_strategy
}
/// Appends an item to `tags`.
///
/// To override the contents of this collection use [`set_tags`](Self::set_tags).
///
/// <p>A list of tags to add to the imported bot. You can only add tags when you import a bot, you can't add tags to an intent or slot type.</p>
pub fn tags(mut self, input: crate::types::Tag) -> Self {
let mut v = self.tags.unwrap_or_default();
v.push(input);
self.tags = ::std::option::Option::Some(v);
self
}
/// <p>A list of tags to add to the imported bot. You can only add tags when you import a bot, you can't add tags to an intent or slot type.</p>
pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
self.tags = input;
self
}
/// <p>A list of tags to add to the imported bot. You can only add tags when you import a bot, you can't add tags to an intent or slot type.</p>
pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
&self.tags
}
/// Consumes the builder and constructs a [`StartImportInput`](crate::operation::start_import::StartImportInput).
pub fn build(self) -> ::std::result::Result<crate::operation::start_import::StartImportInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::start_import::StartImportInput {
payload: self.payload,
resource_type: self.resource_type,
merge_strategy: self.merge_strategy,
tags: self.tags,
})
}
}