Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: CC-BY-SA-4.0

CreateNotebookInstanceLifecycleConfig

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 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.

{
   "[NotebookInstanceLifecycleConfigName](#SageMaker-CreateNotebookInstanceLifecycleConfig-request-NotebookInstanceLifecycleConfigName)": "string",
   "[OnCreate](#SageMaker-CreateNotebookInstanceLifecycleConfig-request-OnCreate)": [ 
      { 
         "[Content](API_NotebookInstanceLifecycleHook.md#SageMaker-Type-NotebookInstanceLifecycleHook-Content)": "string"
      }
   ],
   "[OnStart](#SageMaker-CreateNotebookInstanceLifecycleConfig-request-OnStart)": [ 
      { 
         "[Content](API_NotebookInstanceLifecycleHook.md#SageMaker-Type-NotebookInstanceLifecycleHook-Content)": "string"
      }
   ]
}

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

** NotebookInstanceLifecycleConfigName ** The name of the lifecycle configuration.
Type: String
Length Constraints: Maximum length of 63.
Pattern: ^[a-zA-Z0-9](-*[a-zA-Z0-9])*
Required: Yes

** OnCreate ** A shell script that runs only once, when you create a notebook instance. The shell script must be a base64-encoded string.
Type: Array of NotebookInstanceLifecycleHook objects
Array Members: Maximum number of 1 item.
Required: No

** 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.
Type: Array of NotebookInstanceLifecycleHook objects
Array Members: Maximum number of 1 item.
Required: No

{
   "[NotebookInstanceLifecycleConfigArn](#SageMaker-CreateNotebookInstanceLifecycleConfig-response-NotebookInstanceLifecycleConfigArn)": "string"
}

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

** NotebookInstanceLifecycleConfigArn ** The Amazon Resource Name (ARN) of the lifecycle configuration.
Type: String
Length Constraints: Maximum length of 256.

For information about the errors that are common to all actions, see Common Errors.

ResourceLimitExceeded
You have exceeded an Amazon SageMaker resource limit. For example, you might have too many training jobs created.
HTTP Status Code: 400

For more information about using this API in one of the language-specific AWS SDKs, see the following: + AWS Command Line Interface + AWS SDK for .NET + AWS SDK for C++ + AWS SDK for Go + AWS SDK for Go - Pilot + AWS SDK for Java + AWS SDK for JavaScript + AWS SDK for PHP V3 + AWS SDK for Python + AWS SDK for Ruby V2