aws_sdk_sagemaker/operation/create_domain/_create_domain_input.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateDomainInput {
6 /// <p>A name for the domain.</p>
7 pub domain_name: ::std::option::Option<::std::string::String>,
8 /// <p>The mode of authentication that members use to access the domain.</p>
9 pub auth_mode: ::std::option::Option<crate::types::AuthMode>,
10 /// <p>The default settings to use to create a user profile when <code>UserSettings</code> isn't specified in the call to the <code>CreateUserProfile</code> API.</p>
11 /// <p><code>SecurityGroups</code> is aggregated when specified in both calls. For all other settings in <code>UserSettings</code>, the values specified in <code>CreateUserProfile</code> take precedence over those specified in <code>CreateDomain</code>.</p>
12 pub default_user_settings: ::std::option::Option<crate::types::UserSettings>,
13 /// <p>A collection of <code>Domain</code> settings.</p>
14 pub domain_settings: ::std::option::Option<crate::types::DomainSettings>,
15 /// <p>The VPC subnets that the domain uses for communication.</p>
16 pub subnet_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
17 /// <p>The ID of the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.</p>
18 pub vpc_id: ::std::option::Option<::std::string::String>,
19 /// <p>Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the <code>Search</code> API.</p>
20 /// <p>Tags that you specify for the Domain are also added to all Apps that the Domain launches.</p>
21 pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
22 /// <p>Specifies the VPC used for non-EFS traffic. The default value is <code>PublicInternetOnly</code>.</p>
23 /// <ul>
24 /// <li>
25 /// <p><code>PublicInternetOnly</code> - Non-EFS traffic is through a VPC managed by Amazon SageMaker AI, which allows direct internet access</p></li>
26 /// <li>
27 /// <p><code>VpcOnly</code> - All traffic is through the specified VPC and subnets</p></li>
28 /// </ul>
29 pub app_network_access_type: ::std::option::Option<crate::types::AppNetworkAccessType>,
30 /// <p>Use <code>KmsKeyId</code>.</p>
31 #[deprecated(note = "This property is deprecated, use KmsKeyId instead.")]
32 pub home_efs_file_system_kms_key_id: ::std::option::Option<::std::string::String>,
33 /// <p>SageMaker AI uses Amazon Web Services KMS to encrypt EFS and EBS volumes attached to the domain with an Amazon Web Services managed key by default. For more control, specify a customer managed key.</p>
34 pub kms_key_id: ::std::option::Option<::std::string::String>,
35 /// <p>The entity that creates and manages the required security groups for inter-app communication in <code>VPCOnly</code> mode. Required when <code>CreateDomain.AppNetworkAccessType</code> is <code>VPCOnly</code> and <code>DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn</code> is provided. If setting up the domain for use with RStudio, this value must be set to <code>Service</code>.</p>
36 pub app_security_group_management: ::std::option::Option<crate::types::AppSecurityGroupManagement>,
37 /// <p>Indicates whether custom tag propagation is supported for the domain. Defaults to <code>DISABLED</code>.</p>
38 pub tag_propagation: ::std::option::Option<crate::types::TagPropagation>,
39 /// <p>The default settings for shared spaces that users create in the domain.</p>
40 pub default_space_settings: ::std::option::Option<crate::types::DefaultSpaceSettings>,
41}
42impl CreateDomainInput {
43 /// <p>A name for the domain.</p>
44 pub fn domain_name(&self) -> ::std::option::Option<&str> {
45 self.domain_name.as_deref()
46 }
47 /// <p>The mode of authentication that members use to access the domain.</p>
48 pub fn auth_mode(&self) -> ::std::option::Option<&crate::types::AuthMode> {
49 self.auth_mode.as_ref()
50 }
51 /// <p>The default settings to use to create a user profile when <code>UserSettings</code> isn't specified in the call to the <code>CreateUserProfile</code> API.</p>
52 /// <p><code>SecurityGroups</code> is aggregated when specified in both calls. For all other settings in <code>UserSettings</code>, the values specified in <code>CreateUserProfile</code> take precedence over those specified in <code>CreateDomain</code>.</p>
53 pub fn default_user_settings(&self) -> ::std::option::Option<&crate::types::UserSettings> {
54 self.default_user_settings.as_ref()
55 }
56 /// <p>A collection of <code>Domain</code> settings.</p>
57 pub fn domain_settings(&self) -> ::std::option::Option<&crate::types::DomainSettings> {
58 self.domain_settings.as_ref()
59 }
60 /// <p>The VPC subnets that the domain uses for communication.</p>
61 ///
62 /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.subnet_ids.is_none()`.
63 pub fn subnet_ids(&self) -> &[::std::string::String] {
64 self.subnet_ids.as_deref().unwrap_or_default()
65 }
66 /// <p>The ID of the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.</p>
67 pub fn vpc_id(&self) -> ::std::option::Option<&str> {
68 self.vpc_id.as_deref()
69 }
70 /// <p>Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the <code>Search</code> API.</p>
71 /// <p>Tags that you specify for the Domain are also added to all Apps that the Domain launches.</p>
72 ///
73 /// 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()`.
74 pub fn tags(&self) -> &[crate::types::Tag] {
75 self.tags.as_deref().unwrap_or_default()
76 }
77 /// <p>Specifies the VPC used for non-EFS traffic. The default value is <code>PublicInternetOnly</code>.</p>
78 /// <ul>
79 /// <li>
80 /// <p><code>PublicInternetOnly</code> - Non-EFS traffic is through a VPC managed by Amazon SageMaker AI, which allows direct internet access</p></li>
81 /// <li>
82 /// <p><code>VpcOnly</code> - All traffic is through the specified VPC and subnets</p></li>
83 /// </ul>
84 pub fn app_network_access_type(&self) -> ::std::option::Option<&crate::types::AppNetworkAccessType> {
85 self.app_network_access_type.as_ref()
86 }
87 /// <p>Use <code>KmsKeyId</code>.</p>
88 #[deprecated(note = "This property is deprecated, use KmsKeyId instead.")]
89 pub fn home_efs_file_system_kms_key_id(&self) -> ::std::option::Option<&str> {
90 self.home_efs_file_system_kms_key_id.as_deref()
91 }
92 /// <p>SageMaker AI uses Amazon Web Services KMS to encrypt EFS and EBS volumes attached to the domain with an Amazon Web Services managed key by default. For more control, specify a customer managed key.</p>
93 pub fn kms_key_id(&self) -> ::std::option::Option<&str> {
94 self.kms_key_id.as_deref()
95 }
96 /// <p>The entity that creates and manages the required security groups for inter-app communication in <code>VPCOnly</code> mode. Required when <code>CreateDomain.AppNetworkAccessType</code> is <code>VPCOnly</code> and <code>DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn</code> is provided. If setting up the domain for use with RStudio, this value must be set to <code>Service</code>.</p>
97 pub fn app_security_group_management(&self) -> ::std::option::Option<&crate::types::AppSecurityGroupManagement> {
98 self.app_security_group_management.as_ref()
99 }
100 /// <p>Indicates whether custom tag propagation is supported for the domain. Defaults to <code>DISABLED</code>.</p>
101 pub fn tag_propagation(&self) -> ::std::option::Option<&crate::types::TagPropagation> {
102 self.tag_propagation.as_ref()
103 }
104 /// <p>The default settings for shared spaces that users create in the domain.</p>
105 pub fn default_space_settings(&self) -> ::std::option::Option<&crate::types::DefaultSpaceSettings> {
106 self.default_space_settings.as_ref()
107 }
108}
109impl CreateDomainInput {
110 /// Creates a new builder-style object to manufacture [`CreateDomainInput`](crate::operation::create_domain::CreateDomainInput).
111 pub fn builder() -> crate::operation::create_domain::builders::CreateDomainInputBuilder {
112 crate::operation::create_domain::builders::CreateDomainInputBuilder::default()
113 }
114}
115
116/// A builder for [`CreateDomainInput`](crate::operation::create_domain::CreateDomainInput).
117#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
118#[non_exhaustive]
119pub struct CreateDomainInputBuilder {
120 pub(crate) domain_name: ::std::option::Option<::std::string::String>,
121 pub(crate) auth_mode: ::std::option::Option<crate::types::AuthMode>,
122 pub(crate) default_user_settings: ::std::option::Option<crate::types::UserSettings>,
123 pub(crate) domain_settings: ::std::option::Option<crate::types::DomainSettings>,
124 pub(crate) subnet_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
125 pub(crate) vpc_id: ::std::option::Option<::std::string::String>,
126 pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
127 pub(crate) app_network_access_type: ::std::option::Option<crate::types::AppNetworkAccessType>,
128 pub(crate) home_efs_file_system_kms_key_id: ::std::option::Option<::std::string::String>,
129 pub(crate) kms_key_id: ::std::option::Option<::std::string::String>,
130 pub(crate) app_security_group_management: ::std::option::Option<crate::types::AppSecurityGroupManagement>,
131 pub(crate) tag_propagation: ::std::option::Option<crate::types::TagPropagation>,
132 pub(crate) default_space_settings: ::std::option::Option<crate::types::DefaultSpaceSettings>,
133}
134impl CreateDomainInputBuilder {
135 /// <p>A name for the domain.</p>
136 /// This field is required.
137 pub fn domain_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
138 self.domain_name = ::std::option::Option::Some(input.into());
139 self
140 }
141 /// <p>A name for the domain.</p>
142 pub fn set_domain_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
143 self.domain_name = input;
144 self
145 }
146 /// <p>A name for the domain.</p>
147 pub fn get_domain_name(&self) -> &::std::option::Option<::std::string::String> {
148 &self.domain_name
149 }
150 /// <p>The mode of authentication that members use to access the domain.</p>
151 /// This field is required.
152 pub fn auth_mode(mut self, input: crate::types::AuthMode) -> Self {
153 self.auth_mode = ::std::option::Option::Some(input);
154 self
155 }
156 /// <p>The mode of authentication that members use to access the domain.</p>
157 pub fn set_auth_mode(mut self, input: ::std::option::Option<crate::types::AuthMode>) -> Self {
158 self.auth_mode = input;
159 self
160 }
161 /// <p>The mode of authentication that members use to access the domain.</p>
162 pub fn get_auth_mode(&self) -> &::std::option::Option<crate::types::AuthMode> {
163 &self.auth_mode
164 }
165 /// <p>The default settings to use to create a user profile when <code>UserSettings</code> isn't specified in the call to the <code>CreateUserProfile</code> API.</p>
166 /// <p><code>SecurityGroups</code> is aggregated when specified in both calls. For all other settings in <code>UserSettings</code>, the values specified in <code>CreateUserProfile</code> take precedence over those specified in <code>CreateDomain</code>.</p>
167 /// This field is required.
168 pub fn default_user_settings(mut self, input: crate::types::UserSettings) -> Self {
169 self.default_user_settings = ::std::option::Option::Some(input);
170 self
171 }
172 /// <p>The default settings to use to create a user profile when <code>UserSettings</code> isn't specified in the call to the <code>CreateUserProfile</code> API.</p>
173 /// <p><code>SecurityGroups</code> is aggregated when specified in both calls. For all other settings in <code>UserSettings</code>, the values specified in <code>CreateUserProfile</code> take precedence over those specified in <code>CreateDomain</code>.</p>
174 pub fn set_default_user_settings(mut self, input: ::std::option::Option<crate::types::UserSettings>) -> Self {
175 self.default_user_settings = input;
176 self
177 }
178 /// <p>The default settings to use to create a user profile when <code>UserSettings</code> isn't specified in the call to the <code>CreateUserProfile</code> API.</p>
179 /// <p><code>SecurityGroups</code> is aggregated when specified in both calls. For all other settings in <code>UserSettings</code>, the values specified in <code>CreateUserProfile</code> take precedence over those specified in <code>CreateDomain</code>.</p>
180 pub fn get_default_user_settings(&self) -> &::std::option::Option<crate::types::UserSettings> {
181 &self.default_user_settings
182 }
183 /// <p>A collection of <code>Domain</code> settings.</p>
184 pub fn domain_settings(mut self, input: crate::types::DomainSettings) -> Self {
185 self.domain_settings = ::std::option::Option::Some(input);
186 self
187 }
188 /// <p>A collection of <code>Domain</code> settings.</p>
189 pub fn set_domain_settings(mut self, input: ::std::option::Option<crate::types::DomainSettings>) -> Self {
190 self.domain_settings = input;
191 self
192 }
193 /// <p>A collection of <code>Domain</code> settings.</p>
194 pub fn get_domain_settings(&self) -> &::std::option::Option<crate::types::DomainSettings> {
195 &self.domain_settings
196 }
197 /// Appends an item to `subnet_ids`.
198 ///
199 /// To override the contents of this collection use [`set_subnet_ids`](Self::set_subnet_ids).
200 ///
201 /// <p>The VPC subnets that the domain uses for communication.</p>
202 pub fn subnet_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
203 let mut v = self.subnet_ids.unwrap_or_default();
204 v.push(input.into());
205 self.subnet_ids = ::std::option::Option::Some(v);
206 self
207 }
208 /// <p>The VPC subnets that the domain uses for communication.</p>
209 pub fn set_subnet_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
210 self.subnet_ids = input;
211 self
212 }
213 /// <p>The VPC subnets that the domain uses for communication.</p>
214 pub fn get_subnet_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
215 &self.subnet_ids
216 }
217 /// <p>The ID of the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.</p>
218 pub fn vpc_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
219 self.vpc_id = ::std::option::Option::Some(input.into());
220 self
221 }
222 /// <p>The ID of the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.</p>
223 pub fn set_vpc_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
224 self.vpc_id = input;
225 self
226 }
227 /// <p>The ID of the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.</p>
228 pub fn get_vpc_id(&self) -> &::std::option::Option<::std::string::String> {
229 &self.vpc_id
230 }
231 /// Appends an item to `tags`.
232 ///
233 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
234 ///
235 /// <p>Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the <code>Search</code> API.</p>
236 /// <p>Tags that you specify for the Domain are also added to all Apps that the Domain launches.</p>
237 pub fn tags(mut self, input: crate::types::Tag) -> Self {
238 let mut v = self.tags.unwrap_or_default();
239 v.push(input);
240 self.tags = ::std::option::Option::Some(v);
241 self
242 }
243 /// <p>Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the <code>Search</code> API.</p>
244 /// <p>Tags that you specify for the Domain are also added to all Apps that the Domain launches.</p>
245 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
246 self.tags = input;
247 self
248 }
249 /// <p>Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the <code>Search</code> API.</p>
250 /// <p>Tags that you specify for the Domain are also added to all Apps that the Domain launches.</p>
251 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
252 &self.tags
253 }
254 /// <p>Specifies the VPC used for non-EFS traffic. The default value is <code>PublicInternetOnly</code>.</p>
255 /// <ul>
256 /// <li>
257 /// <p><code>PublicInternetOnly</code> - Non-EFS traffic is through a VPC managed by Amazon SageMaker AI, which allows direct internet access</p></li>
258 /// <li>
259 /// <p><code>VpcOnly</code> - All traffic is through the specified VPC and subnets</p></li>
260 /// </ul>
261 pub fn app_network_access_type(mut self, input: crate::types::AppNetworkAccessType) -> Self {
262 self.app_network_access_type = ::std::option::Option::Some(input);
263 self
264 }
265 /// <p>Specifies the VPC used for non-EFS traffic. The default value is <code>PublicInternetOnly</code>.</p>
266 /// <ul>
267 /// <li>
268 /// <p><code>PublicInternetOnly</code> - Non-EFS traffic is through a VPC managed by Amazon SageMaker AI, which allows direct internet access</p></li>
269 /// <li>
270 /// <p><code>VpcOnly</code> - All traffic is through the specified VPC and subnets</p></li>
271 /// </ul>
272 pub fn set_app_network_access_type(mut self, input: ::std::option::Option<crate::types::AppNetworkAccessType>) -> Self {
273 self.app_network_access_type = input;
274 self
275 }
276 /// <p>Specifies the VPC used for non-EFS traffic. The default value is <code>PublicInternetOnly</code>.</p>
277 /// <ul>
278 /// <li>
279 /// <p><code>PublicInternetOnly</code> - Non-EFS traffic is through a VPC managed by Amazon SageMaker AI, which allows direct internet access</p></li>
280 /// <li>
281 /// <p><code>VpcOnly</code> - All traffic is through the specified VPC and subnets</p></li>
282 /// </ul>
283 pub fn get_app_network_access_type(&self) -> &::std::option::Option<crate::types::AppNetworkAccessType> {
284 &self.app_network_access_type
285 }
286 /// <p>Use <code>KmsKeyId</code>.</p>
287 #[deprecated(note = "This property is deprecated, use KmsKeyId instead.")]
288 pub fn home_efs_file_system_kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
289 self.home_efs_file_system_kms_key_id = ::std::option::Option::Some(input.into());
290 self
291 }
292 /// <p>Use <code>KmsKeyId</code>.</p>
293 #[deprecated(note = "This property is deprecated, use KmsKeyId instead.")]
294 pub fn set_home_efs_file_system_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
295 self.home_efs_file_system_kms_key_id = input;
296 self
297 }
298 /// <p>Use <code>KmsKeyId</code>.</p>
299 #[deprecated(note = "This property is deprecated, use KmsKeyId instead.")]
300 pub fn get_home_efs_file_system_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
301 &self.home_efs_file_system_kms_key_id
302 }
303 /// <p>SageMaker AI uses Amazon Web Services KMS to encrypt EFS and EBS volumes attached to the domain with an Amazon Web Services managed key by default. For more control, specify a customer managed key.</p>
304 pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
305 self.kms_key_id = ::std::option::Option::Some(input.into());
306 self
307 }
308 /// <p>SageMaker AI uses Amazon Web Services KMS to encrypt EFS and EBS volumes attached to the domain with an Amazon Web Services managed key by default. For more control, specify a customer managed key.</p>
309 pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
310 self.kms_key_id = input;
311 self
312 }
313 /// <p>SageMaker AI uses Amazon Web Services KMS to encrypt EFS and EBS volumes attached to the domain with an Amazon Web Services managed key by default. For more control, specify a customer managed key.</p>
314 pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
315 &self.kms_key_id
316 }
317 /// <p>The entity that creates and manages the required security groups for inter-app communication in <code>VPCOnly</code> mode. Required when <code>CreateDomain.AppNetworkAccessType</code> is <code>VPCOnly</code> and <code>DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn</code> is provided. If setting up the domain for use with RStudio, this value must be set to <code>Service</code>.</p>
318 pub fn app_security_group_management(mut self, input: crate::types::AppSecurityGroupManagement) -> Self {
319 self.app_security_group_management = ::std::option::Option::Some(input);
320 self
321 }
322 /// <p>The entity that creates and manages the required security groups for inter-app communication in <code>VPCOnly</code> mode. Required when <code>CreateDomain.AppNetworkAccessType</code> is <code>VPCOnly</code> and <code>DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn</code> is provided. If setting up the domain for use with RStudio, this value must be set to <code>Service</code>.</p>
323 pub fn set_app_security_group_management(mut self, input: ::std::option::Option<crate::types::AppSecurityGroupManagement>) -> Self {
324 self.app_security_group_management = input;
325 self
326 }
327 /// <p>The entity that creates and manages the required security groups for inter-app communication in <code>VPCOnly</code> mode. Required when <code>CreateDomain.AppNetworkAccessType</code> is <code>VPCOnly</code> and <code>DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn</code> is provided. If setting up the domain for use with RStudio, this value must be set to <code>Service</code>.</p>
328 pub fn get_app_security_group_management(&self) -> &::std::option::Option<crate::types::AppSecurityGroupManagement> {
329 &self.app_security_group_management
330 }
331 /// <p>Indicates whether custom tag propagation is supported for the domain. Defaults to <code>DISABLED</code>.</p>
332 pub fn tag_propagation(mut self, input: crate::types::TagPropagation) -> Self {
333 self.tag_propagation = ::std::option::Option::Some(input);
334 self
335 }
336 /// <p>Indicates whether custom tag propagation is supported for the domain. Defaults to <code>DISABLED</code>.</p>
337 pub fn set_tag_propagation(mut self, input: ::std::option::Option<crate::types::TagPropagation>) -> Self {
338 self.tag_propagation = input;
339 self
340 }
341 /// <p>Indicates whether custom tag propagation is supported for the domain. Defaults to <code>DISABLED</code>.</p>
342 pub fn get_tag_propagation(&self) -> &::std::option::Option<crate::types::TagPropagation> {
343 &self.tag_propagation
344 }
345 /// <p>The default settings for shared spaces that users create in the domain.</p>
346 pub fn default_space_settings(mut self, input: crate::types::DefaultSpaceSettings) -> Self {
347 self.default_space_settings = ::std::option::Option::Some(input);
348 self
349 }
350 /// <p>The default settings for shared spaces that users create in the domain.</p>
351 pub fn set_default_space_settings(mut self, input: ::std::option::Option<crate::types::DefaultSpaceSettings>) -> Self {
352 self.default_space_settings = input;
353 self
354 }
355 /// <p>The default settings for shared spaces that users create in the domain.</p>
356 pub fn get_default_space_settings(&self) -> &::std::option::Option<crate::types::DefaultSpaceSettings> {
357 &self.default_space_settings
358 }
359 /// Consumes the builder and constructs a [`CreateDomainInput`](crate::operation::create_domain::CreateDomainInput).
360 pub fn build(
361 self,
362 ) -> ::std::result::Result<crate::operation::create_domain::CreateDomainInput, ::aws_smithy_types::error::operation::BuildError> {
363 ::std::result::Result::Ok(crate::operation::create_domain::CreateDomainInput {
364 domain_name: self.domain_name,
365 auth_mode: self.auth_mode,
366 default_user_settings: self.default_user_settings,
367 domain_settings: self.domain_settings,
368 subnet_ids: self.subnet_ids,
369 vpc_id: self.vpc_id,
370 tags: self.tags,
371 app_network_access_type: self.app_network_access_type,
372 home_efs_file_system_kms_key_id: self.home_efs_file_system_kms_key_id,
373 kms_key_id: self.kms_key_id,
374 app_security_group_management: self.app_security_group_management,
375 tag_propagation: self.tag_propagation,
376 default_space_settings: self.default_space_settings,
377 })
378 }
379}