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 /// This field is required.
219 pub fn vpc_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
220 self.vpc_id = ::std::option::Option::Some(input.into());
221 self
222 }
223 /// <p>The ID of the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.</p>
224 pub fn set_vpc_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
225 self.vpc_id = input;
226 self
227 }
228 /// <p>The ID of the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.</p>
229 pub fn get_vpc_id(&self) -> &::std::option::Option<::std::string::String> {
230 &self.vpc_id
231 }
232 /// Appends an item to `tags`.
233 ///
234 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
235 ///
236 /// <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>
237 /// <p>Tags that you specify for the Domain are also added to all Apps that the Domain launches.</p>
238 pub fn tags(mut self, input: crate::types::Tag) -> Self {
239 let mut v = self.tags.unwrap_or_default();
240 v.push(input);
241 self.tags = ::std::option::Option::Some(v);
242 self
243 }
244 /// <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>
245 /// <p>Tags that you specify for the Domain are also added to all Apps that the Domain launches.</p>
246 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
247 self.tags = input;
248 self
249 }
250 /// <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>
251 /// <p>Tags that you specify for the Domain are also added to all Apps that the Domain launches.</p>
252 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
253 &self.tags
254 }
255 /// <p>Specifies the VPC used for non-EFS traffic. The default value is <code>PublicInternetOnly</code>.</p>
256 /// <ul>
257 /// <li>
258 /// <p><code>PublicInternetOnly</code> - Non-EFS traffic is through a VPC managed by Amazon SageMaker AI, which allows direct internet access</p></li>
259 /// <li>
260 /// <p><code>VpcOnly</code> - All traffic is through the specified VPC and subnets</p></li>
261 /// </ul>
262 pub fn app_network_access_type(mut self, input: crate::types::AppNetworkAccessType) -> Self {
263 self.app_network_access_type = ::std::option::Option::Some(input);
264 self
265 }
266 /// <p>Specifies the VPC used for non-EFS traffic. The default value is <code>PublicInternetOnly</code>.</p>
267 /// <ul>
268 /// <li>
269 /// <p><code>PublicInternetOnly</code> - Non-EFS traffic is through a VPC managed by Amazon SageMaker AI, which allows direct internet access</p></li>
270 /// <li>
271 /// <p><code>VpcOnly</code> - All traffic is through the specified VPC and subnets</p></li>
272 /// </ul>
273 pub fn set_app_network_access_type(mut self, input: ::std::option::Option<crate::types::AppNetworkAccessType>) -> Self {
274 self.app_network_access_type = input;
275 self
276 }
277 /// <p>Specifies the VPC used for non-EFS traffic. The default value is <code>PublicInternetOnly</code>.</p>
278 /// <ul>
279 /// <li>
280 /// <p><code>PublicInternetOnly</code> - Non-EFS traffic is through a VPC managed by Amazon SageMaker AI, which allows direct internet access</p></li>
281 /// <li>
282 /// <p><code>VpcOnly</code> - All traffic is through the specified VPC and subnets</p></li>
283 /// </ul>
284 pub fn get_app_network_access_type(&self) -> &::std::option::Option<crate::types::AppNetworkAccessType> {
285 &self.app_network_access_type
286 }
287 /// <p>Use <code>KmsKeyId</code>.</p>
288 #[deprecated(note = "This property is deprecated, use KmsKeyId instead.")]
289 pub fn home_efs_file_system_kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
290 self.home_efs_file_system_kms_key_id = ::std::option::Option::Some(input.into());
291 self
292 }
293 /// <p>Use <code>KmsKeyId</code>.</p>
294 #[deprecated(note = "This property is deprecated, use KmsKeyId instead.")]
295 pub fn set_home_efs_file_system_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
296 self.home_efs_file_system_kms_key_id = input;
297 self
298 }
299 /// <p>Use <code>KmsKeyId</code>.</p>
300 #[deprecated(note = "This property is deprecated, use KmsKeyId instead.")]
301 pub fn get_home_efs_file_system_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
302 &self.home_efs_file_system_kms_key_id
303 }
304 /// <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>
305 pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
306 self.kms_key_id = ::std::option::Option::Some(input.into());
307 self
308 }
309 /// <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>
310 pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
311 self.kms_key_id = input;
312 self
313 }
314 /// <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>
315 pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
316 &self.kms_key_id
317 }
318 /// <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>
319 pub fn app_security_group_management(mut self, input: crate::types::AppSecurityGroupManagement) -> Self {
320 self.app_security_group_management = ::std::option::Option::Some(input);
321 self
322 }
323 /// <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>
324 pub fn set_app_security_group_management(mut self, input: ::std::option::Option<crate::types::AppSecurityGroupManagement>) -> Self {
325 self.app_security_group_management = input;
326 self
327 }
328 /// <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>
329 pub fn get_app_security_group_management(&self) -> &::std::option::Option<crate::types::AppSecurityGroupManagement> {
330 &self.app_security_group_management
331 }
332 /// <p>Indicates whether custom tag propagation is supported for the domain. Defaults to <code>DISABLED</code>.</p>
333 pub fn tag_propagation(mut self, input: crate::types::TagPropagation) -> Self {
334 self.tag_propagation = ::std::option::Option::Some(input);
335 self
336 }
337 /// <p>Indicates whether custom tag propagation is supported for the domain. Defaults to <code>DISABLED</code>.</p>
338 pub fn set_tag_propagation(mut self, input: ::std::option::Option<crate::types::TagPropagation>) -> Self {
339 self.tag_propagation = input;
340 self
341 }
342 /// <p>Indicates whether custom tag propagation is supported for the domain. Defaults to <code>DISABLED</code>.</p>
343 pub fn get_tag_propagation(&self) -> &::std::option::Option<crate::types::TagPropagation> {
344 &self.tag_propagation
345 }
346 /// <p>The default settings for shared spaces that users create in the domain.</p>
347 pub fn default_space_settings(mut self, input: crate::types::DefaultSpaceSettings) -> Self {
348 self.default_space_settings = ::std::option::Option::Some(input);
349 self
350 }
351 /// <p>The default settings for shared spaces that users create in the domain.</p>
352 pub fn set_default_space_settings(mut self, input: ::std::option::Option<crate::types::DefaultSpaceSettings>) -> Self {
353 self.default_space_settings = input;
354 self
355 }
356 /// <p>The default settings for shared spaces that users create in the domain.</p>
357 pub fn get_default_space_settings(&self) -> &::std::option::Option<crate::types::DefaultSpaceSettings> {
358 &self.default_space_settings
359 }
360 /// Consumes the builder and constructs a [`CreateDomainInput`](crate::operation::create_domain::CreateDomainInput).
361 pub fn build(
362 self,
363 ) -> ::std::result::Result<crate::operation::create_domain::CreateDomainInput, ::aws_smithy_types::error::operation::BuildError> {
364 ::std::result::Result::Ok(crate::operation::create_domain::CreateDomainInput {
365 domain_name: self.domain_name,
366 auth_mode: self.auth_mode,
367 default_user_settings: self.default_user_settings,
368 domain_settings: self.domain_settings,
369 subnet_ids: self.subnet_ids,
370 vpc_id: self.vpc_id,
371 tags: self.tags,
372 app_network_access_type: self.app_network_access_type,
373 home_efs_file_system_kms_key_id: self.home_efs_file_system_kms_key_id,
374 kms_key_id: self.kms_key_id,
375 app_security_group_management: self.app_security_group_management,
376 tag_propagation: self.tag_propagation,
377 default_space_settings: self.default_space_settings,
378 })
379 }
380}