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 }