github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/elb/loadBalancerCookieStickinessPolicy.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 elb 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 load balancer cookie stickiness policy, which allows an ELB to control the sticky session lifetime of the browser. 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/elb" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // lb, err := elb.NewLoadBalancer(ctx, "lb", &elb.LoadBalancerArgs{ 33 // Name: pulumi.String("test-lb"), 34 // AvailabilityZones: pulumi.StringArray{ 35 // pulumi.String("us-east-1a"), 36 // }, 37 // Listeners: elb.LoadBalancerListenerArray{ 38 // &elb.LoadBalancerListenerArgs{ 39 // InstancePort: pulumi.Int(8000), 40 // InstanceProtocol: pulumi.String("http"), 41 // LbPort: pulumi.Int(80), 42 // LbProtocol: pulumi.String("http"), 43 // }, 44 // }, 45 // }) 46 // if err != nil { 47 // return err 48 // } 49 // _, err = elb.NewLoadBalancerCookieStickinessPolicy(ctx, "foo", &elb.LoadBalancerCookieStickinessPolicyArgs{ 50 // Name: pulumi.String("foo-policy"), 51 // LoadBalancer: lb.ID(), 52 // LbPort: pulumi.Int(80), 53 // CookieExpirationPeriod: pulumi.Int(600), 54 // }) 55 // if err != nil { 56 // return err 57 // } 58 // return nil 59 // }) 60 // } 61 // 62 // ``` 63 // <!--End PulumiCodeChooser --> 64 type LoadBalancerCookieStickinessPolicy struct { 65 pulumi.CustomResourceState 66 67 // The time period after which 68 // the session cookie should be considered stale, expressed in seconds. 69 CookieExpirationPeriod pulumi.IntPtrOutput `pulumi:"cookieExpirationPeriod"` 70 // The load balancer port to which the policy 71 // should be applied. This must be an active listener on the load 72 // balancer. 73 LbPort pulumi.IntOutput `pulumi:"lbPort"` 74 // The load balancer to which the policy 75 // should be attached. 76 LoadBalancer pulumi.StringOutput `pulumi:"loadBalancer"` 77 // The name of the stickiness policy. 78 Name pulumi.StringOutput `pulumi:"name"` 79 } 80 81 // NewLoadBalancerCookieStickinessPolicy registers a new resource with the given unique name, arguments, and options. 82 func NewLoadBalancerCookieStickinessPolicy(ctx *pulumi.Context, 83 name string, args *LoadBalancerCookieStickinessPolicyArgs, opts ...pulumi.ResourceOption) (*LoadBalancerCookieStickinessPolicy, error) { 84 if args == nil { 85 return nil, errors.New("missing one or more required arguments") 86 } 87 88 if args.LbPort == nil { 89 return nil, errors.New("invalid value for required argument 'LbPort'") 90 } 91 if args.LoadBalancer == nil { 92 return nil, errors.New("invalid value for required argument 'LoadBalancer'") 93 } 94 aliases := pulumi.Aliases([]pulumi.Alias{ 95 { 96 Type: pulumi.String("aws:elasticloadbalancing/loadBalancerCookieStickinessPolicy:LoadBalancerCookieStickinessPolicy"), 97 }, 98 }) 99 opts = append(opts, aliases) 100 opts = internal.PkgResourceDefaultOpts(opts) 101 var resource LoadBalancerCookieStickinessPolicy 102 err := ctx.RegisterResource("aws:elb/loadBalancerCookieStickinessPolicy:LoadBalancerCookieStickinessPolicy", name, args, &resource, opts...) 103 if err != nil { 104 return nil, err 105 } 106 return &resource, nil 107 } 108 109 // GetLoadBalancerCookieStickinessPolicy gets an existing LoadBalancerCookieStickinessPolicy resource's state with the given name, ID, and optional 110 // state properties that are used to uniquely qualify the lookup (nil if not required). 111 func GetLoadBalancerCookieStickinessPolicy(ctx *pulumi.Context, 112 name string, id pulumi.IDInput, state *LoadBalancerCookieStickinessPolicyState, opts ...pulumi.ResourceOption) (*LoadBalancerCookieStickinessPolicy, error) { 113 var resource LoadBalancerCookieStickinessPolicy 114 err := ctx.ReadResource("aws:elb/loadBalancerCookieStickinessPolicy:LoadBalancerCookieStickinessPolicy", name, id, state, &resource, opts...) 115 if err != nil { 116 return nil, err 117 } 118 return &resource, nil 119 } 120 121 // Input properties used for looking up and filtering LoadBalancerCookieStickinessPolicy resources. 122 type loadBalancerCookieStickinessPolicyState struct { 123 // The time period after which 124 // the session cookie should be considered stale, expressed in seconds. 125 CookieExpirationPeriod *int `pulumi:"cookieExpirationPeriod"` 126 // The load balancer port to which the policy 127 // should be applied. This must be an active listener on the load 128 // balancer. 129 LbPort *int `pulumi:"lbPort"` 130 // The load balancer to which the policy 131 // should be attached. 132 LoadBalancer *string `pulumi:"loadBalancer"` 133 // The name of the stickiness policy. 134 Name *string `pulumi:"name"` 135 } 136 137 type LoadBalancerCookieStickinessPolicyState struct { 138 // The time period after which 139 // the session cookie should be considered stale, expressed in seconds. 140 CookieExpirationPeriod pulumi.IntPtrInput 141 // The load balancer port to which the policy 142 // should be applied. This must be an active listener on the load 143 // balancer. 144 LbPort pulumi.IntPtrInput 145 // The load balancer to which the policy 146 // should be attached. 147 LoadBalancer pulumi.StringPtrInput 148 // The name of the stickiness policy. 149 Name pulumi.StringPtrInput 150 } 151 152 func (LoadBalancerCookieStickinessPolicyState) ElementType() reflect.Type { 153 return reflect.TypeOf((*loadBalancerCookieStickinessPolicyState)(nil)).Elem() 154 } 155 156 type loadBalancerCookieStickinessPolicyArgs struct { 157 // The time period after which 158 // the session cookie should be considered stale, expressed in seconds. 159 CookieExpirationPeriod *int `pulumi:"cookieExpirationPeriod"` 160 // The load balancer port to which the policy 161 // should be applied. This must be an active listener on the load 162 // balancer. 163 LbPort int `pulumi:"lbPort"` 164 // The load balancer to which the policy 165 // should be attached. 166 LoadBalancer string `pulumi:"loadBalancer"` 167 // The name of the stickiness policy. 168 Name *string `pulumi:"name"` 169 } 170 171 // The set of arguments for constructing a LoadBalancerCookieStickinessPolicy resource. 172 type LoadBalancerCookieStickinessPolicyArgs struct { 173 // The time period after which 174 // the session cookie should be considered stale, expressed in seconds. 175 CookieExpirationPeriod pulumi.IntPtrInput 176 // The load balancer port to which the policy 177 // should be applied. This must be an active listener on the load 178 // balancer. 179 LbPort pulumi.IntInput 180 // The load balancer to which the policy 181 // should be attached. 182 LoadBalancer pulumi.StringInput 183 // The name of the stickiness policy. 184 Name pulumi.StringPtrInput 185 } 186 187 func (LoadBalancerCookieStickinessPolicyArgs) ElementType() reflect.Type { 188 return reflect.TypeOf((*loadBalancerCookieStickinessPolicyArgs)(nil)).Elem() 189 } 190 191 type LoadBalancerCookieStickinessPolicyInput interface { 192 pulumi.Input 193 194 ToLoadBalancerCookieStickinessPolicyOutput() LoadBalancerCookieStickinessPolicyOutput 195 ToLoadBalancerCookieStickinessPolicyOutputWithContext(ctx context.Context) LoadBalancerCookieStickinessPolicyOutput 196 } 197 198 func (*LoadBalancerCookieStickinessPolicy) ElementType() reflect.Type { 199 return reflect.TypeOf((**LoadBalancerCookieStickinessPolicy)(nil)).Elem() 200 } 201 202 func (i *LoadBalancerCookieStickinessPolicy) ToLoadBalancerCookieStickinessPolicyOutput() LoadBalancerCookieStickinessPolicyOutput { 203 return i.ToLoadBalancerCookieStickinessPolicyOutputWithContext(context.Background()) 204 } 205 206 func (i *LoadBalancerCookieStickinessPolicy) ToLoadBalancerCookieStickinessPolicyOutputWithContext(ctx context.Context) LoadBalancerCookieStickinessPolicyOutput { 207 return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerCookieStickinessPolicyOutput) 208 } 209 210 // LoadBalancerCookieStickinessPolicyArrayInput is an input type that accepts LoadBalancerCookieStickinessPolicyArray and LoadBalancerCookieStickinessPolicyArrayOutput values. 211 // You can construct a concrete instance of `LoadBalancerCookieStickinessPolicyArrayInput` via: 212 // 213 // LoadBalancerCookieStickinessPolicyArray{ LoadBalancerCookieStickinessPolicyArgs{...} } 214 type LoadBalancerCookieStickinessPolicyArrayInput interface { 215 pulumi.Input 216 217 ToLoadBalancerCookieStickinessPolicyArrayOutput() LoadBalancerCookieStickinessPolicyArrayOutput 218 ToLoadBalancerCookieStickinessPolicyArrayOutputWithContext(context.Context) LoadBalancerCookieStickinessPolicyArrayOutput 219 } 220 221 type LoadBalancerCookieStickinessPolicyArray []LoadBalancerCookieStickinessPolicyInput 222 223 func (LoadBalancerCookieStickinessPolicyArray) ElementType() reflect.Type { 224 return reflect.TypeOf((*[]*LoadBalancerCookieStickinessPolicy)(nil)).Elem() 225 } 226 227 func (i LoadBalancerCookieStickinessPolicyArray) ToLoadBalancerCookieStickinessPolicyArrayOutput() LoadBalancerCookieStickinessPolicyArrayOutput { 228 return i.ToLoadBalancerCookieStickinessPolicyArrayOutputWithContext(context.Background()) 229 } 230 231 func (i LoadBalancerCookieStickinessPolicyArray) ToLoadBalancerCookieStickinessPolicyArrayOutputWithContext(ctx context.Context) LoadBalancerCookieStickinessPolicyArrayOutput { 232 return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerCookieStickinessPolicyArrayOutput) 233 } 234 235 // LoadBalancerCookieStickinessPolicyMapInput is an input type that accepts LoadBalancerCookieStickinessPolicyMap and LoadBalancerCookieStickinessPolicyMapOutput values. 236 // You can construct a concrete instance of `LoadBalancerCookieStickinessPolicyMapInput` via: 237 // 238 // LoadBalancerCookieStickinessPolicyMap{ "key": LoadBalancerCookieStickinessPolicyArgs{...} } 239 type LoadBalancerCookieStickinessPolicyMapInput interface { 240 pulumi.Input 241 242 ToLoadBalancerCookieStickinessPolicyMapOutput() LoadBalancerCookieStickinessPolicyMapOutput 243 ToLoadBalancerCookieStickinessPolicyMapOutputWithContext(context.Context) LoadBalancerCookieStickinessPolicyMapOutput 244 } 245 246 type LoadBalancerCookieStickinessPolicyMap map[string]LoadBalancerCookieStickinessPolicyInput 247 248 func (LoadBalancerCookieStickinessPolicyMap) ElementType() reflect.Type { 249 return reflect.TypeOf((*map[string]*LoadBalancerCookieStickinessPolicy)(nil)).Elem() 250 } 251 252 func (i LoadBalancerCookieStickinessPolicyMap) ToLoadBalancerCookieStickinessPolicyMapOutput() LoadBalancerCookieStickinessPolicyMapOutput { 253 return i.ToLoadBalancerCookieStickinessPolicyMapOutputWithContext(context.Background()) 254 } 255 256 func (i LoadBalancerCookieStickinessPolicyMap) ToLoadBalancerCookieStickinessPolicyMapOutputWithContext(ctx context.Context) LoadBalancerCookieStickinessPolicyMapOutput { 257 return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerCookieStickinessPolicyMapOutput) 258 } 259 260 type LoadBalancerCookieStickinessPolicyOutput struct{ *pulumi.OutputState } 261 262 func (LoadBalancerCookieStickinessPolicyOutput) ElementType() reflect.Type { 263 return reflect.TypeOf((**LoadBalancerCookieStickinessPolicy)(nil)).Elem() 264 } 265 266 func (o LoadBalancerCookieStickinessPolicyOutput) ToLoadBalancerCookieStickinessPolicyOutput() LoadBalancerCookieStickinessPolicyOutput { 267 return o 268 } 269 270 func (o LoadBalancerCookieStickinessPolicyOutput) ToLoadBalancerCookieStickinessPolicyOutputWithContext(ctx context.Context) LoadBalancerCookieStickinessPolicyOutput { 271 return o 272 } 273 274 // The time period after which 275 // the session cookie should be considered stale, expressed in seconds. 276 func (o LoadBalancerCookieStickinessPolicyOutput) CookieExpirationPeriod() pulumi.IntPtrOutput { 277 return o.ApplyT(func(v *LoadBalancerCookieStickinessPolicy) pulumi.IntPtrOutput { return v.CookieExpirationPeriod }).(pulumi.IntPtrOutput) 278 } 279 280 // The load balancer port to which the policy 281 // should be applied. This must be an active listener on the load 282 // balancer. 283 func (o LoadBalancerCookieStickinessPolicyOutput) LbPort() pulumi.IntOutput { 284 return o.ApplyT(func(v *LoadBalancerCookieStickinessPolicy) pulumi.IntOutput { return v.LbPort }).(pulumi.IntOutput) 285 } 286 287 // The load balancer to which the policy 288 // should be attached. 289 func (o LoadBalancerCookieStickinessPolicyOutput) LoadBalancer() pulumi.StringOutput { 290 return o.ApplyT(func(v *LoadBalancerCookieStickinessPolicy) pulumi.StringOutput { return v.LoadBalancer }).(pulumi.StringOutput) 291 } 292 293 // The name of the stickiness policy. 294 func (o LoadBalancerCookieStickinessPolicyOutput) Name() pulumi.StringOutput { 295 return o.ApplyT(func(v *LoadBalancerCookieStickinessPolicy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 296 } 297 298 type LoadBalancerCookieStickinessPolicyArrayOutput struct{ *pulumi.OutputState } 299 300 func (LoadBalancerCookieStickinessPolicyArrayOutput) ElementType() reflect.Type { 301 return reflect.TypeOf((*[]*LoadBalancerCookieStickinessPolicy)(nil)).Elem() 302 } 303 304 func (o LoadBalancerCookieStickinessPolicyArrayOutput) ToLoadBalancerCookieStickinessPolicyArrayOutput() LoadBalancerCookieStickinessPolicyArrayOutput { 305 return o 306 } 307 308 func (o LoadBalancerCookieStickinessPolicyArrayOutput) ToLoadBalancerCookieStickinessPolicyArrayOutputWithContext(ctx context.Context) LoadBalancerCookieStickinessPolicyArrayOutput { 309 return o 310 } 311 312 func (o LoadBalancerCookieStickinessPolicyArrayOutput) Index(i pulumi.IntInput) LoadBalancerCookieStickinessPolicyOutput { 313 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LoadBalancerCookieStickinessPolicy { 314 return vs[0].([]*LoadBalancerCookieStickinessPolicy)[vs[1].(int)] 315 }).(LoadBalancerCookieStickinessPolicyOutput) 316 } 317 318 type LoadBalancerCookieStickinessPolicyMapOutput struct{ *pulumi.OutputState } 319 320 func (LoadBalancerCookieStickinessPolicyMapOutput) ElementType() reflect.Type { 321 return reflect.TypeOf((*map[string]*LoadBalancerCookieStickinessPolicy)(nil)).Elem() 322 } 323 324 func (o LoadBalancerCookieStickinessPolicyMapOutput) ToLoadBalancerCookieStickinessPolicyMapOutput() LoadBalancerCookieStickinessPolicyMapOutput { 325 return o 326 } 327 328 func (o LoadBalancerCookieStickinessPolicyMapOutput) ToLoadBalancerCookieStickinessPolicyMapOutputWithContext(ctx context.Context) LoadBalancerCookieStickinessPolicyMapOutput { 329 return o 330 } 331 332 func (o LoadBalancerCookieStickinessPolicyMapOutput) MapIndex(k pulumi.StringInput) LoadBalancerCookieStickinessPolicyOutput { 333 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LoadBalancerCookieStickinessPolicy { 334 return vs[0].(map[string]*LoadBalancerCookieStickinessPolicy)[vs[1].(string)] 335 }).(LoadBalancerCookieStickinessPolicyOutput) 336 } 337 338 func init() { 339 pulumi.RegisterInputType(reflect.TypeOf((*LoadBalancerCookieStickinessPolicyInput)(nil)).Elem(), &LoadBalancerCookieStickinessPolicy{}) 340 pulumi.RegisterInputType(reflect.TypeOf((*LoadBalancerCookieStickinessPolicyArrayInput)(nil)).Elem(), LoadBalancerCookieStickinessPolicyArray{}) 341 pulumi.RegisterInputType(reflect.TypeOf((*LoadBalancerCookieStickinessPolicyMapInput)(nil)).Elem(), LoadBalancerCookieStickinessPolicyMap{}) 342 pulumi.RegisterOutputType(LoadBalancerCookieStickinessPolicyOutput{}) 343 pulumi.RegisterOutputType(LoadBalancerCookieStickinessPolicyArrayOutput{}) 344 pulumi.RegisterOutputType(LoadBalancerCookieStickinessPolicyMapOutput{}) 345 }