Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.sagemaker.kotlin
import com.pulumi.aws.sagemaker.NotebookInstanceArgs.builder
import com.pulumi.aws.sagemaker.kotlin.inputs.NotebookInstanceInstanceMetadataServiceConfigurationArgs
import com.pulumi.aws.sagemaker.kotlin.inputs.NotebookInstanceInstanceMetadataServiceConfigurationArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Provides a SageMaker Notebook Instance resource.
* ## Example Usage
* ### Basic usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* const ni = new aws.sagemaker.NotebookInstance("ni", {
* name: "my-notebook-instance",
* roleArn: role.arn,
* instanceType: "ml.t2.medium",
* tags: {
* Name: "foo",
* },
* });
* ```
* ```python
* import pulumi
* import pulumi_aws as aws
* ni = aws.sagemaker.NotebookInstance("ni",
* name="my-notebook-instance",
* role_arn=role["arn"],
* instance_type="ml.t2.medium",
* tags={
* "Name": "foo",
* })
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Aws = Pulumi.Aws;
* return await Deployment.RunAsync(() =>
* {
* var ni = new Aws.Sagemaker.NotebookInstance("ni", new()
* {
* Name = "my-notebook-instance",
* RoleArn = role.Arn,
* InstanceType = "ml.t2.medium",
* Tags =
* {
* { "Name", "foo" },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := sagemaker.NewNotebookInstance(ctx, "ni", &sagemaker.NotebookInstanceArgs{
* Name: pulumi.String("my-notebook-instance"),
* RoleArn: pulumi.Any(role.Arn),
* InstanceType: pulumi.String("ml.t2.medium"),
* Tags: pulumi.StringMap{
* "Name": pulumi.String("foo"),
* },
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.aws.sagemaker.NotebookInstance;
* import com.pulumi.aws.sagemaker.NotebookInstanceArgs;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
* public class App {
* public static void main(String[] args) {
* Pulumi.run(App::stack);
* }
* public static void stack(Context ctx) {
* var ni = new NotebookInstance("ni", NotebookInstanceArgs.builder()
* .name("my-notebook-instance")
* .roleArn(role.arn())
* .instanceType("ml.t2.medium")
* .tags(Map.of("Name", "foo"))
* .build());
* }
* }
* ```
* ```yaml
* resources:
* ni:
* type: aws:sagemaker:NotebookInstance
* properties:
* name: my-notebook-instance
* roleArn: ${role.arn}
* instanceType: ml.t2.medium
* tags:
* Name: foo
* ```
*
* ### Code repository usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* const example = new aws.sagemaker.CodeRepository("example", {
* codeRepositoryName: "my-notebook-instance-code-repo",
* gitConfig: {
* repositoryUrl: "https://github.com/github/docs.git",
* },
* });
* const ni = new aws.sagemaker.NotebookInstance("ni", {
* name: "my-notebook-instance",
* roleArn: role.arn,
* instanceType: "ml.t2.medium",
* defaultCodeRepository: example.codeRepositoryName,
* tags: {
* Name: "foo",
* },
* });
* ```
* ```python
* import pulumi
* import pulumi_aws as aws
* example = aws.sagemaker.CodeRepository("example",
* code_repository_name="my-notebook-instance-code-repo",
* git_config={
* "repository_url": "https://github.com/github/docs.git",
* })
* ni = aws.sagemaker.NotebookInstance("ni",
* name="my-notebook-instance",
* role_arn=role["arn"],
* instance_type="ml.t2.medium",
* default_code_repository=example.code_repository_name,
* tags={
* "Name": "foo",
* })
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Aws = Pulumi.Aws;
* return await Deployment.RunAsync(() =>
* {
* var example = new Aws.Sagemaker.CodeRepository("example", new()
* {
* CodeRepositoryName = "my-notebook-instance-code-repo",
* GitConfig = new Aws.Sagemaker.Inputs.CodeRepositoryGitConfigArgs
* {
* RepositoryUrl = "https://github.com/github/docs.git",
* },
* });
* var ni = new Aws.Sagemaker.NotebookInstance("ni", new()
* {
* Name = "my-notebook-instance",
* RoleArn = role.Arn,
* InstanceType = "ml.t2.medium",
* DefaultCodeRepository = example.CodeRepositoryName,
* Tags =
* {
* { "Name", "foo" },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* example, err := sagemaker.NewCodeRepository(ctx, "example", &sagemaker.CodeRepositoryArgs{
* CodeRepositoryName: pulumi.String("my-notebook-instance-code-repo"),
* GitConfig: &sagemaker.CodeRepositoryGitConfigArgs{
* RepositoryUrl: pulumi.String("https://github.com/github/docs.git"),
* },
* })
* if err != nil {
* return err
* }
* _, err = sagemaker.NewNotebookInstance(ctx, "ni", &sagemaker.NotebookInstanceArgs{
* Name: pulumi.String("my-notebook-instance"),
* RoleArn: pulumi.Any(role.Arn),
* InstanceType: pulumi.String("ml.t2.medium"),
* DefaultCodeRepository: example.CodeRepositoryName,
* Tags: pulumi.StringMap{
* "Name": pulumi.String("foo"),
* },
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.aws.sagemaker.CodeRepository;
* import com.pulumi.aws.sagemaker.CodeRepositoryArgs;
* import com.pulumi.aws.sagemaker.inputs.CodeRepositoryGitConfigArgs;
* import com.pulumi.aws.sagemaker.NotebookInstance;
* import com.pulumi.aws.sagemaker.NotebookInstanceArgs;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
* public class App {
* public static void main(String[] args) {
* Pulumi.run(App::stack);
* }
* public static void stack(Context ctx) {
* var example = new CodeRepository("example", CodeRepositoryArgs.builder()
* .codeRepositoryName("my-notebook-instance-code-repo")
* .gitConfig(CodeRepositoryGitConfigArgs.builder()
* .repositoryUrl("https://github.com/github/docs.git")
* .build())
* .build());
* var ni = new NotebookInstance("ni", NotebookInstanceArgs.builder()
* .name("my-notebook-instance")
* .roleArn(role.arn())
* .instanceType("ml.t2.medium")
* .defaultCodeRepository(example.codeRepositoryName())
* .tags(Map.of("Name", "foo"))
* .build());
* }
* }
* ```
* ```yaml
* resources:
* example:
* type: aws:sagemaker:CodeRepository
* properties:
* codeRepositoryName: my-notebook-instance-code-repo
* gitConfig:
* repositoryUrl: https://github.com/github/docs.git
* ni:
* type: aws:sagemaker:NotebookInstance
* properties:
* name: my-notebook-instance
* roleArn: ${role.arn}
* instanceType: ml.t2.medium
* defaultCodeRepository: ${example.codeRepositoryName}
* tags:
* Name: foo
* ```
*
* ## Import
* Using `pulumi import`, import SageMaker Notebook Instances using the `name`. For example:
* ```sh
* $ pulumi import aws:sagemaker/notebookInstance:NotebookInstance test_notebook_instance my-notebook-instance
* ```
* @property acceleratorTypes A list of Elastic Inference (EI) instance types to associate with this notebook instance. See [Elastic Inference Accelerator](https://docs.aws.amazon.com/sagemaker/latest/dg/ei.html) for more details. Valid values: `ml.eia1.medium`, `ml.eia1.large`, `ml.eia1.xlarge`, `ml.eia2.medium`, `ml.eia2.large`, `ml.eia2.xlarge`.
* @property additionalCodeRepositories 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 [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance.
* @property defaultCodeRepository The Git repository associated 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 [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository.
* @property directInternetAccess Set to `Disabled` to disable internet access to notebook. Requires `security_groups` and `subnet_id` to be set. Supported values: `Enabled` (Default) or `Disabled`. If set to `Disabled`, the notebook instance will be able to access resources only in your VPC, and will not be able to connect to Amazon SageMaker training and endpoint services unless your configure a NAT Gateway in your VPC.
* @property instanceMetadataServiceConfiguration Information on the IMDS configuration of the notebook instance. Conflicts with `instance_metadata_service_configuration`. see details below.
* @property instanceType The name of ML compute instance type.
* @property kmsKeyId The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.
* @property lifecycleConfigName The name of a lifecycle configuration to associate with the notebook instance.
* @property name The name of the notebook instance (must be unique).
* @property platformIdentifier The platform identifier of the notebook instance runtime environment. This value can be either `notebook-al1-v1`, `notebook-al2-v1`, or `notebook-al2-v2`, depending on which version of Amazon Linux you require.
* @property roleArn The ARN of the IAM role to be used by the notebook instance which allows SageMaker to call other services on your behalf.
* @property rootAccess Whether root access is `Enabled` or `Disabled` for users of the notebook instance. The default value is `Enabled`.
* @property securityGroups The associated security groups.
* @property subnetId The VPC subnet ID.
* @property tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
* @property volumeSize The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB.
*/
public data class NotebookInstanceArgs(
public val acceleratorTypes: Output>? = null,
public val additionalCodeRepositories: Output>? = null,
public val defaultCodeRepository: Output? = null,
public val directInternetAccess: Output? = null,
public val instanceMetadataServiceConfiguration: Output? = null,
public val instanceType: Output? = null,
public val kmsKeyId: Output? = null,
public val lifecycleConfigName: Output? = null,
public val name: Output? = null,
public val platformIdentifier: Output? = null,
public val roleArn: Output? = null,
public val rootAccess: Output? = null,
public val securityGroups: Output>? = null,
public val subnetId: Output? = null,
public val tags: Output