github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/elb/appCookieStickinessPolicy.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 an application cookie stickiness policy, which allows an ELB to wed its sticky cookie's expiration to a cookie generated by your application. 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.NewAppCookieStickinessPolicy(ctx, "foo", &elb.AppCookieStickinessPolicyArgs{ 50 // Name: pulumi.String("foo_policy"), 51 // LoadBalancer: lb.Name, 52 // LbPort: pulumi.Int(80), 53 // CookieName: pulumi.String("MyAppCookie"), 54 // }) 55 // if err != nil { 56 // return err 57 // } 58 // return nil 59 // }) 60 // } 61 // 62 // ``` 63 // <!--End PulumiCodeChooser --> 64 // 65 // ## Import 66 // 67 // Using `pulumi import`, import application cookie stickiness policies using the ELB name, port, and policy name separated by colons (`:`). For example: 68 // 69 // ```sh 70 // $ pulumi import aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy example my-elb:80:my-policy 71 // ``` 72 type AppCookieStickinessPolicy struct { 73 pulumi.CustomResourceState 74 75 // Application cookie whose lifetime the ELB's cookie should follow. 76 CookieName pulumi.StringOutput `pulumi:"cookieName"` 77 // Load balancer port to which the policy 78 // should be applied. This must be an active listener on the load 79 // balancer. 80 LbPort pulumi.IntOutput `pulumi:"lbPort"` 81 // Name of load balancer to which the policy 82 // should be attached. 83 LoadBalancer pulumi.StringOutput `pulumi:"loadBalancer"` 84 // Name of the stickiness policy. 85 Name pulumi.StringOutput `pulumi:"name"` 86 } 87 88 // NewAppCookieStickinessPolicy registers a new resource with the given unique name, arguments, and options. 89 func NewAppCookieStickinessPolicy(ctx *pulumi.Context, 90 name string, args *AppCookieStickinessPolicyArgs, opts ...pulumi.ResourceOption) (*AppCookieStickinessPolicy, error) { 91 if args == nil { 92 return nil, errors.New("missing one or more required arguments") 93 } 94 95 if args.CookieName == nil { 96 return nil, errors.New("invalid value for required argument 'CookieName'") 97 } 98 if args.LbPort == nil { 99 return nil, errors.New("invalid value for required argument 'LbPort'") 100 } 101 if args.LoadBalancer == nil { 102 return nil, errors.New("invalid value for required argument 'LoadBalancer'") 103 } 104 aliases := pulumi.Aliases([]pulumi.Alias{ 105 { 106 Type: pulumi.String("aws:elasticloadbalancing/appCookieStickinessPolicy:AppCookieStickinessPolicy"), 107 }, 108 }) 109 opts = append(opts, aliases) 110 opts = internal.PkgResourceDefaultOpts(opts) 111 var resource AppCookieStickinessPolicy 112 err := ctx.RegisterResource("aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy", name, args, &resource, opts...) 113 if err != nil { 114 return nil, err 115 } 116 return &resource, nil 117 } 118 119 // GetAppCookieStickinessPolicy gets an existing AppCookieStickinessPolicy resource's state with the given name, ID, and optional 120 // state properties that are used to uniquely qualify the lookup (nil if not required). 121 func GetAppCookieStickinessPolicy(ctx *pulumi.Context, 122 name string, id pulumi.IDInput, state *AppCookieStickinessPolicyState, opts ...pulumi.ResourceOption) (*AppCookieStickinessPolicy, error) { 123 var resource AppCookieStickinessPolicy 124 err := ctx.ReadResource("aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy", name, id, state, &resource, opts...) 125 if err != nil { 126 return nil, err 127 } 128 return &resource, nil 129 } 130 131 // Input properties used for looking up and filtering AppCookieStickinessPolicy resources. 132 type appCookieStickinessPolicyState struct { 133 // Application cookie whose lifetime the ELB's cookie should follow. 134 CookieName *string `pulumi:"cookieName"` 135 // Load balancer port to which the policy 136 // should be applied. This must be an active listener on the load 137 // balancer. 138 LbPort *int `pulumi:"lbPort"` 139 // Name of load balancer to which the policy 140 // should be attached. 141 LoadBalancer *string `pulumi:"loadBalancer"` 142 // Name of the stickiness policy. 143 Name *string `pulumi:"name"` 144 } 145 146 type AppCookieStickinessPolicyState struct { 147 // Application cookie whose lifetime the ELB's cookie should follow. 148 CookieName pulumi.StringPtrInput 149 // Load balancer port to which the policy 150 // should be applied. This must be an active listener on the load 151 // balancer. 152 LbPort pulumi.IntPtrInput 153 // Name of load balancer to which the policy 154 // should be attached. 155 LoadBalancer pulumi.StringPtrInput 156 // Name of the stickiness policy. 157 Name pulumi.StringPtrInput 158 } 159 160 func (AppCookieStickinessPolicyState) ElementType() reflect.Type { 161 return reflect.TypeOf((*appCookieStickinessPolicyState)(nil)).Elem() 162 } 163 164 type appCookieStickinessPolicyArgs struct { 165 // Application cookie whose lifetime the ELB's cookie should follow. 166 CookieName string `pulumi:"cookieName"` 167 // Load balancer port to which the policy 168 // should be applied. This must be an active listener on the load 169 // balancer. 170 LbPort int `pulumi:"lbPort"` 171 // Name of load balancer to which the policy 172 // should be attached. 173 LoadBalancer string `pulumi:"loadBalancer"` 174 // Name of the stickiness policy. 175 Name *string `pulumi:"name"` 176 } 177 178 // The set of arguments for constructing a AppCookieStickinessPolicy resource. 179 type AppCookieStickinessPolicyArgs struct { 180 // Application cookie whose lifetime the ELB's cookie should follow. 181 CookieName pulumi.StringInput 182 // Load balancer port to which the policy 183 // should be applied. This must be an active listener on the load 184 // balancer. 185 LbPort pulumi.IntInput 186 // Name of load balancer to which the policy 187 // should be attached. 188 LoadBalancer pulumi.StringInput 189 // Name of the stickiness policy. 190 Name pulumi.StringPtrInput 191 } 192 193 func (AppCookieStickinessPolicyArgs) ElementType() reflect.Type { 194 return reflect.TypeOf((*appCookieStickinessPolicyArgs)(nil)).Elem() 195 } 196 197 type AppCookieStickinessPolicyInput interface { 198 pulumi.Input 199 200 ToAppCookieStickinessPolicyOutput() AppCookieStickinessPolicyOutput 201 ToAppCookieStickinessPolicyOutputWithContext(ctx context.Context) AppCookieStickinessPolicyOutput 202 } 203 204 func (*AppCookieStickinessPolicy) ElementType() reflect.Type { 205 return reflect.TypeOf((**AppCookieStickinessPolicy)(nil)).Elem() 206 } 207 208 func (i *AppCookieStickinessPolicy) ToAppCookieStickinessPolicyOutput() AppCookieStickinessPolicyOutput { 209 return i.ToAppCookieStickinessPolicyOutputWithContext(context.Background()) 210 } 211 212 func (i *AppCookieStickinessPolicy) ToAppCookieStickinessPolicyOutputWithContext(ctx context.Context) AppCookieStickinessPolicyOutput { 213 return pulumi.ToOutputWithContext(ctx, i).(AppCookieStickinessPolicyOutput) 214 } 215 216 // AppCookieStickinessPolicyArrayInput is an input type that accepts AppCookieStickinessPolicyArray and AppCookieStickinessPolicyArrayOutput values. 217 // You can construct a concrete instance of `AppCookieStickinessPolicyArrayInput` via: 218 // 219 // AppCookieStickinessPolicyArray{ AppCookieStickinessPolicyArgs{...} } 220 type AppCookieStickinessPolicyArrayInput interface { 221 pulumi.Input 222 223 ToAppCookieStickinessPolicyArrayOutput() AppCookieStickinessPolicyArrayOutput 224 ToAppCookieStickinessPolicyArrayOutputWithContext(context.Context) AppCookieStickinessPolicyArrayOutput 225 } 226 227 type AppCookieStickinessPolicyArray []AppCookieStickinessPolicyInput 228 229 func (AppCookieStickinessPolicyArray) ElementType() reflect.Type { 230 return reflect.TypeOf((*[]*AppCookieStickinessPolicy)(nil)).Elem() 231 } 232 233 func (i AppCookieStickinessPolicyArray) ToAppCookieStickinessPolicyArrayOutput() AppCookieStickinessPolicyArrayOutput { 234 return i.ToAppCookieStickinessPolicyArrayOutputWithContext(context.Background()) 235 } 236 237 func (i AppCookieStickinessPolicyArray) ToAppCookieStickinessPolicyArrayOutputWithContext(ctx context.Context) AppCookieStickinessPolicyArrayOutput { 238 return pulumi.ToOutputWithContext(ctx, i).(AppCookieStickinessPolicyArrayOutput) 239 } 240 241 // AppCookieStickinessPolicyMapInput is an input type that accepts AppCookieStickinessPolicyMap and AppCookieStickinessPolicyMapOutput values. 242 // You can construct a concrete instance of `AppCookieStickinessPolicyMapInput` via: 243 // 244 // AppCookieStickinessPolicyMap{ "key": AppCookieStickinessPolicyArgs{...} } 245 type AppCookieStickinessPolicyMapInput interface { 246 pulumi.Input 247 248 ToAppCookieStickinessPolicyMapOutput() AppCookieStickinessPolicyMapOutput 249 ToAppCookieStickinessPolicyMapOutputWithContext(context.Context) AppCookieStickinessPolicyMapOutput 250 } 251 252 type AppCookieStickinessPolicyMap map[string]AppCookieStickinessPolicyInput 253 254 func (AppCookieStickinessPolicyMap) ElementType() reflect.Type { 255 return reflect.TypeOf((*map[string]*AppCookieStickinessPolicy)(nil)).Elem() 256 } 257 258 func (i AppCookieStickinessPolicyMap) ToAppCookieStickinessPolicyMapOutput() AppCookieStickinessPolicyMapOutput { 259 return i.ToAppCookieStickinessPolicyMapOutputWithContext(context.Background()) 260 } 261 262 func (i AppCookieStickinessPolicyMap) ToAppCookieStickinessPolicyMapOutputWithContext(ctx context.Context) AppCookieStickinessPolicyMapOutput { 263 return pulumi.ToOutputWithContext(ctx, i).(AppCookieStickinessPolicyMapOutput) 264 } 265 266 type AppCookieStickinessPolicyOutput struct{ *pulumi.OutputState } 267 268 func (AppCookieStickinessPolicyOutput) ElementType() reflect.Type { 269 return reflect.TypeOf((**AppCookieStickinessPolicy)(nil)).Elem() 270 } 271 272 func (o AppCookieStickinessPolicyOutput) ToAppCookieStickinessPolicyOutput() AppCookieStickinessPolicyOutput { 273 return o 274 } 275 276 func (o AppCookieStickinessPolicyOutput) ToAppCookieStickinessPolicyOutputWithContext(ctx context.Context) AppCookieStickinessPolicyOutput { 277 return o 278 } 279 280 // Application cookie whose lifetime the ELB's cookie should follow. 281 func (o AppCookieStickinessPolicyOutput) CookieName() pulumi.StringOutput { 282 return o.ApplyT(func(v *AppCookieStickinessPolicy) pulumi.StringOutput { return v.CookieName }).(pulumi.StringOutput) 283 } 284 285 // Load balancer port to which the policy 286 // should be applied. This must be an active listener on the load 287 // balancer. 288 func (o AppCookieStickinessPolicyOutput) LbPort() pulumi.IntOutput { 289 return o.ApplyT(func(v *AppCookieStickinessPolicy) pulumi.IntOutput { return v.LbPort }).(pulumi.IntOutput) 290 } 291 292 // Name of load balancer to which the policy 293 // should be attached. 294 func (o AppCookieStickinessPolicyOutput) LoadBalancer() pulumi.StringOutput { 295 return o.ApplyT(func(v *AppCookieStickinessPolicy) pulumi.StringOutput { return v.LoadBalancer }).(pulumi.StringOutput) 296 } 297 298 // Name of the stickiness policy. 299 func (o AppCookieStickinessPolicyOutput) Name() pulumi.StringOutput { 300 return o.ApplyT(func(v *AppCookieStickinessPolicy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 301 } 302 303 type AppCookieStickinessPolicyArrayOutput struct{ *pulumi.OutputState } 304 305 func (AppCookieStickinessPolicyArrayOutput) ElementType() reflect.Type { 306 return reflect.TypeOf((*[]*AppCookieStickinessPolicy)(nil)).Elem() 307 } 308 309 func (o AppCookieStickinessPolicyArrayOutput) ToAppCookieStickinessPolicyArrayOutput() AppCookieStickinessPolicyArrayOutput { 310 return o 311 } 312 313 func (o AppCookieStickinessPolicyArrayOutput) ToAppCookieStickinessPolicyArrayOutputWithContext(ctx context.Context) AppCookieStickinessPolicyArrayOutput { 314 return o 315 } 316 317 func (o AppCookieStickinessPolicyArrayOutput) Index(i pulumi.IntInput) AppCookieStickinessPolicyOutput { 318 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AppCookieStickinessPolicy { 319 return vs[0].([]*AppCookieStickinessPolicy)[vs[1].(int)] 320 }).(AppCookieStickinessPolicyOutput) 321 } 322 323 type AppCookieStickinessPolicyMapOutput struct{ *pulumi.OutputState } 324 325 func (AppCookieStickinessPolicyMapOutput) ElementType() reflect.Type { 326 return reflect.TypeOf((*map[string]*AppCookieStickinessPolicy)(nil)).Elem() 327 } 328 329 func (o AppCookieStickinessPolicyMapOutput) ToAppCookieStickinessPolicyMapOutput() AppCookieStickinessPolicyMapOutput { 330 return o 331 } 332 333 func (o AppCookieStickinessPolicyMapOutput) ToAppCookieStickinessPolicyMapOutputWithContext(ctx context.Context) AppCookieStickinessPolicyMapOutput { 334 return o 335 } 336 337 func (o AppCookieStickinessPolicyMapOutput) MapIndex(k pulumi.StringInput) AppCookieStickinessPolicyOutput { 338 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AppCookieStickinessPolicy { 339 return vs[0].(map[string]*AppCookieStickinessPolicy)[vs[1].(string)] 340 }).(AppCookieStickinessPolicyOutput) 341 } 342 343 func init() { 344 pulumi.RegisterInputType(reflect.TypeOf((*AppCookieStickinessPolicyInput)(nil)).Elem(), &AppCookieStickinessPolicy{}) 345 pulumi.RegisterInputType(reflect.TypeOf((*AppCookieStickinessPolicyArrayInput)(nil)).Elem(), AppCookieStickinessPolicyArray{}) 346 pulumi.RegisterInputType(reflect.TypeOf((*AppCookieStickinessPolicyMapInput)(nil)).Elem(), AppCookieStickinessPolicyMap{}) 347 pulumi.RegisterOutputType(AppCookieStickinessPolicyOutput{}) 348 pulumi.RegisterOutputType(AppCookieStickinessPolicyArrayOutput{}) 349 pulumi.RegisterOutputType(AppCookieStickinessPolicyMapOutput{}) 350 }