aws_sdk_sagemaker/operation/update_notebook_instance/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_notebook_instance::_update_notebook_instance_input::UpdateNotebookInstanceInputBuilder;
3
4pub use crate::operation::update_notebook_instance::_update_notebook_instance_output::UpdateNotebookInstanceOutputBuilder;
5
6impl crate::operation::update_notebook_instance::builders::UpdateNotebookInstanceInputBuilder {
7 /// Sends a request with this input using the given client.
8 pub async fn send_with(
9 self,
10 client: &crate::Client,
11 ) -> ::std::result::Result<
12 crate::operation::update_notebook_instance::UpdateNotebookInstanceOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::update_notebook_instance::UpdateNotebookInstanceError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.update_notebook_instance();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `UpdateNotebookInstance`.
24///
25/// <p>Updates a notebook instance. NotebookInstance updates include upgrading or downgrading the ML compute instance used for your notebook instance to accommodate changes in your workload requirements.</p><note>
26/// <p>This API can attach lifecycle configurations to notebook instances. Lifecycle configuration scripts execute with root access and the notebook instance's IAM execution role privileges. Principals with this permission and access to lifecycle configurations can execute code with the execution role's credentials. See <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html">Customize a Notebook Instance Using a Lifecycle Configuration Script</a> for security best practices.</p>
27/// </note>
28#[derive(::std::clone::Clone, ::std::fmt::Debug)]
29pub struct UpdateNotebookInstanceFluentBuilder {
30 handle: ::std::sync::Arc<crate::client::Handle>,
31 inner: crate::operation::update_notebook_instance::builders::UpdateNotebookInstanceInputBuilder,
32 config_override: ::std::option::Option<crate::config::Builder>,
33}
34impl
35 crate::client::customize::internal::CustomizableSend<
36 crate::operation::update_notebook_instance::UpdateNotebookInstanceOutput,
37 crate::operation::update_notebook_instance::UpdateNotebookInstanceError,
38 > for UpdateNotebookInstanceFluentBuilder
39{
40 fn send(
41 self,
42 config_override: crate::config::Builder,
43 ) -> crate::client::customize::internal::BoxFuture<
44 crate::client::customize::internal::SendResult<
45 crate::operation::update_notebook_instance::UpdateNotebookInstanceOutput,
46 crate::operation::update_notebook_instance::UpdateNotebookInstanceError,
47 >,
48 > {
49 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
50 }
51}
52impl UpdateNotebookInstanceFluentBuilder {
53 /// Creates a new `UpdateNotebookInstanceFluentBuilder`.
54 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
55 Self {
56 handle,
57 inner: ::std::default::Default::default(),
58 config_override: ::std::option::Option::None,
59 }
60 }
61 /// Access the UpdateNotebookInstance as a reference.
62 pub fn as_input(&self) -> &crate::operation::update_notebook_instance::builders::UpdateNotebookInstanceInputBuilder {
63 &self.inner
64 }
65 /// Sends the request and returns the response.
66 ///
67 /// If an error occurs, an `SdkError` will be returned with additional details that
68 /// can be matched against.
69 ///
70 /// By default, any retryable failures will be retried twice. Retry behavior
71 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
72 /// set when configuring the client.
73 pub async fn send(
74 self,
75 ) -> ::std::result::Result<
76 crate::operation::update_notebook_instance::UpdateNotebookInstanceOutput,
77 ::aws_smithy_runtime_api::client::result::SdkError<
78 crate::operation::update_notebook_instance::UpdateNotebookInstanceError,
79 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
80 >,
81 > {
82 let input = self
83 .inner
84 .build()
85 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
86 let runtime_plugins = crate::operation::update_notebook_instance::UpdateNotebookInstance::operation_runtime_plugins(
87 self.handle.runtime_plugins.clone(),
88 &self.handle.conf,
89 self.config_override,
90 );
91 crate::operation::update_notebook_instance::UpdateNotebookInstance::orchestrate(&runtime_plugins, input).await
92 }
93
94 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
95 pub fn customize(
96 self,
97 ) -> crate::client::customize::CustomizableOperation<
98 crate::operation::update_notebook_instance::UpdateNotebookInstanceOutput,
99 crate::operation::update_notebook_instance::UpdateNotebookInstanceError,
100 Self,
101 > {
102 crate::client::customize::CustomizableOperation::new(self)
103 }
104 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
105 self.set_config_override(::std::option::Option::Some(config_override.into()));
106 self
107 }
108
109 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
110 self.config_override = config_override;
111 self
112 }
113 /// <p>The name of the notebook instance to update.</p>
114 pub fn notebook_instance_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
115 self.inner = self.inner.notebook_instance_name(input.into());
116 self
117 }
118 /// <p>The name of the notebook instance to update.</p>
119 pub fn set_notebook_instance_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
120 self.inner = self.inner.set_notebook_instance_name(input);
121 self
122 }
123 /// <p>The name of the notebook instance to update.</p>
124 pub fn get_notebook_instance_name(&self) -> &::std::option::Option<::std::string::String> {
125 self.inner.get_notebook_instance_name()
126 }
127 /// <p>The Amazon ML compute instance type.</p>
128 pub fn instance_type(mut self, input: crate::types::InstanceType) -> Self {
129 self.inner = self.inner.instance_type(input);
130 self
131 }
132 /// <p>The Amazon ML compute instance type.</p>
133 pub fn set_instance_type(mut self, input: ::std::option::Option<crate::types::InstanceType>) -> Self {
134 self.inner = self.inner.set_instance_type(input);
135 self
136 }
137 /// <p>The Amazon ML compute instance type.</p>
138 pub fn get_instance_type(&self) -> &::std::option::Option<crate::types::InstanceType> {
139 self.inner.get_instance_type()
140 }
141 /// <p>The IP address type for the notebook instance. Specify <code>ipv4</code> for IPv4-only connectivity or <code>dualstack</code> for both IPv4 and IPv6 connectivity. The notebook instance must be stopped before updating this setting. When you specify <code>dualstack</code>, the subnet must support IPv6 addressing.</p>
142 pub fn ip_address_type(mut self, input: crate::types::IpAddressType) -> Self {
143 self.inner = self.inner.ip_address_type(input);
144 self
145 }
146 /// <p>The IP address type for the notebook instance. Specify <code>ipv4</code> for IPv4-only connectivity or <code>dualstack</code> for both IPv4 and IPv6 connectivity. The notebook instance must be stopped before updating this setting. When you specify <code>dualstack</code>, the subnet must support IPv6 addressing.</p>
147 pub fn set_ip_address_type(mut self, input: ::std::option::Option<crate::types::IpAddressType>) -> Self {
148 self.inner = self.inner.set_ip_address_type(input);
149 self
150 }
151 /// <p>The IP address type for the notebook instance. Specify <code>ipv4</code> for IPv4-only connectivity or <code>dualstack</code> for both IPv4 and IPv6 connectivity. The notebook instance must be stopped before updating this setting. When you specify <code>dualstack</code>, the subnet must support IPv6 addressing.</p>
152 pub fn get_ip_address_type(&self) -> &::std::option::Option<crate::types::IpAddressType> {
153 self.inner.get_ip_address_type()
154 }
155 /// <p>The platform identifier of the notebook instance runtime environment.</p>
156 pub fn platform_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
157 self.inner = self.inner.platform_identifier(input.into());
158 self
159 }
160 /// <p>The platform identifier of the notebook instance runtime environment.</p>
161 pub fn set_platform_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
162 self.inner = self.inner.set_platform_identifier(input);
163 self
164 }
165 /// <p>The platform identifier of the notebook instance runtime environment.</p>
166 pub fn get_platform_identifier(&self) -> &::std::option::Option<::std::string::String> {
167 self.inner.get_platform_identifier()
168 }
169 /// <p>The Amazon Resource Name (ARN) of the IAM role that SageMaker AI can assume to access the notebook instance. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html">SageMaker AI Roles</a>.</p><note>
170 /// <p>To be able to pass this role to SageMaker AI, the caller of this API must have the <code>iam:PassRole</code> permission.</p>
171 /// </note>
172 pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
173 self.inner = self.inner.role_arn(input.into());
174 self
175 }
176 /// <p>The Amazon Resource Name (ARN) of the IAM role that SageMaker AI can assume to access the notebook instance. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html">SageMaker AI Roles</a>.</p><note>
177 /// <p>To be able to pass this role to SageMaker AI, the caller of this API must have the <code>iam:PassRole</code> permission.</p>
178 /// </note>
179 pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
180 self.inner = self.inner.set_role_arn(input);
181 self
182 }
183 /// <p>The Amazon Resource Name (ARN) of the IAM role that SageMaker AI can assume to access the notebook instance. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html">SageMaker AI Roles</a>.</p><note>
184 /// <p>To be able to pass this role to SageMaker AI, the caller of this API must have the <code>iam:PassRole</code> permission.</p>
185 /// </note>
186 pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
187 self.inner.get_role_arn()
188 }
189 /// <p>The name of a lifecycle configuration to associate with the notebook instance. For information about lifestyle configurations, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html">Step 2.1: (Optional) Customize a Notebook Instance</a>.</p>
190 pub fn lifecycle_config_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
191 self.inner = self.inner.lifecycle_config_name(input.into());
192 self
193 }
194 /// <p>The name of a lifecycle configuration to associate with the notebook instance. For information about lifestyle configurations, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html">Step 2.1: (Optional) Customize a Notebook Instance</a>.</p>
195 pub fn set_lifecycle_config_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
196 self.inner = self.inner.set_lifecycle_config_name(input);
197 self
198 }
199 /// <p>The name of a lifecycle configuration to associate with the notebook instance. For information about lifestyle configurations, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html">Step 2.1: (Optional) Customize a Notebook Instance</a>.</p>
200 pub fn get_lifecycle_config_name(&self) -> &::std::option::Option<::std::string::String> {
201 self.inner.get_lifecycle_config_name()
202 }
203 /// <p>Set to <code>true</code> to remove the notebook instance lifecycle configuration currently associated with the notebook instance. This operation is idempotent. If you specify a lifecycle configuration that is not associated with the notebook instance when you call this method, it does not throw an error.</p>
204 pub fn disassociate_lifecycle_config(mut self, input: bool) -> Self {
205 self.inner = self.inner.disassociate_lifecycle_config(input);
206 self
207 }
208 /// <p>Set to <code>true</code> to remove the notebook instance lifecycle configuration currently associated with the notebook instance. This operation is idempotent. If you specify a lifecycle configuration that is not associated with the notebook instance when you call this method, it does not throw an error.</p>
209 pub fn set_disassociate_lifecycle_config(mut self, input: ::std::option::Option<bool>) -> Self {
210 self.inner = self.inner.set_disassociate_lifecycle_config(input);
211 self
212 }
213 /// <p>Set to <code>true</code> to remove the notebook instance lifecycle configuration currently associated with the notebook instance. This operation is idempotent. If you specify a lifecycle configuration that is not associated with the notebook instance when you call this method, it does not throw an error.</p>
214 pub fn get_disassociate_lifecycle_config(&self) -> &::std::option::Option<bool> {
215 self.inner.get_disassociate_lifecycle_config()
216 }
217 /// <p>The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB. ML storage volumes are encrypted, so SageMaker AI can't determine the amount of available free space on the volume. Because of this, you can increase the volume size when you update a notebook instance, but you can't decrease the volume size. If you want to decrease the size of the ML storage volume in use, create a new notebook instance with the desired size.</p>
218 pub fn volume_size_in_gb(mut self, input: i32) -> Self {
219 self.inner = self.inner.volume_size_in_gb(input);
220 self
221 }
222 /// <p>The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB. ML storage volumes are encrypted, so SageMaker AI can't determine the amount of available free space on the volume. Because of this, you can increase the volume size when you update a notebook instance, but you can't decrease the volume size. If you want to decrease the size of the ML storage volume in use, create a new notebook instance with the desired size.</p>
223 pub fn set_volume_size_in_gb(mut self, input: ::std::option::Option<i32>) -> Self {
224 self.inner = self.inner.set_volume_size_in_gb(input);
225 self
226 }
227 /// <p>The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB. ML storage volumes are encrypted, so SageMaker AI can't determine the amount of available free space on the volume. Because of this, you can increase the volume size when you update a notebook instance, but you can't decrease the volume size. If you want to decrease the size of the ML storage volume in use, create a new notebook instance with the desired size.</p>
228 pub fn get_volume_size_in_gb(&self) -> &::std::option::Option<i32> {
229 self.inner.get_volume_size_in_gb()
230 }
231 /// <p>The Git repository to associate with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in <a href="https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html">Amazon Web Services CodeCommit</a> or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html">Associating Git Repositories with SageMaker AI Notebook Instances</a>.</p>
232 pub fn default_code_repository(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
233 self.inner = self.inner.default_code_repository(input.into());
234 self
235 }
236 /// <p>The Git repository to associate with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in <a href="https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html">Amazon Web Services CodeCommit</a> or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html">Associating Git Repositories with SageMaker AI Notebook Instances</a>.</p>
237 pub fn set_default_code_repository(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
238 self.inner = self.inner.set_default_code_repository(input);
239 self
240 }
241 /// <p>The Git repository to associate with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in <a href="https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html">Amazon Web Services CodeCommit</a> or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html">Associating Git Repositories with SageMaker AI Notebook Instances</a>.</p>
242 pub fn get_default_code_repository(&self) -> &::std::option::Option<::std::string::String> {
243 self.inner.get_default_code_repository()
244 }
245 ///
246 /// Appends an item to `AdditionalCodeRepositories`.
247 ///
248 /// To override the contents of this collection use [`set_additional_code_repositories`](Self::set_additional_code_repositories).
249 ///
250 /// <p>An array of up to three Git repositories to associate with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in <a href="https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html">Amazon Web Services CodeCommit</a> or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html">Associating Git Repositories with SageMaker AI Notebook Instances</a>.</p>
251 pub fn additional_code_repositories(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
252 self.inner = self.inner.additional_code_repositories(input.into());
253 self
254 }
255 /// <p>An array of up to three Git repositories to associate with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in <a href="https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html">Amazon Web Services CodeCommit</a> or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html">Associating Git Repositories with SageMaker AI Notebook Instances</a>.</p>
256 pub fn set_additional_code_repositories(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
257 self.inner = self.inner.set_additional_code_repositories(input);
258 self
259 }
260 /// <p>An array of up to three Git repositories to associate with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in <a href="https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html">Amazon Web Services CodeCommit</a> or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html">Associating Git Repositories with SageMaker AI Notebook Instances</a>.</p>
261 pub fn get_additional_code_repositories(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
262 self.inner.get_additional_code_repositories()
263 }
264 ///
265 /// Appends an item to `AcceleratorTypes`.
266 ///
267 /// To override the contents of this collection use [`set_accelerator_types`](Self::set_accelerator_types).
268 ///
269 /// <p>This parameter is no longer supported. Elastic Inference (EI) is no longer available.</p>
270 /// <p>This parameter was used to specify a list of the EI instance types to associate with this notebook instance.</p>
271 pub fn accelerator_types(mut self, input: crate::types::NotebookInstanceAcceleratorType) -> Self {
272 self.inner = self.inner.accelerator_types(input);
273 self
274 }
275 /// <p>This parameter is no longer supported. Elastic Inference (EI) is no longer available.</p>
276 /// <p>This parameter was used to specify a list of the EI instance types to associate with this notebook instance.</p>
277 pub fn set_accelerator_types(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::NotebookInstanceAcceleratorType>>) -> Self {
278 self.inner = self.inner.set_accelerator_types(input);
279 self
280 }
281 /// <p>This parameter is no longer supported. Elastic Inference (EI) is no longer available.</p>
282 /// <p>This parameter was used to specify a list of the EI instance types to associate with this notebook instance.</p>
283 pub fn get_accelerator_types(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::NotebookInstanceAcceleratorType>> {
284 self.inner.get_accelerator_types()
285 }
286 /// <p>This parameter is no longer supported. Elastic Inference (EI) is no longer available.</p>
287 /// <p>This parameter was used to specify a list of the EI instance types to remove from this notebook instance.</p>
288 pub fn disassociate_accelerator_types(mut self, input: bool) -> Self {
289 self.inner = self.inner.disassociate_accelerator_types(input);
290 self
291 }
292 /// <p>This parameter is no longer supported. Elastic Inference (EI) is no longer available.</p>
293 /// <p>This parameter was used to specify a list of the EI instance types to remove from this notebook instance.</p>
294 pub fn set_disassociate_accelerator_types(mut self, input: ::std::option::Option<bool>) -> Self {
295 self.inner = self.inner.set_disassociate_accelerator_types(input);
296 self
297 }
298 /// <p>This parameter is no longer supported. Elastic Inference (EI) is no longer available.</p>
299 /// <p>This parameter was used to specify a list of the EI instance types to remove from this notebook instance.</p>
300 pub fn get_disassociate_accelerator_types(&self) -> &::std::option::Option<bool> {
301 self.inner.get_disassociate_accelerator_types()
302 }
303 /// <p>The name or URL of the default Git repository to remove from this notebook instance. This operation is idempotent. If you specify a Git repository that is not associated with the notebook instance when you call this method, it does not throw an error.</p>
304 pub fn disassociate_default_code_repository(mut self, input: bool) -> Self {
305 self.inner = self.inner.disassociate_default_code_repository(input);
306 self
307 }
308 /// <p>The name or URL of the default Git repository to remove from this notebook instance. This operation is idempotent. If you specify a Git repository that is not associated with the notebook instance when you call this method, it does not throw an error.</p>
309 pub fn set_disassociate_default_code_repository(mut self, input: ::std::option::Option<bool>) -> Self {
310 self.inner = self.inner.set_disassociate_default_code_repository(input);
311 self
312 }
313 /// <p>The name or URL of the default Git repository to remove from this notebook instance. This operation is idempotent. If you specify a Git repository that is not associated with the notebook instance when you call this method, it does not throw an error.</p>
314 pub fn get_disassociate_default_code_repository(&self) -> &::std::option::Option<bool> {
315 self.inner.get_disassociate_default_code_repository()
316 }
317 /// <p>A list of names or URLs of the default Git repositories to remove from this notebook instance. This operation is idempotent. If you specify a Git repository that is not associated with the notebook instance when you call this method, it does not throw an error.</p>
318 pub fn disassociate_additional_code_repositories(mut self, input: bool) -> Self {
319 self.inner = self.inner.disassociate_additional_code_repositories(input);
320 self
321 }
322 /// <p>A list of names or URLs of the default Git repositories to remove from this notebook instance. This operation is idempotent. If you specify a Git repository that is not associated with the notebook instance when you call this method, it does not throw an error.</p>
323 pub fn set_disassociate_additional_code_repositories(mut self, input: ::std::option::Option<bool>) -> Self {
324 self.inner = self.inner.set_disassociate_additional_code_repositories(input);
325 self
326 }
327 /// <p>A list of names or URLs of the default Git repositories to remove from this notebook instance. This operation is idempotent. If you specify a Git repository that is not associated with the notebook instance when you call this method, it does not throw an error.</p>
328 pub fn get_disassociate_additional_code_repositories(&self) -> &::std::option::Option<bool> {
329 self.inner.get_disassociate_additional_code_repositories()
330 }
331 /// <p>Whether root access is enabled or disabled for users of the notebook instance. The default value is <code>Enabled</code>.</p><note>
332 /// <p>If you set this to <code>Disabled</code>, users don't have root access on the notebook instance, but lifecycle configuration scripts still run with root permissions.</p>
333 /// </note>
334 pub fn root_access(mut self, input: crate::types::RootAccess) -> Self {
335 self.inner = self.inner.root_access(input);
336 self
337 }
338 /// <p>Whether root access is enabled or disabled for users of the notebook instance. The default value is <code>Enabled</code>.</p><note>
339 /// <p>If you set this to <code>Disabled</code>, users don't have root access on the notebook instance, but lifecycle configuration scripts still run with root permissions.</p>
340 /// </note>
341 pub fn set_root_access(mut self, input: ::std::option::Option<crate::types::RootAccess>) -> Self {
342 self.inner = self.inner.set_root_access(input);
343 self
344 }
345 /// <p>Whether root access is enabled or disabled for users of the notebook instance. The default value is <code>Enabled</code>.</p><note>
346 /// <p>If you set this to <code>Disabled</code>, users don't have root access on the notebook instance, but lifecycle configuration scripts still run with root permissions.</p>
347 /// </note>
348 pub fn get_root_access(&self) -> &::std::option::Option<crate::types::RootAccess> {
349 self.inner.get_root_access()
350 }
351 /// <p>Information on the IMDS configuration of the notebook instance</p>
352 pub fn instance_metadata_service_configuration(mut self, input: crate::types::InstanceMetadataServiceConfiguration) -> Self {
353 self.inner = self.inner.instance_metadata_service_configuration(input);
354 self
355 }
356 /// <p>Information on the IMDS configuration of the notebook instance</p>
357 pub fn set_instance_metadata_service_configuration(
358 mut self,
359 input: ::std::option::Option<crate::types::InstanceMetadataServiceConfiguration>,
360 ) -> Self {
361 self.inner = self.inner.set_instance_metadata_service_configuration(input);
362 self
363 }
364 /// <p>Information on the IMDS configuration of the notebook instance</p>
365 pub fn get_instance_metadata_service_configuration(&self) -> &::std::option::Option<crate::types::InstanceMetadataServiceConfiguration> {
366 self.inner.get_instance_metadata_service_configuration()
367 }
368}