github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/sagemaker/notebookInstanceLifecycleConfiguration.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  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // Provides a lifecycle configuration for SageMaker Notebook Instances.
    15  //
    16  // ## Example Usage
    17  //
    18  // Usage:
    19  //
    20  // <!--Start PulumiCodeChooser -->
    21  // ```go
    22  // package main
    23  //
    24  // import (
    25  //
    26  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker"
    27  //	"github.com/pulumi/pulumi-std/sdk/go/std"
    28  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    29  //
    30  // )
    31  //
    32  //	func main() {
    33  //		pulumi.Run(func(ctx *pulumi.Context) error {
    34  //			invokeBase64encode, err := std.Base64encode(ctx, &std.Base64encodeArgs{
    35  //				Input: "echo foo",
    36  //			}, nil)
    37  //			if err != nil {
    38  //				return err
    39  //			}
    40  //			invokeBase64encode1, err := std.Base64encode(ctx, &std.Base64encodeArgs{
    41  //				Input: "echo bar",
    42  //			}, nil)
    43  //			if err != nil {
    44  //				return err
    45  //			}
    46  //			_, err = sagemaker.NewNotebookInstanceLifecycleConfiguration(ctx, "lc", &sagemaker.NotebookInstanceLifecycleConfigurationArgs{
    47  //				Name:     pulumi.String("foo"),
    48  //				OnCreate: invokeBase64encode.Result,
    49  //				OnStart:  invokeBase64encode1.Result,
    50  //			})
    51  //			if err != nil {
    52  //				return err
    53  //			}
    54  //			return nil
    55  //		})
    56  //	}
    57  //
    58  // ```
    59  // <!--End PulumiCodeChooser -->
    60  //
    61  // ## Import
    62  //
    63  // Using `pulumi import`, import models using the `name`. For example:
    64  //
    65  // ```sh
    66  // $ pulumi import aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration lc foo
    67  // ```
    68  type NotebookInstanceLifecycleConfiguration struct {
    69  	pulumi.CustomResourceState
    70  
    71  	// The Amazon Resource Name (ARN) assigned by AWS to this lifecycle configuration.
    72  	Arn pulumi.StringOutput `pulumi:"arn"`
    73  	// The name of the lifecycle configuration (must be unique). If omitted, this provider will assign a random, unique name.
    74  	Name pulumi.StringOutput `pulumi:"name"`
    75  	// A shell script (base64-encoded) that runs only once when the SageMaker Notebook Instance is created.
    76  	OnCreate pulumi.StringPtrOutput `pulumi:"onCreate"`
    77  	// A shell script (base64-encoded) that runs every time the SageMaker Notebook Instance is started including the time it's created.
    78  	OnStart pulumi.StringPtrOutput `pulumi:"onStart"`
    79  }
    80  
    81  // NewNotebookInstanceLifecycleConfiguration registers a new resource with the given unique name, arguments, and options.
    82  func NewNotebookInstanceLifecycleConfiguration(ctx *pulumi.Context,
    83  	name string, args *NotebookInstanceLifecycleConfigurationArgs, opts ...pulumi.ResourceOption) (*NotebookInstanceLifecycleConfiguration, error) {
    84  	if args == nil {
    85  		args = &NotebookInstanceLifecycleConfigurationArgs{}
    86  	}
    87  
    88  	opts = internal.PkgResourceDefaultOpts(opts)
    89  	var resource NotebookInstanceLifecycleConfiguration
    90  	err := ctx.RegisterResource("aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration", name, args, &resource, opts...)
    91  	if err != nil {
    92  		return nil, err
    93  	}
    94  	return &resource, nil
    95  }
    96  
    97  // GetNotebookInstanceLifecycleConfiguration gets an existing NotebookInstanceLifecycleConfiguration resource's state with the given name, ID, and optional
    98  // state properties that are used to uniquely qualify the lookup (nil if not required).
    99  func GetNotebookInstanceLifecycleConfiguration(ctx *pulumi.Context,
   100  	name string, id pulumi.IDInput, state *NotebookInstanceLifecycleConfigurationState, opts ...pulumi.ResourceOption) (*NotebookInstanceLifecycleConfiguration, error) {
   101  	var resource NotebookInstanceLifecycleConfiguration
   102  	err := ctx.ReadResource("aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration", name, id, state, &resource, opts...)
   103  	if err != nil {
   104  		return nil, err
   105  	}
   106  	return &resource, nil
   107  }
   108  
   109  // Input properties used for looking up and filtering NotebookInstanceLifecycleConfiguration resources.
   110  type notebookInstanceLifecycleConfigurationState struct {
   111  	// The Amazon Resource Name (ARN) assigned by AWS to this lifecycle configuration.
   112  	Arn *string `pulumi:"arn"`
   113  	// The name of the lifecycle configuration (must be unique). If omitted, this provider will assign a random, unique name.
   114  	Name *string `pulumi:"name"`
   115  	// A shell script (base64-encoded) that runs only once when the SageMaker Notebook Instance is created.
   116  	OnCreate *string `pulumi:"onCreate"`
   117  	// A shell script (base64-encoded) that runs every time the SageMaker Notebook Instance is started including the time it's created.
   118  	OnStart *string `pulumi:"onStart"`
   119  }
   120  
   121  type NotebookInstanceLifecycleConfigurationState struct {
   122  	// The Amazon Resource Name (ARN) assigned by AWS to this lifecycle configuration.
   123  	Arn pulumi.StringPtrInput
   124  	// The name of the lifecycle configuration (must be unique). If omitted, this provider will assign a random, unique name.
   125  	Name pulumi.StringPtrInput
   126  	// A shell script (base64-encoded) that runs only once when the SageMaker Notebook Instance is created.
   127  	OnCreate pulumi.StringPtrInput
   128  	// A shell script (base64-encoded) that runs every time the SageMaker Notebook Instance is started including the time it's created.
   129  	OnStart pulumi.StringPtrInput
   130  }
   131  
   132  func (NotebookInstanceLifecycleConfigurationState) ElementType() reflect.Type {
   133  	return reflect.TypeOf((*notebookInstanceLifecycleConfigurationState)(nil)).Elem()
   134  }
   135  
   136  type notebookInstanceLifecycleConfigurationArgs struct {
   137  	// The name of the lifecycle configuration (must be unique). If omitted, this provider will assign a random, unique name.
   138  	Name *string `pulumi:"name"`
   139  	// A shell script (base64-encoded) that runs only once when the SageMaker Notebook Instance is created.
   140  	OnCreate *string `pulumi:"onCreate"`
   141  	// A shell script (base64-encoded) that runs every time the SageMaker Notebook Instance is started including the time it's created.
   142  	OnStart *string `pulumi:"onStart"`
   143  }
   144  
   145  // The set of arguments for constructing a NotebookInstanceLifecycleConfiguration resource.
   146  type NotebookInstanceLifecycleConfigurationArgs struct {
   147  	// The name of the lifecycle configuration (must be unique). If omitted, this provider will assign a random, unique name.
   148  	Name pulumi.StringPtrInput
   149  	// A shell script (base64-encoded) that runs only once when the SageMaker Notebook Instance is created.
   150  	OnCreate pulumi.StringPtrInput
   151  	// A shell script (base64-encoded) that runs every time the SageMaker Notebook Instance is started including the time it's created.
   152  	OnStart pulumi.StringPtrInput
   153  }
   154  
   155  func (NotebookInstanceLifecycleConfigurationArgs) ElementType() reflect.Type {
   156  	return reflect.TypeOf((*notebookInstanceLifecycleConfigurationArgs)(nil)).Elem()
   157  }
   158  
   159  type NotebookInstanceLifecycleConfigurationInput interface {
   160  	pulumi.Input
   161  
   162  	ToNotebookInstanceLifecycleConfigurationOutput() NotebookInstanceLifecycleConfigurationOutput
   163  	ToNotebookInstanceLifecycleConfigurationOutputWithContext(ctx context.Context) NotebookInstanceLifecycleConfigurationOutput
   164  }
   165  
   166  func (*NotebookInstanceLifecycleConfiguration) ElementType() reflect.Type {
   167  	return reflect.TypeOf((**NotebookInstanceLifecycleConfiguration)(nil)).Elem()
   168  }
   169  
   170  func (i *NotebookInstanceLifecycleConfiguration) ToNotebookInstanceLifecycleConfigurationOutput() NotebookInstanceLifecycleConfigurationOutput {
   171  	return i.ToNotebookInstanceLifecycleConfigurationOutputWithContext(context.Background())
   172  }
   173  
   174  func (i *NotebookInstanceLifecycleConfiguration) ToNotebookInstanceLifecycleConfigurationOutputWithContext(ctx context.Context) NotebookInstanceLifecycleConfigurationOutput {
   175  	return pulumi.ToOutputWithContext(ctx, i).(NotebookInstanceLifecycleConfigurationOutput)
   176  }
   177  
   178  // NotebookInstanceLifecycleConfigurationArrayInput is an input type that accepts NotebookInstanceLifecycleConfigurationArray and NotebookInstanceLifecycleConfigurationArrayOutput values.
   179  // You can construct a concrete instance of `NotebookInstanceLifecycleConfigurationArrayInput` via:
   180  //
   181  //	NotebookInstanceLifecycleConfigurationArray{ NotebookInstanceLifecycleConfigurationArgs{...} }
   182  type NotebookInstanceLifecycleConfigurationArrayInput interface {
   183  	pulumi.Input
   184  
   185  	ToNotebookInstanceLifecycleConfigurationArrayOutput() NotebookInstanceLifecycleConfigurationArrayOutput
   186  	ToNotebookInstanceLifecycleConfigurationArrayOutputWithContext(context.Context) NotebookInstanceLifecycleConfigurationArrayOutput
   187  }
   188  
   189  type NotebookInstanceLifecycleConfigurationArray []NotebookInstanceLifecycleConfigurationInput
   190  
   191  func (NotebookInstanceLifecycleConfigurationArray) ElementType() reflect.Type {
   192  	return reflect.TypeOf((*[]*NotebookInstanceLifecycleConfiguration)(nil)).Elem()
   193  }
   194  
   195  func (i NotebookInstanceLifecycleConfigurationArray) ToNotebookInstanceLifecycleConfigurationArrayOutput() NotebookInstanceLifecycleConfigurationArrayOutput {
   196  	return i.ToNotebookInstanceLifecycleConfigurationArrayOutputWithContext(context.Background())
   197  }
   198  
   199  func (i NotebookInstanceLifecycleConfigurationArray) ToNotebookInstanceLifecycleConfigurationArrayOutputWithContext(ctx context.Context) NotebookInstanceLifecycleConfigurationArrayOutput {
   200  	return pulumi.ToOutputWithContext(ctx, i).(NotebookInstanceLifecycleConfigurationArrayOutput)
   201  }
   202  
   203  // NotebookInstanceLifecycleConfigurationMapInput is an input type that accepts NotebookInstanceLifecycleConfigurationMap and NotebookInstanceLifecycleConfigurationMapOutput values.
   204  // You can construct a concrete instance of `NotebookInstanceLifecycleConfigurationMapInput` via:
   205  //
   206  //	NotebookInstanceLifecycleConfigurationMap{ "key": NotebookInstanceLifecycleConfigurationArgs{...} }
   207  type NotebookInstanceLifecycleConfigurationMapInput interface {
   208  	pulumi.Input
   209  
   210  	ToNotebookInstanceLifecycleConfigurationMapOutput() NotebookInstanceLifecycleConfigurationMapOutput
   211  	ToNotebookInstanceLifecycleConfigurationMapOutputWithContext(context.Context) NotebookInstanceLifecycleConfigurationMapOutput
   212  }
   213  
   214  type NotebookInstanceLifecycleConfigurationMap map[string]NotebookInstanceLifecycleConfigurationInput
   215  
   216  func (NotebookInstanceLifecycleConfigurationMap) ElementType() reflect.Type {
   217  	return reflect.TypeOf((*map[string]*NotebookInstanceLifecycleConfiguration)(nil)).Elem()
   218  }
   219  
   220  func (i NotebookInstanceLifecycleConfigurationMap) ToNotebookInstanceLifecycleConfigurationMapOutput() NotebookInstanceLifecycleConfigurationMapOutput {
   221  	return i.ToNotebookInstanceLifecycleConfigurationMapOutputWithContext(context.Background())
   222  }
   223  
   224  func (i NotebookInstanceLifecycleConfigurationMap) ToNotebookInstanceLifecycleConfigurationMapOutputWithContext(ctx context.Context) NotebookInstanceLifecycleConfigurationMapOutput {
   225  	return pulumi.ToOutputWithContext(ctx, i).(NotebookInstanceLifecycleConfigurationMapOutput)
   226  }
   227  
   228  type NotebookInstanceLifecycleConfigurationOutput struct{ *pulumi.OutputState }
   229  
   230  func (NotebookInstanceLifecycleConfigurationOutput) ElementType() reflect.Type {
   231  	return reflect.TypeOf((**NotebookInstanceLifecycleConfiguration)(nil)).Elem()
   232  }
   233  
   234  func (o NotebookInstanceLifecycleConfigurationOutput) ToNotebookInstanceLifecycleConfigurationOutput() NotebookInstanceLifecycleConfigurationOutput {
   235  	return o
   236  }
   237  
   238  func (o NotebookInstanceLifecycleConfigurationOutput) ToNotebookInstanceLifecycleConfigurationOutputWithContext(ctx context.Context) NotebookInstanceLifecycleConfigurationOutput {
   239  	return o
   240  }
   241  
   242  // The Amazon Resource Name (ARN) assigned by AWS to this lifecycle configuration.
   243  func (o NotebookInstanceLifecycleConfigurationOutput) Arn() pulumi.StringOutput {
   244  	return o.ApplyT(func(v *NotebookInstanceLifecycleConfiguration) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   245  }
   246  
   247  // The name of the lifecycle configuration (must be unique). If omitted, this provider will assign a random, unique name.
   248  func (o NotebookInstanceLifecycleConfigurationOutput) Name() pulumi.StringOutput {
   249  	return o.ApplyT(func(v *NotebookInstanceLifecycleConfiguration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   250  }
   251  
   252  // A shell script (base64-encoded) that runs only once when the SageMaker Notebook Instance is created.
   253  func (o NotebookInstanceLifecycleConfigurationOutput) OnCreate() pulumi.StringPtrOutput {
   254  	return o.ApplyT(func(v *NotebookInstanceLifecycleConfiguration) pulumi.StringPtrOutput { return v.OnCreate }).(pulumi.StringPtrOutput)
   255  }
   256  
   257  // A shell script (base64-encoded) that runs every time the SageMaker Notebook Instance is started including the time it's created.
   258  func (o NotebookInstanceLifecycleConfigurationOutput) OnStart() pulumi.StringPtrOutput {
   259  	return o.ApplyT(func(v *NotebookInstanceLifecycleConfiguration) pulumi.StringPtrOutput { return v.OnStart }).(pulumi.StringPtrOutput)
   260  }
   261  
   262  type NotebookInstanceLifecycleConfigurationArrayOutput struct{ *pulumi.OutputState }
   263  
   264  func (NotebookInstanceLifecycleConfigurationArrayOutput) ElementType() reflect.Type {
   265  	return reflect.TypeOf((*[]*NotebookInstanceLifecycleConfiguration)(nil)).Elem()
   266  }
   267  
   268  func (o NotebookInstanceLifecycleConfigurationArrayOutput) ToNotebookInstanceLifecycleConfigurationArrayOutput() NotebookInstanceLifecycleConfigurationArrayOutput {
   269  	return o
   270  }
   271  
   272  func (o NotebookInstanceLifecycleConfigurationArrayOutput) ToNotebookInstanceLifecycleConfigurationArrayOutputWithContext(ctx context.Context) NotebookInstanceLifecycleConfigurationArrayOutput {
   273  	return o
   274  }
   275  
   276  func (o NotebookInstanceLifecycleConfigurationArrayOutput) Index(i pulumi.IntInput) NotebookInstanceLifecycleConfigurationOutput {
   277  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *NotebookInstanceLifecycleConfiguration {
   278  		return vs[0].([]*NotebookInstanceLifecycleConfiguration)[vs[1].(int)]
   279  	}).(NotebookInstanceLifecycleConfigurationOutput)
   280  }
   281  
   282  type NotebookInstanceLifecycleConfigurationMapOutput struct{ *pulumi.OutputState }
   283  
   284  func (NotebookInstanceLifecycleConfigurationMapOutput) ElementType() reflect.Type {
   285  	return reflect.TypeOf((*map[string]*NotebookInstanceLifecycleConfiguration)(nil)).Elem()
   286  }
   287  
   288  func (o NotebookInstanceLifecycleConfigurationMapOutput) ToNotebookInstanceLifecycleConfigurationMapOutput() NotebookInstanceLifecycleConfigurationMapOutput {
   289  	return o
   290  }
   291  
   292  func (o NotebookInstanceLifecycleConfigurationMapOutput) ToNotebookInstanceLifecycleConfigurationMapOutputWithContext(ctx context.Context) NotebookInstanceLifecycleConfigurationMapOutput {
   293  	return o
   294  }
   295  
   296  func (o NotebookInstanceLifecycleConfigurationMapOutput) MapIndex(k pulumi.StringInput) NotebookInstanceLifecycleConfigurationOutput {
   297  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *NotebookInstanceLifecycleConfiguration {
   298  		return vs[0].(map[string]*NotebookInstanceLifecycleConfiguration)[vs[1].(string)]
   299  	}).(NotebookInstanceLifecycleConfigurationOutput)
   300  }
   301  
   302  func init() {
   303  	pulumi.RegisterInputType(reflect.TypeOf((*NotebookInstanceLifecycleConfigurationInput)(nil)).Elem(), &NotebookInstanceLifecycleConfiguration{})
   304  	pulumi.RegisterInputType(reflect.TypeOf((*NotebookInstanceLifecycleConfigurationArrayInput)(nil)).Elem(), NotebookInstanceLifecycleConfigurationArray{})
   305  	pulumi.RegisterInputType(reflect.TypeOf((*NotebookInstanceLifecycleConfigurationMapInput)(nil)).Elem(), NotebookInstanceLifecycleConfigurationMap{})
   306  	pulumi.RegisterOutputType(NotebookInstanceLifecycleConfigurationOutput{})
   307  	pulumi.RegisterOutputType(NotebookInstanceLifecycleConfigurationArrayOutput{})
   308  	pulumi.RegisterOutputType(NotebookInstanceLifecycleConfigurationMapOutput{})
   309  }