github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/lambda/provisionedConcurrencyConfig.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 lambda 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 // Manages a Lambda Provisioned Concurrency Configuration. 16 // 17 // > **NOTE:** Setting `skipDestroy` to `true` means that the AWS Provider will _not_ destroy a provisioned concurrency configuration, even when running `pulumi destroy`. The configuration is thus an intentional dangling resource that is _not_ managed by Pulumi and may incur extra expense in your AWS account. 18 // 19 // ## Example Usage 20 // 21 // ### Alias Name 22 // 23 // <!--Start PulumiCodeChooser --> 24 // ```go 25 // package main 26 // 27 // import ( 28 // 29 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda" 30 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 31 // 32 // ) 33 // 34 // func main() { 35 // pulumi.Run(func(ctx *pulumi.Context) error { 36 // _, err := lambda.NewProvisionedConcurrencyConfig(ctx, "example", &lambda.ProvisionedConcurrencyConfigArgs{ 37 // FunctionName: pulumi.Any(exampleAwsLambdaAlias.FunctionName), 38 // ProvisionedConcurrentExecutions: pulumi.Int(1), 39 // Qualifier: pulumi.Any(exampleAwsLambdaAlias.Name), 40 // }) 41 // if err != nil { 42 // return err 43 // } 44 // return nil 45 // }) 46 // } 47 // 48 // ``` 49 // <!--End PulumiCodeChooser --> 50 // 51 // ### Function Version 52 // 53 // <!--Start PulumiCodeChooser --> 54 // ```go 55 // package main 56 // 57 // import ( 58 // 59 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda" 60 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 61 // 62 // ) 63 // 64 // func main() { 65 // pulumi.Run(func(ctx *pulumi.Context) error { 66 // _, err := lambda.NewProvisionedConcurrencyConfig(ctx, "example", &lambda.ProvisionedConcurrencyConfigArgs{ 67 // FunctionName: pulumi.Any(exampleAwsLambdaFunction.FunctionName), 68 // ProvisionedConcurrentExecutions: pulumi.Int(1), 69 // Qualifier: pulumi.Any(exampleAwsLambdaFunction.Version), 70 // }) 71 // if err != nil { 72 // return err 73 // } 74 // return nil 75 // }) 76 // } 77 // 78 // ``` 79 // <!--End PulumiCodeChooser --> 80 // 81 // ## Import 82 // 83 // Using `pulumi import`, import a Lambda Provisioned Concurrency Configuration using the `function_name` and `qualifier` separated by a comma (`,`). For example: 84 // 85 // ```sh 86 // $ pulumi import aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig example my_function,production 87 // ``` 88 type ProvisionedConcurrencyConfig struct { 89 pulumi.CustomResourceState 90 91 // Name or Amazon Resource Name (ARN) of the Lambda Function. 92 FunctionName pulumi.StringOutput `pulumi:"functionName"` 93 // Amount of capacity to allocate. Must be greater than or equal to `1`. 94 ProvisionedConcurrentExecutions pulumi.IntOutput `pulumi:"provisionedConcurrentExecutions"` 95 // Lambda Function version or Lambda Alias name. 96 // 97 // The following arguments are optional: 98 Qualifier pulumi.StringOutput `pulumi:"qualifier"` 99 // Whether to retain the provisoned concurrency configuration upon destruction. Defaults to `false`. If set to `true`, the resource in simply removed from state instead. 100 SkipDestroy pulumi.BoolPtrOutput `pulumi:"skipDestroy"` 101 } 102 103 // NewProvisionedConcurrencyConfig registers a new resource with the given unique name, arguments, and options. 104 func NewProvisionedConcurrencyConfig(ctx *pulumi.Context, 105 name string, args *ProvisionedConcurrencyConfigArgs, opts ...pulumi.ResourceOption) (*ProvisionedConcurrencyConfig, error) { 106 if args == nil { 107 return nil, errors.New("missing one or more required arguments") 108 } 109 110 if args.FunctionName == nil { 111 return nil, errors.New("invalid value for required argument 'FunctionName'") 112 } 113 if args.ProvisionedConcurrentExecutions == nil { 114 return nil, errors.New("invalid value for required argument 'ProvisionedConcurrentExecutions'") 115 } 116 if args.Qualifier == nil { 117 return nil, errors.New("invalid value for required argument 'Qualifier'") 118 } 119 opts = internal.PkgResourceDefaultOpts(opts) 120 var resource ProvisionedConcurrencyConfig 121 err := ctx.RegisterResource("aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig", name, args, &resource, opts...) 122 if err != nil { 123 return nil, err 124 } 125 return &resource, nil 126 } 127 128 // GetProvisionedConcurrencyConfig gets an existing ProvisionedConcurrencyConfig resource's state with the given name, ID, and optional 129 // state properties that are used to uniquely qualify the lookup (nil if not required). 130 func GetProvisionedConcurrencyConfig(ctx *pulumi.Context, 131 name string, id pulumi.IDInput, state *ProvisionedConcurrencyConfigState, opts ...pulumi.ResourceOption) (*ProvisionedConcurrencyConfig, error) { 132 var resource ProvisionedConcurrencyConfig 133 err := ctx.ReadResource("aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig", name, id, state, &resource, opts...) 134 if err != nil { 135 return nil, err 136 } 137 return &resource, nil 138 } 139 140 // Input properties used for looking up and filtering ProvisionedConcurrencyConfig resources. 141 type provisionedConcurrencyConfigState struct { 142 // Name or Amazon Resource Name (ARN) of the Lambda Function. 143 FunctionName *string `pulumi:"functionName"` 144 // Amount of capacity to allocate. Must be greater than or equal to `1`. 145 ProvisionedConcurrentExecutions *int `pulumi:"provisionedConcurrentExecutions"` 146 // Lambda Function version or Lambda Alias name. 147 // 148 // The following arguments are optional: 149 Qualifier *string `pulumi:"qualifier"` 150 // Whether to retain the provisoned concurrency configuration upon destruction. Defaults to `false`. If set to `true`, the resource in simply removed from state instead. 151 SkipDestroy *bool `pulumi:"skipDestroy"` 152 } 153 154 type ProvisionedConcurrencyConfigState struct { 155 // Name or Amazon Resource Name (ARN) of the Lambda Function. 156 FunctionName pulumi.StringPtrInput 157 // Amount of capacity to allocate. Must be greater than or equal to `1`. 158 ProvisionedConcurrentExecutions pulumi.IntPtrInput 159 // Lambda Function version or Lambda Alias name. 160 // 161 // The following arguments are optional: 162 Qualifier pulumi.StringPtrInput 163 // Whether to retain the provisoned concurrency configuration upon destruction. Defaults to `false`. If set to `true`, the resource in simply removed from state instead. 164 SkipDestroy pulumi.BoolPtrInput 165 } 166 167 func (ProvisionedConcurrencyConfigState) ElementType() reflect.Type { 168 return reflect.TypeOf((*provisionedConcurrencyConfigState)(nil)).Elem() 169 } 170 171 type provisionedConcurrencyConfigArgs struct { 172 // Name or Amazon Resource Name (ARN) of the Lambda Function. 173 FunctionName string `pulumi:"functionName"` 174 // Amount of capacity to allocate. Must be greater than or equal to `1`. 175 ProvisionedConcurrentExecutions int `pulumi:"provisionedConcurrentExecutions"` 176 // Lambda Function version or Lambda Alias name. 177 // 178 // The following arguments are optional: 179 Qualifier string `pulumi:"qualifier"` 180 // Whether to retain the provisoned concurrency configuration upon destruction. Defaults to `false`. If set to `true`, the resource in simply removed from state instead. 181 SkipDestroy *bool `pulumi:"skipDestroy"` 182 } 183 184 // The set of arguments for constructing a ProvisionedConcurrencyConfig resource. 185 type ProvisionedConcurrencyConfigArgs struct { 186 // Name or Amazon Resource Name (ARN) of the Lambda Function. 187 FunctionName pulumi.StringInput 188 // Amount of capacity to allocate. Must be greater than or equal to `1`. 189 ProvisionedConcurrentExecutions pulumi.IntInput 190 // Lambda Function version or Lambda Alias name. 191 // 192 // The following arguments are optional: 193 Qualifier pulumi.StringInput 194 // Whether to retain the provisoned concurrency configuration upon destruction. Defaults to `false`. If set to `true`, the resource in simply removed from state instead. 195 SkipDestroy pulumi.BoolPtrInput 196 } 197 198 func (ProvisionedConcurrencyConfigArgs) ElementType() reflect.Type { 199 return reflect.TypeOf((*provisionedConcurrencyConfigArgs)(nil)).Elem() 200 } 201 202 type ProvisionedConcurrencyConfigInput interface { 203 pulumi.Input 204 205 ToProvisionedConcurrencyConfigOutput() ProvisionedConcurrencyConfigOutput 206 ToProvisionedConcurrencyConfigOutputWithContext(ctx context.Context) ProvisionedConcurrencyConfigOutput 207 } 208 209 func (*ProvisionedConcurrencyConfig) ElementType() reflect.Type { 210 return reflect.TypeOf((**ProvisionedConcurrencyConfig)(nil)).Elem() 211 } 212 213 func (i *ProvisionedConcurrencyConfig) ToProvisionedConcurrencyConfigOutput() ProvisionedConcurrencyConfigOutput { 214 return i.ToProvisionedConcurrencyConfigOutputWithContext(context.Background()) 215 } 216 217 func (i *ProvisionedConcurrencyConfig) ToProvisionedConcurrencyConfigOutputWithContext(ctx context.Context) ProvisionedConcurrencyConfigOutput { 218 return pulumi.ToOutputWithContext(ctx, i).(ProvisionedConcurrencyConfigOutput) 219 } 220 221 // ProvisionedConcurrencyConfigArrayInput is an input type that accepts ProvisionedConcurrencyConfigArray and ProvisionedConcurrencyConfigArrayOutput values. 222 // You can construct a concrete instance of `ProvisionedConcurrencyConfigArrayInput` via: 223 // 224 // ProvisionedConcurrencyConfigArray{ ProvisionedConcurrencyConfigArgs{...} } 225 type ProvisionedConcurrencyConfigArrayInput interface { 226 pulumi.Input 227 228 ToProvisionedConcurrencyConfigArrayOutput() ProvisionedConcurrencyConfigArrayOutput 229 ToProvisionedConcurrencyConfigArrayOutputWithContext(context.Context) ProvisionedConcurrencyConfigArrayOutput 230 } 231 232 type ProvisionedConcurrencyConfigArray []ProvisionedConcurrencyConfigInput 233 234 func (ProvisionedConcurrencyConfigArray) ElementType() reflect.Type { 235 return reflect.TypeOf((*[]*ProvisionedConcurrencyConfig)(nil)).Elem() 236 } 237 238 func (i ProvisionedConcurrencyConfigArray) ToProvisionedConcurrencyConfigArrayOutput() ProvisionedConcurrencyConfigArrayOutput { 239 return i.ToProvisionedConcurrencyConfigArrayOutputWithContext(context.Background()) 240 } 241 242 func (i ProvisionedConcurrencyConfigArray) ToProvisionedConcurrencyConfigArrayOutputWithContext(ctx context.Context) ProvisionedConcurrencyConfigArrayOutput { 243 return pulumi.ToOutputWithContext(ctx, i).(ProvisionedConcurrencyConfigArrayOutput) 244 } 245 246 // ProvisionedConcurrencyConfigMapInput is an input type that accepts ProvisionedConcurrencyConfigMap and ProvisionedConcurrencyConfigMapOutput values. 247 // You can construct a concrete instance of `ProvisionedConcurrencyConfigMapInput` via: 248 // 249 // ProvisionedConcurrencyConfigMap{ "key": ProvisionedConcurrencyConfigArgs{...} } 250 type ProvisionedConcurrencyConfigMapInput interface { 251 pulumi.Input 252 253 ToProvisionedConcurrencyConfigMapOutput() ProvisionedConcurrencyConfigMapOutput 254 ToProvisionedConcurrencyConfigMapOutputWithContext(context.Context) ProvisionedConcurrencyConfigMapOutput 255 } 256 257 type ProvisionedConcurrencyConfigMap map[string]ProvisionedConcurrencyConfigInput 258 259 func (ProvisionedConcurrencyConfigMap) ElementType() reflect.Type { 260 return reflect.TypeOf((*map[string]*ProvisionedConcurrencyConfig)(nil)).Elem() 261 } 262 263 func (i ProvisionedConcurrencyConfigMap) ToProvisionedConcurrencyConfigMapOutput() ProvisionedConcurrencyConfigMapOutput { 264 return i.ToProvisionedConcurrencyConfigMapOutputWithContext(context.Background()) 265 } 266 267 func (i ProvisionedConcurrencyConfigMap) ToProvisionedConcurrencyConfigMapOutputWithContext(ctx context.Context) ProvisionedConcurrencyConfigMapOutput { 268 return pulumi.ToOutputWithContext(ctx, i).(ProvisionedConcurrencyConfigMapOutput) 269 } 270 271 type ProvisionedConcurrencyConfigOutput struct{ *pulumi.OutputState } 272 273 func (ProvisionedConcurrencyConfigOutput) ElementType() reflect.Type { 274 return reflect.TypeOf((**ProvisionedConcurrencyConfig)(nil)).Elem() 275 } 276 277 func (o ProvisionedConcurrencyConfigOutput) ToProvisionedConcurrencyConfigOutput() ProvisionedConcurrencyConfigOutput { 278 return o 279 } 280 281 func (o ProvisionedConcurrencyConfigOutput) ToProvisionedConcurrencyConfigOutputWithContext(ctx context.Context) ProvisionedConcurrencyConfigOutput { 282 return o 283 } 284 285 // Name or Amazon Resource Name (ARN) of the Lambda Function. 286 func (o ProvisionedConcurrencyConfigOutput) FunctionName() pulumi.StringOutput { 287 return o.ApplyT(func(v *ProvisionedConcurrencyConfig) pulumi.StringOutput { return v.FunctionName }).(pulumi.StringOutput) 288 } 289 290 // Amount of capacity to allocate. Must be greater than or equal to `1`. 291 func (o ProvisionedConcurrencyConfigOutput) ProvisionedConcurrentExecutions() pulumi.IntOutput { 292 return o.ApplyT(func(v *ProvisionedConcurrencyConfig) pulumi.IntOutput { return v.ProvisionedConcurrentExecutions }).(pulumi.IntOutput) 293 } 294 295 // Lambda Function version or Lambda Alias name. 296 // 297 // The following arguments are optional: 298 func (o ProvisionedConcurrencyConfigOutput) Qualifier() pulumi.StringOutput { 299 return o.ApplyT(func(v *ProvisionedConcurrencyConfig) pulumi.StringOutput { return v.Qualifier }).(pulumi.StringOutput) 300 } 301 302 // Whether to retain the provisoned concurrency configuration upon destruction. Defaults to `false`. If set to `true`, the resource in simply removed from state instead. 303 func (o ProvisionedConcurrencyConfigOutput) SkipDestroy() pulumi.BoolPtrOutput { 304 return o.ApplyT(func(v *ProvisionedConcurrencyConfig) pulumi.BoolPtrOutput { return v.SkipDestroy }).(pulumi.BoolPtrOutput) 305 } 306 307 type ProvisionedConcurrencyConfigArrayOutput struct{ *pulumi.OutputState } 308 309 func (ProvisionedConcurrencyConfigArrayOutput) ElementType() reflect.Type { 310 return reflect.TypeOf((*[]*ProvisionedConcurrencyConfig)(nil)).Elem() 311 } 312 313 func (o ProvisionedConcurrencyConfigArrayOutput) ToProvisionedConcurrencyConfigArrayOutput() ProvisionedConcurrencyConfigArrayOutput { 314 return o 315 } 316 317 func (o ProvisionedConcurrencyConfigArrayOutput) ToProvisionedConcurrencyConfigArrayOutputWithContext(ctx context.Context) ProvisionedConcurrencyConfigArrayOutput { 318 return o 319 } 320 321 func (o ProvisionedConcurrencyConfigArrayOutput) Index(i pulumi.IntInput) ProvisionedConcurrencyConfigOutput { 322 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ProvisionedConcurrencyConfig { 323 return vs[0].([]*ProvisionedConcurrencyConfig)[vs[1].(int)] 324 }).(ProvisionedConcurrencyConfigOutput) 325 } 326 327 type ProvisionedConcurrencyConfigMapOutput struct{ *pulumi.OutputState } 328 329 func (ProvisionedConcurrencyConfigMapOutput) ElementType() reflect.Type { 330 return reflect.TypeOf((*map[string]*ProvisionedConcurrencyConfig)(nil)).Elem() 331 } 332 333 func (o ProvisionedConcurrencyConfigMapOutput) ToProvisionedConcurrencyConfigMapOutput() ProvisionedConcurrencyConfigMapOutput { 334 return o 335 } 336 337 func (o ProvisionedConcurrencyConfigMapOutput) ToProvisionedConcurrencyConfigMapOutputWithContext(ctx context.Context) ProvisionedConcurrencyConfigMapOutput { 338 return o 339 } 340 341 func (o ProvisionedConcurrencyConfigMapOutput) MapIndex(k pulumi.StringInput) ProvisionedConcurrencyConfigOutput { 342 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ProvisionedConcurrencyConfig { 343 return vs[0].(map[string]*ProvisionedConcurrencyConfig)[vs[1].(string)] 344 }).(ProvisionedConcurrencyConfigOutput) 345 } 346 347 func init() { 348 pulumi.RegisterInputType(reflect.TypeOf((*ProvisionedConcurrencyConfigInput)(nil)).Elem(), &ProvisionedConcurrencyConfig{}) 349 pulumi.RegisterInputType(reflect.TypeOf((*ProvisionedConcurrencyConfigArrayInput)(nil)).Elem(), ProvisionedConcurrencyConfigArray{}) 350 pulumi.RegisterInputType(reflect.TypeOf((*ProvisionedConcurrencyConfigMapInput)(nil)).Elem(), ProvisionedConcurrencyConfigMap{}) 351 pulumi.RegisterOutputType(ProvisionedConcurrencyConfigOutput{}) 352 pulumi.RegisterOutputType(ProvisionedConcurrencyConfigArrayOutput{}) 353 pulumi.RegisterOutputType(ProvisionedConcurrencyConfigMapOutput{}) 354 }