github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/sagemaker/studioLifecycleConfig.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 Studio Lifecycle Config 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-std/sdk/go/std" 29 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 30 // 31 // ) 32 // 33 // func main() { 34 // pulumi.Run(func(ctx *pulumi.Context) error { 35 // invokeBase64encode, err := std.Base64encode(ctx, &std.Base64encodeArgs{ 36 // Input: "echo Hello", 37 // }, nil) 38 // if err != nil { 39 // return err 40 // } 41 // _, err = sagemaker.NewStudioLifecycleConfig(ctx, "example", &sagemaker.StudioLifecycleConfigArgs{ 42 // StudioLifecycleConfigName: pulumi.String("example"), 43 // StudioLifecycleConfigAppType: pulumi.String("JupyterServer"), 44 // StudioLifecycleConfigContent: invokeBase64encode.Result, 45 // }) 46 // if err != nil { 47 // return err 48 // } 49 // return nil 50 // }) 51 // } 52 // 53 // ``` 54 // <!--End PulumiCodeChooser --> 55 // 56 // ## Import 57 // 58 // Using `pulumi import`, import SageMaker Studio Lifecycle Configs using the `studio_lifecycle_config_name`. For example: 59 // 60 // ```sh 61 // $ pulumi import aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig example example 62 // ``` 63 type StudioLifecycleConfig struct { 64 pulumi.CustomResourceState 65 66 // The Amazon Resource Name (ARN) assigned by AWS to this Studio Lifecycle Config. 67 Arn pulumi.StringOutput `pulumi:"arn"` 68 // The App type that the Lifecycle Configuration is attached to. Valid values are `JupyterServer`, `JupyterLab`, `CodeEditor` and `KernelGateway`. 69 StudioLifecycleConfigAppType pulumi.StringOutput `pulumi:"studioLifecycleConfigAppType"` 70 // The content of your Studio Lifecycle Configuration script. This content must be base64 encoded. 71 StudioLifecycleConfigContent pulumi.StringOutput `pulumi:"studioLifecycleConfigContent"` 72 // The name of the Studio Lifecycle Configuration to create. 73 StudioLifecycleConfigName pulumi.StringOutput `pulumi:"studioLifecycleConfigName"` 74 // 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. 75 Tags pulumi.StringMapOutput `pulumi:"tags"` 76 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 77 // 78 // Deprecated: Please use `tags` instead. 79 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 80 } 81 82 // NewStudioLifecycleConfig registers a new resource with the given unique name, arguments, and options. 83 func NewStudioLifecycleConfig(ctx *pulumi.Context, 84 name string, args *StudioLifecycleConfigArgs, opts ...pulumi.ResourceOption) (*StudioLifecycleConfig, error) { 85 if args == nil { 86 return nil, errors.New("missing one or more required arguments") 87 } 88 89 if args.StudioLifecycleConfigAppType == nil { 90 return nil, errors.New("invalid value for required argument 'StudioLifecycleConfigAppType'") 91 } 92 if args.StudioLifecycleConfigContent == nil { 93 return nil, errors.New("invalid value for required argument 'StudioLifecycleConfigContent'") 94 } 95 if args.StudioLifecycleConfigName == nil { 96 return nil, errors.New("invalid value for required argument 'StudioLifecycleConfigName'") 97 } 98 opts = internal.PkgResourceDefaultOpts(opts) 99 var resource StudioLifecycleConfig 100 err := ctx.RegisterResource("aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig", name, args, &resource, opts...) 101 if err != nil { 102 return nil, err 103 } 104 return &resource, nil 105 } 106 107 // GetStudioLifecycleConfig gets an existing StudioLifecycleConfig resource's state with the given name, ID, and optional 108 // state properties that are used to uniquely qualify the lookup (nil if not required). 109 func GetStudioLifecycleConfig(ctx *pulumi.Context, 110 name string, id pulumi.IDInput, state *StudioLifecycleConfigState, opts ...pulumi.ResourceOption) (*StudioLifecycleConfig, error) { 111 var resource StudioLifecycleConfig 112 err := ctx.ReadResource("aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig", name, id, state, &resource, opts...) 113 if err != nil { 114 return nil, err 115 } 116 return &resource, nil 117 } 118 119 // Input properties used for looking up and filtering StudioLifecycleConfig resources. 120 type studioLifecycleConfigState struct { 121 // The Amazon Resource Name (ARN) assigned by AWS to this Studio Lifecycle Config. 122 Arn *string `pulumi:"arn"` 123 // The App type that the Lifecycle Configuration is attached to. Valid values are `JupyterServer`, `JupyterLab`, `CodeEditor` and `KernelGateway`. 124 StudioLifecycleConfigAppType *string `pulumi:"studioLifecycleConfigAppType"` 125 // The content of your Studio Lifecycle Configuration script. This content must be base64 encoded. 126 StudioLifecycleConfigContent *string `pulumi:"studioLifecycleConfigContent"` 127 // The name of the Studio Lifecycle Configuration to create. 128 StudioLifecycleConfigName *string `pulumi:"studioLifecycleConfigName"` 129 // 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. 130 Tags map[string]string `pulumi:"tags"` 131 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 132 // 133 // Deprecated: Please use `tags` instead. 134 TagsAll map[string]string `pulumi:"tagsAll"` 135 } 136 137 type StudioLifecycleConfigState struct { 138 // The Amazon Resource Name (ARN) assigned by AWS to this Studio Lifecycle Config. 139 Arn pulumi.StringPtrInput 140 // The App type that the Lifecycle Configuration is attached to. Valid values are `JupyterServer`, `JupyterLab`, `CodeEditor` and `KernelGateway`. 141 StudioLifecycleConfigAppType pulumi.StringPtrInput 142 // The content of your Studio Lifecycle Configuration script. This content must be base64 encoded. 143 StudioLifecycleConfigContent pulumi.StringPtrInput 144 // The name of the Studio Lifecycle Configuration to create. 145 StudioLifecycleConfigName pulumi.StringPtrInput 146 // 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. 147 Tags pulumi.StringMapInput 148 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 149 // 150 // Deprecated: Please use `tags` instead. 151 TagsAll pulumi.StringMapInput 152 } 153 154 func (StudioLifecycleConfigState) ElementType() reflect.Type { 155 return reflect.TypeOf((*studioLifecycleConfigState)(nil)).Elem() 156 } 157 158 type studioLifecycleConfigArgs struct { 159 // The App type that the Lifecycle Configuration is attached to. Valid values are `JupyterServer`, `JupyterLab`, `CodeEditor` and `KernelGateway`. 160 StudioLifecycleConfigAppType string `pulumi:"studioLifecycleConfigAppType"` 161 // The content of your Studio Lifecycle Configuration script. This content must be base64 encoded. 162 StudioLifecycleConfigContent string `pulumi:"studioLifecycleConfigContent"` 163 // The name of the Studio Lifecycle Configuration to create. 164 StudioLifecycleConfigName string `pulumi:"studioLifecycleConfigName"` 165 // 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. 166 Tags map[string]string `pulumi:"tags"` 167 } 168 169 // The set of arguments for constructing a StudioLifecycleConfig resource. 170 type StudioLifecycleConfigArgs struct { 171 // The App type that the Lifecycle Configuration is attached to. Valid values are `JupyterServer`, `JupyterLab`, `CodeEditor` and `KernelGateway`. 172 StudioLifecycleConfigAppType pulumi.StringInput 173 // The content of your Studio Lifecycle Configuration script. This content must be base64 encoded. 174 StudioLifecycleConfigContent pulumi.StringInput 175 // The name of the Studio Lifecycle Configuration to create. 176 StudioLifecycleConfigName pulumi.StringInput 177 // 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. 178 Tags pulumi.StringMapInput 179 } 180 181 func (StudioLifecycleConfigArgs) ElementType() reflect.Type { 182 return reflect.TypeOf((*studioLifecycleConfigArgs)(nil)).Elem() 183 } 184 185 type StudioLifecycleConfigInput interface { 186 pulumi.Input 187 188 ToStudioLifecycleConfigOutput() StudioLifecycleConfigOutput 189 ToStudioLifecycleConfigOutputWithContext(ctx context.Context) StudioLifecycleConfigOutput 190 } 191 192 func (*StudioLifecycleConfig) ElementType() reflect.Type { 193 return reflect.TypeOf((**StudioLifecycleConfig)(nil)).Elem() 194 } 195 196 func (i *StudioLifecycleConfig) ToStudioLifecycleConfigOutput() StudioLifecycleConfigOutput { 197 return i.ToStudioLifecycleConfigOutputWithContext(context.Background()) 198 } 199 200 func (i *StudioLifecycleConfig) ToStudioLifecycleConfigOutputWithContext(ctx context.Context) StudioLifecycleConfigOutput { 201 return pulumi.ToOutputWithContext(ctx, i).(StudioLifecycleConfigOutput) 202 } 203 204 // StudioLifecycleConfigArrayInput is an input type that accepts StudioLifecycleConfigArray and StudioLifecycleConfigArrayOutput values. 205 // You can construct a concrete instance of `StudioLifecycleConfigArrayInput` via: 206 // 207 // StudioLifecycleConfigArray{ StudioLifecycleConfigArgs{...} } 208 type StudioLifecycleConfigArrayInput interface { 209 pulumi.Input 210 211 ToStudioLifecycleConfigArrayOutput() StudioLifecycleConfigArrayOutput 212 ToStudioLifecycleConfigArrayOutputWithContext(context.Context) StudioLifecycleConfigArrayOutput 213 } 214 215 type StudioLifecycleConfigArray []StudioLifecycleConfigInput 216 217 func (StudioLifecycleConfigArray) ElementType() reflect.Type { 218 return reflect.TypeOf((*[]*StudioLifecycleConfig)(nil)).Elem() 219 } 220 221 func (i StudioLifecycleConfigArray) ToStudioLifecycleConfigArrayOutput() StudioLifecycleConfigArrayOutput { 222 return i.ToStudioLifecycleConfigArrayOutputWithContext(context.Background()) 223 } 224 225 func (i StudioLifecycleConfigArray) ToStudioLifecycleConfigArrayOutputWithContext(ctx context.Context) StudioLifecycleConfigArrayOutput { 226 return pulumi.ToOutputWithContext(ctx, i).(StudioLifecycleConfigArrayOutput) 227 } 228 229 // StudioLifecycleConfigMapInput is an input type that accepts StudioLifecycleConfigMap and StudioLifecycleConfigMapOutput values. 230 // You can construct a concrete instance of `StudioLifecycleConfigMapInput` via: 231 // 232 // StudioLifecycleConfigMap{ "key": StudioLifecycleConfigArgs{...} } 233 type StudioLifecycleConfigMapInput interface { 234 pulumi.Input 235 236 ToStudioLifecycleConfigMapOutput() StudioLifecycleConfigMapOutput 237 ToStudioLifecycleConfigMapOutputWithContext(context.Context) StudioLifecycleConfigMapOutput 238 } 239 240 type StudioLifecycleConfigMap map[string]StudioLifecycleConfigInput 241 242 func (StudioLifecycleConfigMap) ElementType() reflect.Type { 243 return reflect.TypeOf((*map[string]*StudioLifecycleConfig)(nil)).Elem() 244 } 245 246 func (i StudioLifecycleConfigMap) ToStudioLifecycleConfigMapOutput() StudioLifecycleConfigMapOutput { 247 return i.ToStudioLifecycleConfigMapOutputWithContext(context.Background()) 248 } 249 250 func (i StudioLifecycleConfigMap) ToStudioLifecycleConfigMapOutputWithContext(ctx context.Context) StudioLifecycleConfigMapOutput { 251 return pulumi.ToOutputWithContext(ctx, i).(StudioLifecycleConfigMapOutput) 252 } 253 254 type StudioLifecycleConfigOutput struct{ *pulumi.OutputState } 255 256 func (StudioLifecycleConfigOutput) ElementType() reflect.Type { 257 return reflect.TypeOf((**StudioLifecycleConfig)(nil)).Elem() 258 } 259 260 func (o StudioLifecycleConfigOutput) ToStudioLifecycleConfigOutput() StudioLifecycleConfigOutput { 261 return o 262 } 263 264 func (o StudioLifecycleConfigOutput) ToStudioLifecycleConfigOutputWithContext(ctx context.Context) StudioLifecycleConfigOutput { 265 return o 266 } 267 268 // The Amazon Resource Name (ARN) assigned by AWS to this Studio Lifecycle Config. 269 func (o StudioLifecycleConfigOutput) Arn() pulumi.StringOutput { 270 return o.ApplyT(func(v *StudioLifecycleConfig) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 271 } 272 273 // The App type that the Lifecycle Configuration is attached to. Valid values are `JupyterServer`, `JupyterLab`, `CodeEditor` and `KernelGateway`. 274 func (o StudioLifecycleConfigOutput) StudioLifecycleConfigAppType() pulumi.StringOutput { 275 return o.ApplyT(func(v *StudioLifecycleConfig) pulumi.StringOutput { return v.StudioLifecycleConfigAppType }).(pulumi.StringOutput) 276 } 277 278 // The content of your Studio Lifecycle Configuration script. This content must be base64 encoded. 279 func (o StudioLifecycleConfigOutput) StudioLifecycleConfigContent() pulumi.StringOutput { 280 return o.ApplyT(func(v *StudioLifecycleConfig) pulumi.StringOutput { return v.StudioLifecycleConfigContent }).(pulumi.StringOutput) 281 } 282 283 // The name of the Studio Lifecycle Configuration to create. 284 func (o StudioLifecycleConfigOutput) StudioLifecycleConfigName() pulumi.StringOutput { 285 return o.ApplyT(func(v *StudioLifecycleConfig) pulumi.StringOutput { return v.StudioLifecycleConfigName }).(pulumi.StringOutput) 286 } 287 288 // 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. 289 func (o StudioLifecycleConfigOutput) Tags() pulumi.StringMapOutput { 290 return o.ApplyT(func(v *StudioLifecycleConfig) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 291 } 292 293 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 294 // 295 // Deprecated: Please use `tags` instead. 296 func (o StudioLifecycleConfigOutput) TagsAll() pulumi.StringMapOutput { 297 return o.ApplyT(func(v *StudioLifecycleConfig) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 298 } 299 300 type StudioLifecycleConfigArrayOutput struct{ *pulumi.OutputState } 301 302 func (StudioLifecycleConfigArrayOutput) ElementType() reflect.Type { 303 return reflect.TypeOf((*[]*StudioLifecycleConfig)(nil)).Elem() 304 } 305 306 func (o StudioLifecycleConfigArrayOutput) ToStudioLifecycleConfigArrayOutput() StudioLifecycleConfigArrayOutput { 307 return o 308 } 309 310 func (o StudioLifecycleConfigArrayOutput) ToStudioLifecycleConfigArrayOutputWithContext(ctx context.Context) StudioLifecycleConfigArrayOutput { 311 return o 312 } 313 314 func (o StudioLifecycleConfigArrayOutput) Index(i pulumi.IntInput) StudioLifecycleConfigOutput { 315 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *StudioLifecycleConfig { 316 return vs[0].([]*StudioLifecycleConfig)[vs[1].(int)] 317 }).(StudioLifecycleConfigOutput) 318 } 319 320 type StudioLifecycleConfigMapOutput struct{ *pulumi.OutputState } 321 322 func (StudioLifecycleConfigMapOutput) ElementType() reflect.Type { 323 return reflect.TypeOf((*map[string]*StudioLifecycleConfig)(nil)).Elem() 324 } 325 326 func (o StudioLifecycleConfigMapOutput) ToStudioLifecycleConfigMapOutput() StudioLifecycleConfigMapOutput { 327 return o 328 } 329 330 func (o StudioLifecycleConfigMapOutput) ToStudioLifecycleConfigMapOutputWithContext(ctx context.Context) StudioLifecycleConfigMapOutput { 331 return o 332 } 333 334 func (o StudioLifecycleConfigMapOutput) MapIndex(k pulumi.StringInput) StudioLifecycleConfigOutput { 335 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *StudioLifecycleConfig { 336 return vs[0].(map[string]*StudioLifecycleConfig)[vs[1].(string)] 337 }).(StudioLifecycleConfigOutput) 338 } 339 340 func init() { 341 pulumi.RegisterInputType(reflect.TypeOf((*StudioLifecycleConfigInput)(nil)).Elem(), &StudioLifecycleConfig{}) 342 pulumi.RegisterInputType(reflect.TypeOf((*StudioLifecycleConfigArrayInput)(nil)).Elem(), StudioLifecycleConfigArray{}) 343 pulumi.RegisterInputType(reflect.TypeOf((*StudioLifecycleConfigMapInput)(nil)).Elem(), StudioLifecycleConfigMap{}) 344 pulumi.RegisterOutputType(StudioLifecycleConfigOutput{}) 345 pulumi.RegisterOutputType(StudioLifecycleConfigArrayOutput{}) 346 pulumi.RegisterOutputType(StudioLifecycleConfigMapOutput{}) 347 }