createNotebookInstanceLifecycleConfig method
Creates a lifecycle configuration that you can associate with a notebook instance. A lifecycle configuration is a collection of shell scripts that run when you create or start a notebook instance.
Each lifecycle configuration script has a limit of 16384 characters.
The value of the $PATH environment variable that is available
to both scripts is /sbin:bin:/usr/sbin:/usr/bin.
View Amazon CloudWatch Logs for notebook instance lifecycle configurations
in log group /aws/sagemaker/NotebookInstances in log stream
[notebook-instance-name]/[LifecycleConfigHook].
Lifecycle configuration scripts cannot run for longer than 5 minutes. If a script runs for longer than 5 minutes, it fails and the notebook instance is not created or started.
For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.
May throw ResourceLimitExceeded.
Parameter notebookInstanceLifecycleConfigName :
The name of the lifecycle configuration.
Parameter onCreate :
A shell script that runs only once, when you create a notebook instance.
The shell script must be a base64-encoded string.
Parameter onStart :
A shell script that runs every time you start a notebook instance,
including when you create the notebook instance. The shell script must be
a base64-encoded string.
Parameter tags :
An array of key-value pairs. You can use tags to categorize your Amazon
Web Services resources in different ways, for example, by purpose, owner,
or environment. For more information, see Tagging
Amazon Web Services Resources.
Implementation
Future<CreateNotebookInstanceLifecycleConfigOutput>
createNotebookInstanceLifecycleConfig({
required String notebookInstanceLifecycleConfigName,
List<NotebookInstanceLifecycleHook>? onCreate,
List<NotebookInstanceLifecycleHook>? onStart,
List<Tag>? tags,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'SageMaker.CreateNotebookInstanceLifecycleConfig'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'NotebookInstanceLifecycleConfigName':
notebookInstanceLifecycleConfigName,
if (onCreate != null) 'OnCreate': onCreate,
if (onStart != null) 'OnStart': onStart,
if (tags != null) 'Tags': tags,
},
);
return CreateNotebookInstanceLifecycleConfigOutput.fromJson(
jsonResponse.body);
}