github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/sagemaker/notebookInstance.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package sagemaker
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // Provides a SageMaker Notebook Instance resource.
    16  //
    17  // ## Example Usage
    18  //
    19  // ### Basic usage
    20  //
    21  // <!--Start PulumiCodeChooser -->
    22  // ```go
    23  // package main
    24  //
    25  // import (
    26  //
    27  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker"
    28  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    29  //
    30  // )
    31  //
    32  //	func main() {
    33  //		pulumi.Run(func(ctx *pulumi.Context) error {
    34  //			_, err := sagemaker.NewNotebookInstance(ctx, "ni", &sagemaker.NotebookInstanceArgs{
    35  //				Name:         pulumi.String("my-notebook-instance"),
    36  //				RoleArn:      pulumi.Any(role.Arn),
    37  //				InstanceType: pulumi.String("ml.t2.medium"),
    38  //				Tags: pulumi.StringMap{
    39  //					"Name": pulumi.String("foo"),
    40  //				},
    41  //			})
    42  //			if err != nil {
    43  //				return err
    44  //			}
    45  //			return nil
    46  //		})
    47  //	}
    48  //
    49  // ```
    50  // <!--End PulumiCodeChooser -->
    51  //
    52  // ### Code repository usage
    53  //
    54  // <!--Start PulumiCodeChooser -->
    55  // ```go
    56  // package main
    57  //
    58  // import (
    59  //
    60  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker"
    61  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    62  //
    63  // )
    64  //
    65  //	func main() {
    66  //		pulumi.Run(func(ctx *pulumi.Context) error {
    67  //			example, err := sagemaker.NewCodeRepository(ctx, "example", &sagemaker.CodeRepositoryArgs{
    68  //				CodeRepositoryName: pulumi.String("my-notebook-instance-code-repo"),
    69  //				GitConfig: &sagemaker.CodeRepositoryGitConfigArgs{
    70  //					RepositoryUrl: pulumi.String("https://github.com/github/docs.git"),
    71  //				},
    72  //			})
    73  //			if err != nil {
    74  //				return err
    75  //			}
    76  //			_, err = sagemaker.NewNotebookInstance(ctx, "ni", &sagemaker.NotebookInstanceArgs{
    77  //				Name:                  pulumi.String("my-notebook-instance"),
    78  //				RoleArn:               pulumi.Any(role.Arn),
    79  //				InstanceType:          pulumi.String("ml.t2.medium"),
    80  //				DefaultCodeRepository: example.CodeRepositoryName,
    81  //				Tags: pulumi.StringMap{
    82  //					"Name": pulumi.String("foo"),
    83  //				},
    84  //			})
    85  //			if err != nil {
    86  //				return err
    87  //			}
    88  //			return nil
    89  //		})
    90  //	}
    91  //
    92  // ```
    93  // <!--End PulumiCodeChooser -->
    94  //
    95  // ## Import
    96  //
    97  // Using `pulumi import`, import SageMaker Notebook Instances using the `name`. For example:
    98  //
    99  // ```sh
   100  // $ pulumi import aws:sagemaker/notebookInstance:NotebookInstance test_notebook_instance my-notebook-instance
   101  // ```
   102  type NotebookInstance struct {
   103  	pulumi.CustomResourceState
   104  
   105  	// 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`.
   106  	AcceleratorTypes pulumi.StringArrayOutput `pulumi:"acceleratorTypes"`
   107  	// An array of up to three Git repositories to associate with the notebook instance.
   108  	// 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.
   109  	AdditionalCodeRepositories pulumi.StringArrayOutput `pulumi:"additionalCodeRepositories"`
   110  	// The Amazon Resource Name (ARN) assigned by AWS to this notebook instance.
   111  	Arn pulumi.StringOutput `pulumi:"arn"`
   112  	// 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.
   113  	DefaultCodeRepository pulumi.StringPtrOutput `pulumi:"defaultCodeRepository"`
   114  	// Set to `Disabled` to disable internet access to notebook. Requires `securityGroups` and `subnetId` 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.
   115  	DirectInternetAccess pulumi.StringPtrOutput `pulumi:"directInternetAccess"`
   116  	// Information on the IMDS configuration of the notebook instance. Conflicts with `instanceMetadataServiceConfiguration`. see details below.
   117  	InstanceMetadataServiceConfiguration NotebookInstanceInstanceMetadataServiceConfigurationPtrOutput `pulumi:"instanceMetadataServiceConfiguration"`
   118  	// The name of ML compute instance type.
   119  	InstanceType pulumi.StringOutput `pulumi:"instanceType"`
   120  	// 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.
   121  	KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"`
   122  	// The name of a lifecycle configuration to associate with the notebook instance.
   123  	LifecycleConfigName pulumi.StringPtrOutput `pulumi:"lifecycleConfigName"`
   124  	// The name of the notebook instance (must be unique).
   125  	Name pulumi.StringOutput `pulumi:"name"`
   126  	// The network interface ID that Amazon SageMaker created at the time of creating the instance. Only available when setting `subnetId`.
   127  	NetworkInterfaceId pulumi.StringOutput `pulumi:"networkInterfaceId"`
   128  	// 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.
   129  	PlatformIdentifier pulumi.StringOutput `pulumi:"platformIdentifier"`
   130  	// The ARN of the IAM role to be used by the notebook instance which allows SageMaker to call other services on your behalf.
   131  	RoleArn pulumi.StringOutput `pulumi:"roleArn"`
   132  	// Whether root access is `Enabled` or `Disabled` for users of the notebook instance. The default value is `Enabled`.
   133  	RootAccess pulumi.StringPtrOutput `pulumi:"rootAccess"`
   134  	// The associated security groups.
   135  	SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"`
   136  	// The VPC subnet ID.
   137  	SubnetId pulumi.StringPtrOutput `pulumi:"subnetId"`
   138  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   139  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   140  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   141  	//
   142  	// Deprecated: Please use `tags` instead.
   143  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   144  	// The URL that you use to connect to the Jupyter notebook that is running in your notebook instance.
   145  	Url pulumi.StringOutput `pulumi:"url"`
   146  	// The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB.
   147  	VolumeSize pulumi.IntPtrOutput `pulumi:"volumeSize"`
   148  }
   149  
   150  // NewNotebookInstance registers a new resource with the given unique name, arguments, and options.
   151  func NewNotebookInstance(ctx *pulumi.Context,
   152  	name string, args *NotebookInstanceArgs, opts ...pulumi.ResourceOption) (*NotebookInstance, error) {
   153  	if args == nil {
   154  		return nil, errors.New("missing one or more required arguments")
   155  	}
   156  
   157  	if args.InstanceType == nil {
   158  		return nil, errors.New("invalid value for required argument 'InstanceType'")
   159  	}
   160  	if args.RoleArn == nil {
   161  		return nil, errors.New("invalid value for required argument 'RoleArn'")
   162  	}
   163  	opts = internal.PkgResourceDefaultOpts(opts)
   164  	var resource NotebookInstance
   165  	err := ctx.RegisterResource("aws:sagemaker/notebookInstance:NotebookInstance", name, args, &resource, opts...)
   166  	if err != nil {
   167  		return nil, err
   168  	}
   169  	return &resource, nil
   170  }
   171  
   172  // GetNotebookInstance gets an existing NotebookInstance resource's state with the given name, ID, and optional
   173  // state properties that are used to uniquely qualify the lookup (nil if not required).
   174  func GetNotebookInstance(ctx *pulumi.Context,
   175  	name string, id pulumi.IDInput, state *NotebookInstanceState, opts ...pulumi.ResourceOption) (*NotebookInstance, error) {
   176  	var resource NotebookInstance
   177  	err := ctx.ReadResource("aws:sagemaker/notebookInstance:NotebookInstance", name, id, state, &resource, opts...)
   178  	if err != nil {
   179  		return nil, err
   180  	}
   181  	return &resource, nil
   182  }
   183  
   184  // Input properties used for looking up and filtering NotebookInstance resources.
   185  type notebookInstanceState struct {
   186  	// 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`.
   187  	AcceleratorTypes []string `pulumi:"acceleratorTypes"`
   188  	// An array of up to three Git repositories to associate with the notebook instance.
   189  	// 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.
   190  	AdditionalCodeRepositories []string `pulumi:"additionalCodeRepositories"`
   191  	// The Amazon Resource Name (ARN) assigned by AWS to this notebook instance.
   192  	Arn *string `pulumi:"arn"`
   193  	// 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.
   194  	DefaultCodeRepository *string `pulumi:"defaultCodeRepository"`
   195  	// Set to `Disabled` to disable internet access to notebook. Requires `securityGroups` and `subnetId` 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.
   196  	DirectInternetAccess *string `pulumi:"directInternetAccess"`
   197  	// Information on the IMDS configuration of the notebook instance. Conflicts with `instanceMetadataServiceConfiguration`. see details below.
   198  	InstanceMetadataServiceConfiguration *NotebookInstanceInstanceMetadataServiceConfiguration `pulumi:"instanceMetadataServiceConfiguration"`
   199  	// The name of ML compute instance type.
   200  	InstanceType *string `pulumi:"instanceType"`
   201  	// 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.
   202  	KmsKeyId *string `pulumi:"kmsKeyId"`
   203  	// The name of a lifecycle configuration to associate with the notebook instance.
   204  	LifecycleConfigName *string `pulumi:"lifecycleConfigName"`
   205  	// The name of the notebook instance (must be unique).
   206  	Name *string `pulumi:"name"`
   207  	// The network interface ID that Amazon SageMaker created at the time of creating the instance. Only available when setting `subnetId`.
   208  	NetworkInterfaceId *string `pulumi:"networkInterfaceId"`
   209  	// 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.
   210  	PlatformIdentifier *string `pulumi:"platformIdentifier"`
   211  	// The ARN of the IAM role to be used by the notebook instance which allows SageMaker to call other services on your behalf.
   212  	RoleArn *string `pulumi:"roleArn"`
   213  	// Whether root access is `Enabled` or `Disabled` for users of the notebook instance. The default value is `Enabled`.
   214  	RootAccess *string `pulumi:"rootAccess"`
   215  	// The associated security groups.
   216  	SecurityGroups []string `pulumi:"securityGroups"`
   217  	// The VPC subnet ID.
   218  	SubnetId *string `pulumi:"subnetId"`
   219  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   220  	Tags map[string]string `pulumi:"tags"`
   221  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   222  	//
   223  	// Deprecated: Please use `tags` instead.
   224  	TagsAll map[string]string `pulumi:"tagsAll"`
   225  	// The URL that you use to connect to the Jupyter notebook that is running in your notebook instance.
   226  	Url *string `pulumi:"url"`
   227  	// The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB.
   228  	VolumeSize *int `pulumi:"volumeSize"`
   229  }
   230  
   231  type NotebookInstanceState struct {
   232  	// 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`.
   233  	AcceleratorTypes pulumi.StringArrayInput
   234  	// An array of up to three Git repositories to associate with the notebook instance.
   235  	// 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.
   236  	AdditionalCodeRepositories pulumi.StringArrayInput
   237  	// The Amazon Resource Name (ARN) assigned by AWS to this notebook instance.
   238  	Arn pulumi.StringPtrInput
   239  	// 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.
   240  	DefaultCodeRepository pulumi.StringPtrInput
   241  	// Set to `Disabled` to disable internet access to notebook. Requires `securityGroups` and `subnetId` 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.
   242  	DirectInternetAccess pulumi.StringPtrInput
   243  	// Information on the IMDS configuration of the notebook instance. Conflicts with `instanceMetadataServiceConfiguration`. see details below.
   244  	InstanceMetadataServiceConfiguration NotebookInstanceInstanceMetadataServiceConfigurationPtrInput
   245  	// The name of ML compute instance type.
   246  	InstanceType pulumi.StringPtrInput
   247  	// 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.
   248  	KmsKeyId pulumi.StringPtrInput
   249  	// The name of a lifecycle configuration to associate with the notebook instance.
   250  	LifecycleConfigName pulumi.StringPtrInput
   251  	// The name of the notebook instance (must be unique).
   252  	Name pulumi.StringPtrInput
   253  	// The network interface ID that Amazon SageMaker created at the time of creating the instance. Only available when setting `subnetId`.
   254  	NetworkInterfaceId pulumi.StringPtrInput
   255  	// 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.
   256  	PlatformIdentifier pulumi.StringPtrInput
   257  	// The ARN of the IAM role to be used by the notebook instance which allows SageMaker to call other services on your behalf.
   258  	RoleArn pulumi.StringPtrInput
   259  	// Whether root access is `Enabled` or `Disabled` for users of the notebook instance. The default value is `Enabled`.
   260  	RootAccess pulumi.StringPtrInput
   261  	// The associated security groups.
   262  	SecurityGroups pulumi.StringArrayInput
   263  	// The VPC subnet ID.
   264  	SubnetId pulumi.StringPtrInput
   265  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   266  	Tags pulumi.StringMapInput
   267  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   268  	//
   269  	// Deprecated: Please use `tags` instead.
   270  	TagsAll pulumi.StringMapInput
   271  	// The URL that you use to connect to the Jupyter notebook that is running in your notebook instance.
   272  	Url pulumi.StringPtrInput
   273  	// The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB.
   274  	VolumeSize pulumi.IntPtrInput
   275  }
   276  
   277  func (NotebookInstanceState) ElementType() reflect.Type {
   278  	return reflect.TypeOf((*notebookInstanceState)(nil)).Elem()
   279  }
   280  
   281  type notebookInstanceArgs struct {
   282  	// 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`.
   283  	AcceleratorTypes []string `pulumi:"acceleratorTypes"`
   284  	// An array of up to three Git repositories to associate with the notebook instance.
   285  	// 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.
   286  	AdditionalCodeRepositories []string `pulumi:"additionalCodeRepositories"`
   287  	// 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.
   288  	DefaultCodeRepository *string `pulumi:"defaultCodeRepository"`
   289  	// Set to `Disabled` to disable internet access to notebook. Requires `securityGroups` and `subnetId` 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.
   290  	DirectInternetAccess *string `pulumi:"directInternetAccess"`
   291  	// Information on the IMDS configuration of the notebook instance. Conflicts with `instanceMetadataServiceConfiguration`. see details below.
   292  	InstanceMetadataServiceConfiguration *NotebookInstanceInstanceMetadataServiceConfiguration `pulumi:"instanceMetadataServiceConfiguration"`
   293  	// The name of ML compute instance type.
   294  	InstanceType string `pulumi:"instanceType"`
   295  	// 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.
   296  	KmsKeyId *string `pulumi:"kmsKeyId"`
   297  	// The name of a lifecycle configuration to associate with the notebook instance.
   298  	LifecycleConfigName *string `pulumi:"lifecycleConfigName"`
   299  	// The name of the notebook instance (must be unique).
   300  	Name *string `pulumi:"name"`
   301  	// 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.
   302  	PlatformIdentifier *string `pulumi:"platformIdentifier"`
   303  	// The ARN of the IAM role to be used by the notebook instance which allows SageMaker to call other services on your behalf.
   304  	RoleArn string `pulumi:"roleArn"`
   305  	// Whether root access is `Enabled` or `Disabled` for users of the notebook instance. The default value is `Enabled`.
   306  	RootAccess *string `pulumi:"rootAccess"`
   307  	// The associated security groups.
   308  	SecurityGroups []string `pulumi:"securityGroups"`
   309  	// The VPC subnet ID.
   310  	SubnetId *string `pulumi:"subnetId"`
   311  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   312  	Tags map[string]string `pulumi:"tags"`
   313  	// The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB.
   314  	VolumeSize *int `pulumi:"volumeSize"`
   315  }
   316  
   317  // The set of arguments for constructing a NotebookInstance resource.
   318  type NotebookInstanceArgs struct {
   319  	// 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`.
   320  	AcceleratorTypes pulumi.StringArrayInput
   321  	// An array of up to three Git repositories to associate with the notebook instance.
   322  	// 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.
   323  	AdditionalCodeRepositories pulumi.StringArrayInput
   324  	// 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.
   325  	DefaultCodeRepository pulumi.StringPtrInput
   326  	// Set to `Disabled` to disable internet access to notebook. Requires `securityGroups` and `subnetId` 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.
   327  	DirectInternetAccess pulumi.StringPtrInput
   328  	// Information on the IMDS configuration of the notebook instance. Conflicts with `instanceMetadataServiceConfiguration`. see details below.
   329  	InstanceMetadataServiceConfiguration NotebookInstanceInstanceMetadataServiceConfigurationPtrInput
   330  	// The name of ML compute instance type.
   331  	InstanceType pulumi.StringInput
   332  	// 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.
   333  	KmsKeyId pulumi.StringPtrInput
   334  	// The name of a lifecycle configuration to associate with the notebook instance.
   335  	LifecycleConfigName pulumi.StringPtrInput
   336  	// The name of the notebook instance (must be unique).
   337  	Name pulumi.StringPtrInput
   338  	// 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.
   339  	PlatformIdentifier pulumi.StringPtrInput
   340  	// The ARN of the IAM role to be used by the notebook instance which allows SageMaker to call other services on your behalf.
   341  	RoleArn pulumi.StringInput
   342  	// Whether root access is `Enabled` or `Disabled` for users of the notebook instance. The default value is `Enabled`.
   343  	RootAccess pulumi.StringPtrInput
   344  	// The associated security groups.
   345  	SecurityGroups pulumi.StringArrayInput
   346  	// The VPC subnet ID.
   347  	SubnetId pulumi.StringPtrInput
   348  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   349  	Tags pulumi.StringMapInput
   350  	// The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB.
   351  	VolumeSize pulumi.IntPtrInput
   352  }
   353  
   354  func (NotebookInstanceArgs) ElementType() reflect.Type {
   355  	return reflect.TypeOf((*notebookInstanceArgs)(nil)).Elem()
   356  }
   357  
   358  type NotebookInstanceInput interface {
   359  	pulumi.Input
   360  
   361  	ToNotebookInstanceOutput() NotebookInstanceOutput
   362  	ToNotebookInstanceOutputWithContext(ctx context.Context) NotebookInstanceOutput
   363  }
   364  
   365  func (*NotebookInstance) ElementType() reflect.Type {
   366  	return reflect.TypeOf((**NotebookInstance)(nil)).Elem()
   367  }
   368  
   369  func (i *NotebookInstance) ToNotebookInstanceOutput() NotebookInstanceOutput {
   370  	return i.ToNotebookInstanceOutputWithContext(context.Background())
   371  }
   372  
   373  func (i *NotebookInstance) ToNotebookInstanceOutputWithContext(ctx context.Context) NotebookInstanceOutput {
   374  	return pulumi.ToOutputWithContext(ctx, i).(NotebookInstanceOutput)
   375  }
   376  
   377  // NotebookInstanceArrayInput is an input type that accepts NotebookInstanceArray and NotebookInstanceArrayOutput values.
   378  // You can construct a concrete instance of `NotebookInstanceArrayInput` via:
   379  //
   380  //	NotebookInstanceArray{ NotebookInstanceArgs{...} }
   381  type NotebookInstanceArrayInput interface {
   382  	pulumi.Input
   383  
   384  	ToNotebookInstanceArrayOutput() NotebookInstanceArrayOutput
   385  	ToNotebookInstanceArrayOutputWithContext(context.Context) NotebookInstanceArrayOutput
   386  }
   387  
   388  type NotebookInstanceArray []NotebookInstanceInput
   389  
   390  func (NotebookInstanceArray) ElementType() reflect.Type {
   391  	return reflect.TypeOf((*[]*NotebookInstance)(nil)).Elem()
   392  }
   393  
   394  func (i NotebookInstanceArray) ToNotebookInstanceArrayOutput() NotebookInstanceArrayOutput {
   395  	return i.ToNotebookInstanceArrayOutputWithContext(context.Background())
   396  }
   397  
   398  func (i NotebookInstanceArray) ToNotebookInstanceArrayOutputWithContext(ctx context.Context) NotebookInstanceArrayOutput {
   399  	return pulumi.ToOutputWithContext(ctx, i).(NotebookInstanceArrayOutput)
   400  }
   401  
   402  // NotebookInstanceMapInput is an input type that accepts NotebookInstanceMap and NotebookInstanceMapOutput values.
   403  // You can construct a concrete instance of `NotebookInstanceMapInput` via:
   404  //
   405  //	NotebookInstanceMap{ "key": NotebookInstanceArgs{...} }
   406  type NotebookInstanceMapInput interface {
   407  	pulumi.Input
   408  
   409  	ToNotebookInstanceMapOutput() NotebookInstanceMapOutput
   410  	ToNotebookInstanceMapOutputWithContext(context.Context) NotebookInstanceMapOutput
   411  }
   412  
   413  type NotebookInstanceMap map[string]NotebookInstanceInput
   414  
   415  func (NotebookInstanceMap) ElementType() reflect.Type {
   416  	return reflect.TypeOf((*map[string]*NotebookInstance)(nil)).Elem()
   417  }
   418  
   419  func (i NotebookInstanceMap) ToNotebookInstanceMapOutput() NotebookInstanceMapOutput {
   420  	return i.ToNotebookInstanceMapOutputWithContext(context.Background())
   421  }
   422  
   423  func (i NotebookInstanceMap) ToNotebookInstanceMapOutputWithContext(ctx context.Context) NotebookInstanceMapOutput {
   424  	return pulumi.ToOutputWithContext(ctx, i).(NotebookInstanceMapOutput)
   425  }
   426  
   427  type NotebookInstanceOutput struct{ *pulumi.OutputState }
   428  
   429  func (NotebookInstanceOutput) ElementType() reflect.Type {
   430  	return reflect.TypeOf((**NotebookInstance)(nil)).Elem()
   431  }
   432  
   433  func (o NotebookInstanceOutput) ToNotebookInstanceOutput() NotebookInstanceOutput {
   434  	return o
   435  }
   436  
   437  func (o NotebookInstanceOutput) ToNotebookInstanceOutputWithContext(ctx context.Context) NotebookInstanceOutput {
   438  	return o
   439  }
   440  
   441  // 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`.
   442  func (o NotebookInstanceOutput) AcceleratorTypes() pulumi.StringArrayOutput {
   443  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringArrayOutput { return v.AcceleratorTypes }).(pulumi.StringArrayOutput)
   444  }
   445  
   446  // An array of up to three Git repositories to associate with the notebook instance.
   447  // 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.
   448  func (o NotebookInstanceOutput) AdditionalCodeRepositories() pulumi.StringArrayOutput {
   449  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringArrayOutput { return v.AdditionalCodeRepositories }).(pulumi.StringArrayOutput)
   450  }
   451  
   452  // The Amazon Resource Name (ARN) assigned by AWS to this notebook instance.
   453  func (o NotebookInstanceOutput) Arn() pulumi.StringOutput {
   454  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   455  }
   456  
   457  // 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.
   458  func (o NotebookInstanceOutput) DefaultCodeRepository() pulumi.StringPtrOutput {
   459  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringPtrOutput { return v.DefaultCodeRepository }).(pulumi.StringPtrOutput)
   460  }
   461  
   462  // Set to `Disabled` to disable internet access to notebook. Requires `securityGroups` and `subnetId` 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.
   463  func (o NotebookInstanceOutput) DirectInternetAccess() pulumi.StringPtrOutput {
   464  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringPtrOutput { return v.DirectInternetAccess }).(pulumi.StringPtrOutput)
   465  }
   466  
   467  // Information on the IMDS configuration of the notebook instance. Conflicts with `instanceMetadataServiceConfiguration`. see details below.
   468  func (o NotebookInstanceOutput) InstanceMetadataServiceConfiguration() NotebookInstanceInstanceMetadataServiceConfigurationPtrOutput {
   469  	return o.ApplyT(func(v *NotebookInstance) NotebookInstanceInstanceMetadataServiceConfigurationPtrOutput {
   470  		return v.InstanceMetadataServiceConfiguration
   471  	}).(NotebookInstanceInstanceMetadataServiceConfigurationPtrOutput)
   472  }
   473  
   474  // The name of ML compute instance type.
   475  func (o NotebookInstanceOutput) InstanceType() pulumi.StringOutput {
   476  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringOutput { return v.InstanceType }).(pulumi.StringOutput)
   477  }
   478  
   479  // 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.
   480  func (o NotebookInstanceOutput) KmsKeyId() pulumi.StringPtrOutput {
   481  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringPtrOutput { return v.KmsKeyId }).(pulumi.StringPtrOutput)
   482  }
   483  
   484  // The name of a lifecycle configuration to associate with the notebook instance.
   485  func (o NotebookInstanceOutput) LifecycleConfigName() pulumi.StringPtrOutput {
   486  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringPtrOutput { return v.LifecycleConfigName }).(pulumi.StringPtrOutput)
   487  }
   488  
   489  // The name of the notebook instance (must be unique).
   490  func (o NotebookInstanceOutput) Name() pulumi.StringOutput {
   491  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   492  }
   493  
   494  // The network interface ID that Amazon SageMaker created at the time of creating the instance. Only available when setting `subnetId`.
   495  func (o NotebookInstanceOutput) NetworkInterfaceId() pulumi.StringOutput {
   496  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringOutput { return v.NetworkInterfaceId }).(pulumi.StringOutput)
   497  }
   498  
   499  // 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.
   500  func (o NotebookInstanceOutput) PlatformIdentifier() pulumi.StringOutput {
   501  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringOutput { return v.PlatformIdentifier }).(pulumi.StringOutput)
   502  }
   503  
   504  // The ARN of the IAM role to be used by the notebook instance which allows SageMaker to call other services on your behalf.
   505  func (o NotebookInstanceOutput) RoleArn() pulumi.StringOutput {
   506  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput)
   507  }
   508  
   509  // Whether root access is `Enabled` or `Disabled` for users of the notebook instance. The default value is `Enabled`.
   510  func (o NotebookInstanceOutput) RootAccess() pulumi.StringPtrOutput {
   511  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringPtrOutput { return v.RootAccess }).(pulumi.StringPtrOutput)
   512  }
   513  
   514  // The associated security groups.
   515  func (o NotebookInstanceOutput) SecurityGroups() pulumi.StringArrayOutput {
   516  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringArrayOutput { return v.SecurityGroups }).(pulumi.StringArrayOutput)
   517  }
   518  
   519  // The VPC subnet ID.
   520  func (o NotebookInstanceOutput) SubnetId() pulumi.StringPtrOutput {
   521  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringPtrOutput { return v.SubnetId }).(pulumi.StringPtrOutput)
   522  }
   523  
   524  // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   525  func (o NotebookInstanceOutput) Tags() pulumi.StringMapOutput {
   526  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   527  }
   528  
   529  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   530  //
   531  // Deprecated: Please use `tags` instead.
   532  func (o NotebookInstanceOutput) TagsAll() pulumi.StringMapOutput {
   533  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   534  }
   535  
   536  // The URL that you use to connect to the Jupyter notebook that is running in your notebook instance.
   537  func (o NotebookInstanceOutput) Url() pulumi.StringOutput {
   538  	return o.ApplyT(func(v *NotebookInstance) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput)
   539  }
   540  
   541  // The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB.
   542  func (o NotebookInstanceOutput) VolumeSize() pulumi.IntPtrOutput {
   543  	return o.ApplyT(func(v *NotebookInstance) pulumi.IntPtrOutput { return v.VolumeSize }).(pulumi.IntPtrOutput)
   544  }
   545  
   546  type NotebookInstanceArrayOutput struct{ *pulumi.OutputState }
   547  
   548  func (NotebookInstanceArrayOutput) ElementType() reflect.Type {
   549  	return reflect.TypeOf((*[]*NotebookInstance)(nil)).Elem()
   550  }
   551  
   552  func (o NotebookInstanceArrayOutput) ToNotebookInstanceArrayOutput() NotebookInstanceArrayOutput {
   553  	return o
   554  }
   555  
   556  func (o NotebookInstanceArrayOutput) ToNotebookInstanceArrayOutputWithContext(ctx context.Context) NotebookInstanceArrayOutput {
   557  	return o
   558  }
   559  
   560  func (o NotebookInstanceArrayOutput) Index(i pulumi.IntInput) NotebookInstanceOutput {
   561  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *NotebookInstance {
   562  		return vs[0].([]*NotebookInstance)[vs[1].(int)]
   563  	}).(NotebookInstanceOutput)
   564  }
   565  
   566  type NotebookInstanceMapOutput struct{ *pulumi.OutputState }
   567  
   568  func (NotebookInstanceMapOutput) ElementType() reflect.Type {
   569  	return reflect.TypeOf((*map[string]*NotebookInstance)(nil)).Elem()
   570  }
   571  
   572  func (o NotebookInstanceMapOutput) ToNotebookInstanceMapOutput() NotebookInstanceMapOutput {
   573  	return o
   574  }
   575  
   576  func (o NotebookInstanceMapOutput) ToNotebookInstanceMapOutputWithContext(ctx context.Context) NotebookInstanceMapOutput {
   577  	return o
   578  }
   579  
   580  func (o NotebookInstanceMapOutput) MapIndex(k pulumi.StringInput) NotebookInstanceOutput {
   581  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *NotebookInstance {
   582  		return vs[0].(map[string]*NotebookInstance)[vs[1].(string)]
   583  	}).(NotebookInstanceOutput)
   584  }
   585  
   586  func init() {
   587  	pulumi.RegisterInputType(reflect.TypeOf((*NotebookInstanceInput)(nil)).Elem(), &NotebookInstance{})
   588  	pulumi.RegisterInputType(reflect.TypeOf((*NotebookInstanceArrayInput)(nil)).Elem(), NotebookInstanceArray{})
   589  	pulumi.RegisterInputType(reflect.TypeOf((*NotebookInstanceMapInput)(nil)).Elem(), NotebookInstanceMap{})
   590  	pulumi.RegisterOutputType(NotebookInstanceOutput{})
   591  	pulumi.RegisterOutputType(NotebookInstanceArrayOutput{})
   592  	pulumi.RegisterOutputType(NotebookInstanceMapOutput{})
   593  }