github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/lightsail/lbStickinessPolicy.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 lightsail 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 // Configures Session Stickiness for a Lightsail Load Balancer. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lightsail" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // test, err := lightsail.NewLb(ctx, "test", &lightsail.LbArgs{ 33 // Name: pulumi.String("test-load-balancer"), 34 // HealthCheckPath: pulumi.String("/"), 35 // InstancePort: pulumi.Int(80), 36 // Tags: pulumi.StringMap{ 37 // "foo": pulumi.String("bar"), 38 // }, 39 // }) 40 // if err != nil { 41 // return err 42 // } 43 // _, err = lightsail.NewLbStickinessPolicy(ctx, "test", &lightsail.LbStickinessPolicyArgs{ 44 // LbName: test.Name, 45 // CookieDuration: pulumi.Int(900), 46 // Enabled: pulumi.Bool(true), 47 // }) 48 // if err != nil { 49 // return err 50 // } 51 // return nil 52 // }) 53 // } 54 // 55 // ``` 56 // <!--End PulumiCodeChooser --> 57 // 58 // ## Import 59 // 60 // Using `pulumi import`, import `aws_lightsail_lb_stickiness_policy` using the `lb_name` attribute. For example: 61 // 62 // ```sh 63 // $ pulumi import aws:lightsail/lbStickinessPolicy:LbStickinessPolicy test example-load-balancer 64 // ``` 65 type LbStickinessPolicy struct { 66 pulumi.CustomResourceState 67 68 // The cookie duration in seconds. This determines the length of the session stickiness. 69 CookieDuration pulumi.IntOutput `pulumi:"cookieDuration"` 70 // The Session Stickiness state of the load balancer. `true` to activate session stickiness or `false` to deactivate session stickiness. 71 Enabled pulumi.BoolOutput `pulumi:"enabled"` 72 // The name of the load balancer to which you want to enable session stickiness. 73 LbName pulumi.StringOutput `pulumi:"lbName"` 74 } 75 76 // NewLbStickinessPolicy registers a new resource with the given unique name, arguments, and options. 77 func NewLbStickinessPolicy(ctx *pulumi.Context, 78 name string, args *LbStickinessPolicyArgs, opts ...pulumi.ResourceOption) (*LbStickinessPolicy, error) { 79 if args == nil { 80 return nil, errors.New("missing one or more required arguments") 81 } 82 83 if args.CookieDuration == nil { 84 return nil, errors.New("invalid value for required argument 'CookieDuration'") 85 } 86 if args.Enabled == nil { 87 return nil, errors.New("invalid value for required argument 'Enabled'") 88 } 89 if args.LbName == nil { 90 return nil, errors.New("invalid value for required argument 'LbName'") 91 } 92 opts = internal.PkgResourceDefaultOpts(opts) 93 var resource LbStickinessPolicy 94 err := ctx.RegisterResource("aws:lightsail/lbStickinessPolicy:LbStickinessPolicy", name, args, &resource, opts...) 95 if err != nil { 96 return nil, err 97 } 98 return &resource, nil 99 } 100 101 // GetLbStickinessPolicy gets an existing LbStickinessPolicy resource's state with the given name, ID, and optional 102 // state properties that are used to uniquely qualify the lookup (nil if not required). 103 func GetLbStickinessPolicy(ctx *pulumi.Context, 104 name string, id pulumi.IDInput, state *LbStickinessPolicyState, opts ...pulumi.ResourceOption) (*LbStickinessPolicy, error) { 105 var resource LbStickinessPolicy 106 err := ctx.ReadResource("aws:lightsail/lbStickinessPolicy:LbStickinessPolicy", name, id, state, &resource, opts...) 107 if err != nil { 108 return nil, err 109 } 110 return &resource, nil 111 } 112 113 // Input properties used for looking up and filtering LbStickinessPolicy resources. 114 type lbStickinessPolicyState struct { 115 // The cookie duration in seconds. This determines the length of the session stickiness. 116 CookieDuration *int `pulumi:"cookieDuration"` 117 // The Session Stickiness state of the load balancer. `true` to activate session stickiness or `false` to deactivate session stickiness. 118 Enabled *bool `pulumi:"enabled"` 119 // The name of the load balancer to which you want to enable session stickiness. 120 LbName *string `pulumi:"lbName"` 121 } 122 123 type LbStickinessPolicyState struct { 124 // The cookie duration in seconds. This determines the length of the session stickiness. 125 CookieDuration pulumi.IntPtrInput 126 // The Session Stickiness state of the load balancer. `true` to activate session stickiness or `false` to deactivate session stickiness. 127 Enabled pulumi.BoolPtrInput 128 // The name of the load balancer to which you want to enable session stickiness. 129 LbName pulumi.StringPtrInput 130 } 131 132 func (LbStickinessPolicyState) ElementType() reflect.Type { 133 return reflect.TypeOf((*lbStickinessPolicyState)(nil)).Elem() 134 } 135 136 type lbStickinessPolicyArgs struct { 137 // The cookie duration in seconds. This determines the length of the session stickiness. 138 CookieDuration int `pulumi:"cookieDuration"` 139 // The Session Stickiness state of the load balancer. `true` to activate session stickiness or `false` to deactivate session stickiness. 140 Enabled bool `pulumi:"enabled"` 141 // The name of the load balancer to which you want to enable session stickiness. 142 LbName string `pulumi:"lbName"` 143 } 144 145 // The set of arguments for constructing a LbStickinessPolicy resource. 146 type LbStickinessPolicyArgs struct { 147 // The cookie duration in seconds. This determines the length of the session stickiness. 148 CookieDuration pulumi.IntInput 149 // The Session Stickiness state of the load balancer. `true` to activate session stickiness or `false` to deactivate session stickiness. 150 Enabled pulumi.BoolInput 151 // The name of the load balancer to which you want to enable session stickiness. 152 LbName pulumi.StringInput 153 } 154 155 func (LbStickinessPolicyArgs) ElementType() reflect.Type { 156 return reflect.TypeOf((*lbStickinessPolicyArgs)(nil)).Elem() 157 } 158 159 type LbStickinessPolicyInput interface { 160 pulumi.Input 161 162 ToLbStickinessPolicyOutput() LbStickinessPolicyOutput 163 ToLbStickinessPolicyOutputWithContext(ctx context.Context) LbStickinessPolicyOutput 164 } 165 166 func (*LbStickinessPolicy) ElementType() reflect.Type { 167 return reflect.TypeOf((**LbStickinessPolicy)(nil)).Elem() 168 } 169 170 func (i *LbStickinessPolicy) ToLbStickinessPolicyOutput() LbStickinessPolicyOutput { 171 return i.ToLbStickinessPolicyOutputWithContext(context.Background()) 172 } 173 174 func (i *LbStickinessPolicy) ToLbStickinessPolicyOutputWithContext(ctx context.Context) LbStickinessPolicyOutput { 175 return pulumi.ToOutputWithContext(ctx, i).(LbStickinessPolicyOutput) 176 } 177 178 // LbStickinessPolicyArrayInput is an input type that accepts LbStickinessPolicyArray and LbStickinessPolicyArrayOutput values. 179 // You can construct a concrete instance of `LbStickinessPolicyArrayInput` via: 180 // 181 // LbStickinessPolicyArray{ LbStickinessPolicyArgs{...} } 182 type LbStickinessPolicyArrayInput interface { 183 pulumi.Input 184 185 ToLbStickinessPolicyArrayOutput() LbStickinessPolicyArrayOutput 186 ToLbStickinessPolicyArrayOutputWithContext(context.Context) LbStickinessPolicyArrayOutput 187 } 188 189 type LbStickinessPolicyArray []LbStickinessPolicyInput 190 191 func (LbStickinessPolicyArray) ElementType() reflect.Type { 192 return reflect.TypeOf((*[]*LbStickinessPolicy)(nil)).Elem() 193 } 194 195 func (i LbStickinessPolicyArray) ToLbStickinessPolicyArrayOutput() LbStickinessPolicyArrayOutput { 196 return i.ToLbStickinessPolicyArrayOutputWithContext(context.Background()) 197 } 198 199 func (i LbStickinessPolicyArray) ToLbStickinessPolicyArrayOutputWithContext(ctx context.Context) LbStickinessPolicyArrayOutput { 200 return pulumi.ToOutputWithContext(ctx, i).(LbStickinessPolicyArrayOutput) 201 } 202 203 // LbStickinessPolicyMapInput is an input type that accepts LbStickinessPolicyMap and LbStickinessPolicyMapOutput values. 204 // You can construct a concrete instance of `LbStickinessPolicyMapInput` via: 205 // 206 // LbStickinessPolicyMap{ "key": LbStickinessPolicyArgs{...} } 207 type LbStickinessPolicyMapInput interface { 208 pulumi.Input 209 210 ToLbStickinessPolicyMapOutput() LbStickinessPolicyMapOutput 211 ToLbStickinessPolicyMapOutputWithContext(context.Context) LbStickinessPolicyMapOutput 212 } 213 214 type LbStickinessPolicyMap map[string]LbStickinessPolicyInput 215 216 func (LbStickinessPolicyMap) ElementType() reflect.Type { 217 return reflect.TypeOf((*map[string]*LbStickinessPolicy)(nil)).Elem() 218 } 219 220 func (i LbStickinessPolicyMap) ToLbStickinessPolicyMapOutput() LbStickinessPolicyMapOutput { 221 return i.ToLbStickinessPolicyMapOutputWithContext(context.Background()) 222 } 223 224 func (i LbStickinessPolicyMap) ToLbStickinessPolicyMapOutputWithContext(ctx context.Context) LbStickinessPolicyMapOutput { 225 return pulumi.ToOutputWithContext(ctx, i).(LbStickinessPolicyMapOutput) 226 } 227 228 type LbStickinessPolicyOutput struct{ *pulumi.OutputState } 229 230 func (LbStickinessPolicyOutput) ElementType() reflect.Type { 231 return reflect.TypeOf((**LbStickinessPolicy)(nil)).Elem() 232 } 233 234 func (o LbStickinessPolicyOutput) ToLbStickinessPolicyOutput() LbStickinessPolicyOutput { 235 return o 236 } 237 238 func (o LbStickinessPolicyOutput) ToLbStickinessPolicyOutputWithContext(ctx context.Context) LbStickinessPolicyOutput { 239 return o 240 } 241 242 // The cookie duration in seconds. This determines the length of the session stickiness. 243 func (o LbStickinessPolicyOutput) CookieDuration() pulumi.IntOutput { 244 return o.ApplyT(func(v *LbStickinessPolicy) pulumi.IntOutput { return v.CookieDuration }).(pulumi.IntOutput) 245 } 246 247 // The Session Stickiness state of the load balancer. `true` to activate session stickiness or `false` to deactivate session stickiness. 248 func (o LbStickinessPolicyOutput) Enabled() pulumi.BoolOutput { 249 return o.ApplyT(func(v *LbStickinessPolicy) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput) 250 } 251 252 // The name of the load balancer to which you want to enable session stickiness. 253 func (o LbStickinessPolicyOutput) LbName() pulumi.StringOutput { 254 return o.ApplyT(func(v *LbStickinessPolicy) pulumi.StringOutput { return v.LbName }).(pulumi.StringOutput) 255 } 256 257 type LbStickinessPolicyArrayOutput struct{ *pulumi.OutputState } 258 259 func (LbStickinessPolicyArrayOutput) ElementType() reflect.Type { 260 return reflect.TypeOf((*[]*LbStickinessPolicy)(nil)).Elem() 261 } 262 263 func (o LbStickinessPolicyArrayOutput) ToLbStickinessPolicyArrayOutput() LbStickinessPolicyArrayOutput { 264 return o 265 } 266 267 func (o LbStickinessPolicyArrayOutput) ToLbStickinessPolicyArrayOutputWithContext(ctx context.Context) LbStickinessPolicyArrayOutput { 268 return o 269 } 270 271 func (o LbStickinessPolicyArrayOutput) Index(i pulumi.IntInput) LbStickinessPolicyOutput { 272 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LbStickinessPolicy { 273 return vs[0].([]*LbStickinessPolicy)[vs[1].(int)] 274 }).(LbStickinessPolicyOutput) 275 } 276 277 type LbStickinessPolicyMapOutput struct{ *pulumi.OutputState } 278 279 func (LbStickinessPolicyMapOutput) ElementType() reflect.Type { 280 return reflect.TypeOf((*map[string]*LbStickinessPolicy)(nil)).Elem() 281 } 282 283 func (o LbStickinessPolicyMapOutput) ToLbStickinessPolicyMapOutput() LbStickinessPolicyMapOutput { 284 return o 285 } 286 287 func (o LbStickinessPolicyMapOutput) ToLbStickinessPolicyMapOutputWithContext(ctx context.Context) LbStickinessPolicyMapOutput { 288 return o 289 } 290 291 func (o LbStickinessPolicyMapOutput) MapIndex(k pulumi.StringInput) LbStickinessPolicyOutput { 292 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LbStickinessPolicy { 293 return vs[0].(map[string]*LbStickinessPolicy)[vs[1].(string)] 294 }).(LbStickinessPolicyOutput) 295 } 296 297 func init() { 298 pulumi.RegisterInputType(reflect.TypeOf((*LbStickinessPolicyInput)(nil)).Elem(), &LbStickinessPolicy{}) 299 pulumi.RegisterInputType(reflect.TypeOf((*LbStickinessPolicyArrayInput)(nil)).Elem(), LbStickinessPolicyArray{}) 300 pulumi.RegisterInputType(reflect.TypeOf((*LbStickinessPolicyMapInput)(nil)).Elem(), LbStickinessPolicyMap{}) 301 pulumi.RegisterOutputType(LbStickinessPolicyOutput{}) 302 pulumi.RegisterOutputType(LbStickinessPolicyArrayOutput{}) 303 pulumi.RegisterOutputType(LbStickinessPolicyMapOutput{}) 304 }