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 }