elb

package
v2.13.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 22, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AppCookieStickinessPolicy

type AppCookieStickinessPolicy struct {
	pulumi.CustomResourceState

	// The application cookie whose lifetime the ELB's cookie should follow.
	CookieName pulumi.StringOutput `pulumi:"cookieName"`
	// The load balancer port to which the policy
	// should be applied. This must be an active listener on the load
	// balancer.
	LbPort pulumi.IntOutput `pulumi:"lbPort"`
	// The name of load balancer to which the policy
	// should be attached.
	LoadBalancer pulumi.StringOutput `pulumi:"loadBalancer"`
	// The name of the stickiness policy.
	Name pulumi.StringOutput `pulumi:"name"`
}

Provides an application cookie stickiness policy, which allows an ELB to wed its sticky cookie's expiration to a cookie generated by your application.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/elb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		lb, err := elb.NewLoadBalancer(ctx, "lb", &elb.LoadBalancerArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			Listeners: elb.LoadBalancerListenerArray{
				&elb.LoadBalancerListenerArgs{
					InstancePort:     pulumi.Int(8000),
					InstanceProtocol: pulumi.String("http"),
					LbPort:           pulumi.Int(80),
					LbProtocol:       pulumi.String("http"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = elb.NewAppCookieStickinessPolicy(ctx, "foo", &elb.AppCookieStickinessPolicyArgs{
			CookieName:   pulumi.String("MyAppCookie"),
			LbPort:       pulumi.Int(80),
			LoadBalancer: lb.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetAppCookieStickinessPolicy

func GetAppCookieStickinessPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AppCookieStickinessPolicyState, opts ...pulumi.ResourceOption) (*AppCookieStickinessPolicy, error)

GetAppCookieStickinessPolicy gets an existing AppCookieStickinessPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAppCookieStickinessPolicy

func NewAppCookieStickinessPolicy(ctx *pulumi.Context,
	name string, args *AppCookieStickinessPolicyArgs, opts ...pulumi.ResourceOption) (*AppCookieStickinessPolicy, error)

NewAppCookieStickinessPolicy registers a new resource with the given unique name, arguments, and options.

type AppCookieStickinessPolicyArgs

type AppCookieStickinessPolicyArgs struct {
	// The application cookie whose lifetime the ELB's cookie should follow.
	CookieName pulumi.StringInput
	// The load balancer port to which the policy
	// should be applied. This must be an active listener on the load
	// balancer.
	LbPort pulumi.IntInput
	// The name of load balancer to which the policy
	// should be attached.
	LoadBalancer pulumi.StringInput
	// The name of the stickiness policy.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a AppCookieStickinessPolicy resource.

func (AppCookieStickinessPolicyArgs) ElementType

type AppCookieStickinessPolicyState

type AppCookieStickinessPolicyState struct {
	// The application cookie whose lifetime the ELB's cookie should follow.
	CookieName pulumi.StringPtrInput
	// The load balancer port to which the policy
	// should be applied. This must be an active listener on the load
	// balancer.
	LbPort pulumi.IntPtrInput
	// The name of load balancer to which the policy
	// should be attached.
	LoadBalancer pulumi.StringPtrInput
	// The name of the stickiness policy.
	Name pulumi.StringPtrInput
}

func (AppCookieStickinessPolicyState) ElementType

type Attachment

type Attachment struct {
	pulumi.CustomResourceState

	// The name of the ELB.
	Elb pulumi.StringOutput `pulumi:"elb"`
	// Instance ID to place in the ELB pool.
	Instance pulumi.StringOutput `pulumi:"instance"`
}

Attaches an EC2 instance to an Elastic Load Balancer (ELB). For attaching resources with Application Load Balancer (ALB) or Network Load Balancer (NLB), see the `lb.TargetGroupAttachment` resource.

> **NOTE on ELB Instances and ELB Attachments:** This provider currently provides both a standalone ELB Attachment resource (describing an instance attached to an ELB), and an Elastic Load Balancer resource with `instances` defined in-line. At this time you cannot use an ELB with in-line instances in conjunction with an ELB Attachment resource. Doing so will cause a conflict and will overwrite attachments.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/elb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elb.NewAttachment(ctx, "baz", &elb.AttachmentArgs{
			Elb:      pulumi.String(aws_elb.Bar.Id),
			Instance: pulumi.String(aws_instance.Foo.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetAttachment

func GetAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AttachmentState, opts ...pulumi.ResourceOption) (*Attachment, error)

GetAttachment gets an existing Attachment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAttachment

func NewAttachment(ctx *pulumi.Context,
	name string, args *AttachmentArgs, opts ...pulumi.ResourceOption) (*Attachment, error)

NewAttachment registers a new resource with the given unique name, arguments, and options.

type AttachmentArgs

type AttachmentArgs struct {
	// The name of the ELB.
	Elb pulumi.StringInput
	// Instance ID to place in the ELB pool.
	Instance pulumi.StringInput
}

The set of arguments for constructing a Attachment resource.

func (AttachmentArgs) ElementType

func (AttachmentArgs) ElementType() reflect.Type

type AttachmentState

type AttachmentState struct {
	// The name of the ELB.
	Elb pulumi.StringPtrInput
	// Instance ID to place in the ELB pool.
	Instance pulumi.StringPtrInput
}

func (AttachmentState) ElementType

func (AttachmentState) ElementType() reflect.Type

type GetHostedZoneIdArgs

type GetHostedZoneIdArgs struct {
	// Name of the region whose AWS ELB HostedZoneId is desired.
	// Defaults to the region from the AWS provider configuration.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getHostedZoneId.

type GetHostedZoneIdResult

type GetHostedZoneIdResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id     string  `pulumi:"id"`
	Region *string `pulumi:"region"`
}

A collection of values returned by getHostedZoneId.

func GetHostedZoneId

func GetHostedZoneId(ctx *pulumi.Context, args *GetHostedZoneIdArgs, opts ...pulumi.InvokeOption) (*GetHostedZoneIdResult, error)

Use this data source to get the HostedZoneId of the AWS Elastic Load Balancing HostedZoneId in a given region for the purpose of using in an AWS Route53 Alias.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/elb"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/route53"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		main, err := elb.GetHostedZoneId(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = route53.NewRecord(ctx, "www", &route53.RecordArgs{
			Aliases: route53.RecordAliasArray{
				&route53.RecordAliasArgs{
					EvaluateTargetHealth: pulumi.Bool(true),
					Name:                 pulumi.String(aws_elb.Main.Dns_name),
					ZoneId:               pulumi.String(main.Id),
				},
			},
			Name:   pulumi.String("example.com"),
			Type:   pulumi.String("A"),
			ZoneId: pulumi.String(aws_route53_zone.Primary.Zone_id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetLoadBalancerAccessLogs

type GetLoadBalancerAccessLogs struct {
	Bucket       string `pulumi:"bucket"`
	BucketPrefix string `pulumi:"bucketPrefix"`
	Enabled      bool   `pulumi:"enabled"`
	Interval     int    `pulumi:"interval"`
}

type GetLoadBalancerAccessLogsArgs

type GetLoadBalancerAccessLogsArgs struct {
	Bucket       pulumi.StringInput `pulumi:"bucket"`
	BucketPrefix pulumi.StringInput `pulumi:"bucketPrefix"`
	Enabled      pulumi.BoolInput   `pulumi:"enabled"`
	Interval     pulumi.IntInput    `pulumi:"interval"`
}

func (GetLoadBalancerAccessLogsArgs) ElementType

func (GetLoadBalancerAccessLogsArgs) ToGetLoadBalancerAccessLogsOutput

func (i GetLoadBalancerAccessLogsArgs) ToGetLoadBalancerAccessLogsOutput() GetLoadBalancerAccessLogsOutput

func (GetLoadBalancerAccessLogsArgs) ToGetLoadBalancerAccessLogsOutputWithContext

func (i GetLoadBalancerAccessLogsArgs) ToGetLoadBalancerAccessLogsOutputWithContext(ctx context.Context) GetLoadBalancerAccessLogsOutput

type GetLoadBalancerAccessLogsInput

type GetLoadBalancerAccessLogsInput interface {
	pulumi.Input

	ToGetLoadBalancerAccessLogsOutput() GetLoadBalancerAccessLogsOutput
	ToGetLoadBalancerAccessLogsOutputWithContext(context.Context) GetLoadBalancerAccessLogsOutput
}

GetLoadBalancerAccessLogsInput is an input type that accepts GetLoadBalancerAccessLogsArgs and GetLoadBalancerAccessLogsOutput values. You can construct a concrete instance of `GetLoadBalancerAccessLogsInput` via:

GetLoadBalancerAccessLogsArgs{...}

type GetLoadBalancerAccessLogsOutput

type GetLoadBalancerAccessLogsOutput struct{ *pulumi.OutputState }

func (GetLoadBalancerAccessLogsOutput) Bucket

func (GetLoadBalancerAccessLogsOutput) BucketPrefix

func (GetLoadBalancerAccessLogsOutput) ElementType

func (GetLoadBalancerAccessLogsOutput) Enabled

func (GetLoadBalancerAccessLogsOutput) Interval

func (GetLoadBalancerAccessLogsOutput) ToGetLoadBalancerAccessLogsOutput

func (o GetLoadBalancerAccessLogsOutput) ToGetLoadBalancerAccessLogsOutput() GetLoadBalancerAccessLogsOutput

func (GetLoadBalancerAccessLogsOutput) ToGetLoadBalancerAccessLogsOutputWithContext

func (o GetLoadBalancerAccessLogsOutput) ToGetLoadBalancerAccessLogsOutputWithContext(ctx context.Context) GetLoadBalancerAccessLogsOutput

type GetLoadBalancerHealthCheck

type GetLoadBalancerHealthCheck struct {
	HealthyThreshold   int    `pulumi:"healthyThreshold"`
	Interval           int    `pulumi:"interval"`
	Target             string `pulumi:"target"`
	Timeout            int    `pulumi:"timeout"`
	UnhealthyThreshold int    `pulumi:"unhealthyThreshold"`
}

type GetLoadBalancerHealthCheckArgs

type GetLoadBalancerHealthCheckArgs struct {
	HealthyThreshold   pulumi.IntInput    `pulumi:"healthyThreshold"`
	Interval           pulumi.IntInput    `pulumi:"interval"`
	Target             pulumi.StringInput `pulumi:"target"`
	Timeout            pulumi.IntInput    `pulumi:"timeout"`
	UnhealthyThreshold pulumi.IntInput    `pulumi:"unhealthyThreshold"`
}

func (GetLoadBalancerHealthCheckArgs) ElementType

func (GetLoadBalancerHealthCheckArgs) ToGetLoadBalancerHealthCheckOutput

func (i GetLoadBalancerHealthCheckArgs) ToGetLoadBalancerHealthCheckOutput() GetLoadBalancerHealthCheckOutput

func (GetLoadBalancerHealthCheckArgs) ToGetLoadBalancerHealthCheckOutputWithContext

func (i GetLoadBalancerHealthCheckArgs) ToGetLoadBalancerHealthCheckOutputWithContext(ctx context.Context) GetLoadBalancerHealthCheckOutput

type GetLoadBalancerHealthCheckInput

type GetLoadBalancerHealthCheckInput interface {
	pulumi.Input

	ToGetLoadBalancerHealthCheckOutput() GetLoadBalancerHealthCheckOutput
	ToGetLoadBalancerHealthCheckOutputWithContext(context.Context) GetLoadBalancerHealthCheckOutput
}

GetLoadBalancerHealthCheckInput is an input type that accepts GetLoadBalancerHealthCheckArgs and GetLoadBalancerHealthCheckOutput values. You can construct a concrete instance of `GetLoadBalancerHealthCheckInput` via:

GetLoadBalancerHealthCheckArgs{...}

type GetLoadBalancerHealthCheckOutput

type GetLoadBalancerHealthCheckOutput struct{ *pulumi.OutputState }

func (GetLoadBalancerHealthCheckOutput) ElementType

func (GetLoadBalancerHealthCheckOutput) HealthyThreshold

func (o GetLoadBalancerHealthCheckOutput) HealthyThreshold() pulumi.IntOutput

func (GetLoadBalancerHealthCheckOutput) Interval

func (GetLoadBalancerHealthCheckOutput) Target

func (GetLoadBalancerHealthCheckOutput) Timeout

func (GetLoadBalancerHealthCheckOutput) ToGetLoadBalancerHealthCheckOutput

func (o GetLoadBalancerHealthCheckOutput) ToGetLoadBalancerHealthCheckOutput() GetLoadBalancerHealthCheckOutput

func (GetLoadBalancerHealthCheckOutput) ToGetLoadBalancerHealthCheckOutputWithContext

func (o GetLoadBalancerHealthCheckOutput) ToGetLoadBalancerHealthCheckOutputWithContext(ctx context.Context) GetLoadBalancerHealthCheckOutput

func (GetLoadBalancerHealthCheckOutput) UnhealthyThreshold

func (o GetLoadBalancerHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput

type GetLoadBalancerListener

type GetLoadBalancerListener struct {
	InstancePort     int    `pulumi:"instancePort"`
	InstanceProtocol string `pulumi:"instanceProtocol"`
	LbPort           int    `pulumi:"lbPort"`
	LbProtocol       string `pulumi:"lbProtocol"`
	SslCertificateId string `pulumi:"sslCertificateId"`
}

type GetLoadBalancerListenerArgs

type GetLoadBalancerListenerArgs struct {
	InstancePort     pulumi.IntInput    `pulumi:"instancePort"`
	InstanceProtocol pulumi.StringInput `pulumi:"instanceProtocol"`
	LbPort           pulumi.IntInput    `pulumi:"lbPort"`
	LbProtocol       pulumi.StringInput `pulumi:"lbProtocol"`
	SslCertificateId pulumi.StringInput `pulumi:"sslCertificateId"`
}

func (GetLoadBalancerListenerArgs) ElementType

func (GetLoadBalancerListenerArgs) ToGetLoadBalancerListenerOutput

func (i GetLoadBalancerListenerArgs) ToGetLoadBalancerListenerOutput() GetLoadBalancerListenerOutput

func (GetLoadBalancerListenerArgs) ToGetLoadBalancerListenerOutputWithContext

func (i GetLoadBalancerListenerArgs) ToGetLoadBalancerListenerOutputWithContext(ctx context.Context) GetLoadBalancerListenerOutput

type GetLoadBalancerListenerArray

type GetLoadBalancerListenerArray []GetLoadBalancerListenerInput

func (GetLoadBalancerListenerArray) ElementType

func (GetLoadBalancerListenerArray) ToGetLoadBalancerListenerArrayOutput

func (i GetLoadBalancerListenerArray) ToGetLoadBalancerListenerArrayOutput() GetLoadBalancerListenerArrayOutput

func (GetLoadBalancerListenerArray) ToGetLoadBalancerListenerArrayOutputWithContext

func (i GetLoadBalancerListenerArray) ToGetLoadBalancerListenerArrayOutputWithContext(ctx context.Context) GetLoadBalancerListenerArrayOutput

type GetLoadBalancerListenerArrayInput

type GetLoadBalancerListenerArrayInput interface {
	pulumi.Input

	ToGetLoadBalancerListenerArrayOutput() GetLoadBalancerListenerArrayOutput
	ToGetLoadBalancerListenerArrayOutputWithContext(context.Context) GetLoadBalancerListenerArrayOutput
}

GetLoadBalancerListenerArrayInput is an input type that accepts GetLoadBalancerListenerArray and GetLoadBalancerListenerArrayOutput values. You can construct a concrete instance of `GetLoadBalancerListenerArrayInput` via:

GetLoadBalancerListenerArray{ GetLoadBalancerListenerArgs{...} }

type GetLoadBalancerListenerArrayOutput

type GetLoadBalancerListenerArrayOutput struct{ *pulumi.OutputState }

func (GetLoadBalancerListenerArrayOutput) ElementType

func (GetLoadBalancerListenerArrayOutput) Index

func (GetLoadBalancerListenerArrayOutput) ToGetLoadBalancerListenerArrayOutput

func (o GetLoadBalancerListenerArrayOutput) ToGetLoadBalancerListenerArrayOutput() GetLoadBalancerListenerArrayOutput

func (GetLoadBalancerListenerArrayOutput) ToGetLoadBalancerListenerArrayOutputWithContext

func (o GetLoadBalancerListenerArrayOutput) ToGetLoadBalancerListenerArrayOutputWithContext(ctx context.Context) GetLoadBalancerListenerArrayOutput

type GetLoadBalancerListenerInput

type GetLoadBalancerListenerInput interface {
	pulumi.Input

	ToGetLoadBalancerListenerOutput() GetLoadBalancerListenerOutput
	ToGetLoadBalancerListenerOutputWithContext(context.Context) GetLoadBalancerListenerOutput
}

GetLoadBalancerListenerInput is an input type that accepts GetLoadBalancerListenerArgs and GetLoadBalancerListenerOutput values. You can construct a concrete instance of `GetLoadBalancerListenerInput` via:

GetLoadBalancerListenerArgs{...}

type GetLoadBalancerListenerOutput

type GetLoadBalancerListenerOutput struct{ *pulumi.OutputState }

func (GetLoadBalancerListenerOutput) ElementType

func (GetLoadBalancerListenerOutput) InstancePort

func (GetLoadBalancerListenerOutput) InstanceProtocol

func (o GetLoadBalancerListenerOutput) InstanceProtocol() pulumi.StringOutput

func (GetLoadBalancerListenerOutput) LbPort

func (GetLoadBalancerListenerOutput) LbProtocol

func (GetLoadBalancerListenerOutput) SslCertificateId

func (o GetLoadBalancerListenerOutput) SslCertificateId() pulumi.StringOutput

func (GetLoadBalancerListenerOutput) ToGetLoadBalancerListenerOutput

func (o GetLoadBalancerListenerOutput) ToGetLoadBalancerListenerOutput() GetLoadBalancerListenerOutput

func (GetLoadBalancerListenerOutput) ToGetLoadBalancerListenerOutputWithContext

func (o GetLoadBalancerListenerOutput) ToGetLoadBalancerListenerOutputWithContext(ctx context.Context) GetLoadBalancerListenerOutput

type GetServiceAccountArgs

type GetServiceAccountArgs struct {
	// Name of the region whose AWS ELB account ID is desired.
	// Defaults to the region from the AWS provider configuration.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getServiceAccount.

type GetServiceAccountResult

type GetServiceAccountResult struct {
	// The ARN of the AWS ELB service account in the selected region.
	Arn string `pulumi:"arn"`
	// The provider-assigned unique ID for this managed resource.
	Id     string  `pulumi:"id"`
	Region *string `pulumi:"region"`
}

A collection of values returned by getServiceAccount.

func GetServiceAccount

func GetServiceAccount(ctx *pulumi.Context, args *GetServiceAccountArgs, opts ...pulumi.InvokeOption) (*GetServiceAccountResult, error)

Use this data source to get the Account ID of the [AWS Elastic Load Balancing Service Account](http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html#attach-bucket-policy) in a given region for the purpose of permitting in S3 bucket policy.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/elb"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		main, err := elb.GetServiceAccount(ctx, nil, nil)
		if err != nil {
			return err
		}
		elbLogs, err := s3.NewBucket(ctx, "elbLogs", &s3.BucketArgs{
			Acl:    pulumi.String("private"),
			Policy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Id\": \"Policy\",\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Action\": [\n", "        \"s3:PutObject\"\n", "      ],\n", "      \"Effect\": \"Allow\",\n", "      \"Resource\": \"arn:aws:s3:::my-elb-tf-test-bucket/AWSLogs/*\",\n", "      \"Principal\": {\n", "        \"AWS\": [\n", "          \"", main.Arn, "\"\n", "        ]\n", "      }\n", "    }\n", "  ]\n", "}\n", "\n")),
		})
		if err != nil {
			return err
		}
		_, err = elb.NewLoadBalancer(ctx, "bar", &elb.LoadBalancerArgs{
			AccessLogs: &elb.LoadBalancerAccessLogsArgs{
				Bucket:   elbLogs.Bucket,
				Interval: pulumi.Int(5),
			},
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-west-2a"),
			},
			Listeners: elb.LoadBalancerListenerArray{
				&elb.LoadBalancerListenerArgs{
					InstancePort:     pulumi.Int(8000),
					InstanceProtocol: pulumi.String("http"),
					LbPort:           pulumi.Int(80),
					LbProtocol:       pulumi.String("http"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type ListenerPolicy

type ListenerPolicy struct {
	pulumi.CustomResourceState

	// The load balancer to attach the policy to.
	LoadBalancerName pulumi.StringOutput `pulumi:"loadBalancerName"`
	// The load balancer listener port to apply the policy to.
	LoadBalancerPort pulumi.IntOutput `pulumi:"loadBalancerPort"`
	// List of Policy Names to apply to the backend server.
	PolicyNames pulumi.StringArrayOutput `pulumi:"policyNames"`
}

Attaches a load balancer policy to an ELB Listener.

## Example Usage ### Custom Policy

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/elb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elb.NewLoadBalancer(ctx, "wu_tang", &elb.LoadBalancerArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			Listeners: elb.LoadBalancerListenerArray{
				&elb.LoadBalancerListenerArgs{
					InstancePort:     pulumi.Int(443),
					InstanceProtocol: pulumi.String("http"),
					LbPort:           pulumi.Int(443),
					LbProtocol:       pulumi.String("https"),
					SslCertificateId: pulumi.String("arn:aws:iam::000000000000:server-certificate/wu-tang.net"),
				},
			},
			Tags: pulumi.StringMap{
				"Name": pulumi.String("wu-tang"),
			},
		})
		if err != nil {
			return err
		}
		_, err = elb.NewLoadBalancerPolicy(ctx, "wu_tang_ssl", &elb.LoadBalancerPolicyArgs{
			LoadBalancerName: wu_tang.Name,
			PolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{
				&elb.LoadBalancerPolicyPolicyAttributeArgs{
					Name:  pulumi.String("ECDHE-ECDSA-AES128-GCM-SHA256"),
					Value: pulumi.String("true"),
				},
				&elb.LoadBalancerPolicyPolicyAttributeArgs{
					Name:  pulumi.String("Protocol-TLSv1.2"),
					Value: pulumi.String("true"),
				},
			},
			PolicyName:     pulumi.String("wu-tang-ssl"),
			PolicyTypeName: pulumi.String("SSLNegotiationPolicyType"),
		})
		if err != nil {
			return err
		}
		_, err = elb.NewListenerPolicy(ctx, "wu_tang_listener_policies_443", &elb.ListenerPolicyArgs{
			LoadBalancerName: wu_tang.Name,
			LoadBalancerPort: pulumi.Int(443),
			PolicyNames: pulumi.StringArray{
				wu_tang_ssl.PolicyName,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

This example shows how to customize the TLS settings of an HTTPS listener. ### AWS Predefined Security Policy

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/elb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elb.NewLoadBalancer(ctx, "wu_tang", &elb.LoadBalancerArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			Listeners: elb.LoadBalancerListenerArray{
				&elb.LoadBalancerListenerArgs{
					InstancePort:     pulumi.Int(443),
					InstanceProtocol: pulumi.String("http"),
					LbPort:           pulumi.Int(443),
					LbProtocol:       pulumi.String("https"),
					SslCertificateId: pulumi.String("arn:aws:iam::000000000000:server-certificate/wu-tang.net"),
				},
			},
			Tags: pulumi.StringMap{
				"Name": pulumi.String("wu-tang"),
			},
		})
		if err != nil {
			return err
		}
		_, err = elb.NewLoadBalancerPolicy(ctx, "wu_tang_ssl_tls_1_1", &elb.LoadBalancerPolicyArgs{
			LoadBalancerName: wu_tang.Name,
			PolicyAttributes: elb.LoadBalancerPolicyPolicyAttributeArray{
				&elb.LoadBalancerPolicyPolicyAttributeArgs{
					Name:  pulumi.String("Reference-Security-Policy"),
					Value: pulumi.String("ELBSecurityPolicy-TLS-1-1-2017-01"),
				},
			},
			PolicyName:     pulumi.String("wu-tang-ssl"),
			PolicyTypeName: pulumi.String("SSLNegotiationPolicyType"),
		})
		if err != nil {
			return err
		}
		_, err = elb.NewListenerPolicy(ctx, "wu_tang_listener_policies_443", &elb.ListenerPolicyArgs{
			LoadBalancerName: wu_tang.Name,
			LoadBalancerPort: pulumi.Int(443),
			PolicyNames: pulumi.StringArray{
				wu_tang_ssl_tls_1_1.PolicyName,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

This example shows how to add a [Predefined Security Policy for ELBs](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-policy-table.html)

func GetListenerPolicy

func GetListenerPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ListenerPolicyState, opts ...pulumi.ResourceOption) (*ListenerPolicy, error)

GetListenerPolicy gets an existing ListenerPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewListenerPolicy

func NewListenerPolicy(ctx *pulumi.Context,
	name string, args *ListenerPolicyArgs, opts ...pulumi.ResourceOption) (*ListenerPolicy, error)

NewListenerPolicy registers a new resource with the given unique name, arguments, and options.

type ListenerPolicyArgs

type ListenerPolicyArgs struct {
	// The load balancer to attach the policy to.
	LoadBalancerName pulumi.StringInput
	// The load balancer listener port to apply the policy to.
	LoadBalancerPort pulumi.IntInput
	// List of Policy Names to apply to the backend server.
	PolicyNames pulumi.StringArrayInput
}

The set of arguments for constructing a ListenerPolicy resource.

func (ListenerPolicyArgs) ElementType

func (ListenerPolicyArgs) ElementType() reflect.Type

type ListenerPolicyState

type ListenerPolicyState struct {
	// The load balancer to attach the policy to.
	LoadBalancerName pulumi.StringPtrInput
	// The load balancer listener port to apply the policy to.
	LoadBalancerPort pulumi.IntPtrInput
	// List of Policy Names to apply to the backend server.
	PolicyNames pulumi.StringArrayInput
}

func (ListenerPolicyState) ElementType

func (ListenerPolicyState) ElementType() reflect.Type

type LoadBalancer

type LoadBalancer struct {
	pulumi.CustomResourceState

	// An Access Logs block. Access Logs documented below.
	AccessLogs LoadBalancerAccessLogsPtrOutput `pulumi:"accessLogs"`
	// The ARN of the ELB
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The AZ's to serve traffic in.
	AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"`
	// Boolean to enable connection draining. Default: `false`
	ConnectionDraining pulumi.BoolPtrOutput `pulumi:"connectionDraining"`
	// The time in seconds to allow for connections to drain. Default: `300`
	ConnectionDrainingTimeout pulumi.IntPtrOutput `pulumi:"connectionDrainingTimeout"`
	// Enable cross-zone load balancing. Default: `true`
	CrossZoneLoadBalancing pulumi.BoolPtrOutput `pulumi:"crossZoneLoadBalancing"`
	// The DNS name of the ELB
	DnsName pulumi.StringOutput `pulumi:"dnsName"`
	// A healthCheck block. Health Check documented below.
	HealthCheck LoadBalancerHealthCheckOutput `pulumi:"healthCheck"`
	// The time in seconds that the connection is allowed to be idle. Default: `60`
	IdleTimeout pulumi.IntPtrOutput `pulumi:"idleTimeout"`
	// A list of instance ids to place in the ELB pool.
	Instances pulumi.StringArrayOutput `pulumi:"instances"`
	// If true, ELB will be an internal ELB.
	Internal pulumi.BoolOutput `pulumi:"internal"`
	// A list of listener blocks. Listeners documented below.
	Listeners LoadBalancerListenerArrayOutput `pulumi:"listeners"`
	// The name of the ELB. By default generated by this provider.
	Name pulumi.StringOutput `pulumi:"name"`
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"`
	// A list of security group IDs to assign to the ELB.
	// Only valid if creating an ELB within a VPC
	SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"`
	// The name of the security group that you can use as
	// part of your inbound rules for your load balancer's back-end application
	// instances. Use this for Classic or Default VPC only.
	SourceSecurityGroup pulumi.StringOutput `pulumi:"sourceSecurityGroup"`
	// The ID of the security group that you can use as
	// part of your inbound rules for your load balancer's back-end application
	// instances. Only available on ELBs launched in a VPC.
	SourceSecurityGroupId pulumi.StringOutput `pulumi:"sourceSecurityGroupId"`
	// A list of subnet IDs to attach to the ELB.
	Subnets pulumi.StringArrayOutput `pulumi:"subnets"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The canonical hosted zone ID of the ELB (to be used in a Route 53 Alias record)
	ZoneId pulumi.StringOutput `pulumi:"zoneId"`
}

Provides an Elastic Load Balancer resource, also known as a "Classic Load Balancer" after the release of `Application/Network Load Balancers`.

> **NOTE on ELB Instances and ELB Attachments:** This provider currently provides both a standalone ELB Attachment resource (describing an instance attached to an ELB), and an ELB resource with `instances` defined in-line. At this time you cannot use an ELB with in-line instances in conjunction with a ELB Attachment resources. Doing so will cause a conflict and will overwrite attachments.

## Note on ECDSA Key Algorithm

If the ARN of the `sslCertificateId` that is pointed to references a certificate that was signed by an ECDSA key, note that ELB only supports the P256 and P384 curves. Using a certificate signed by a key using a different curve could produce the error `ERR_SSL_VERSION_OR_CIPHER_MISMATCH` in your browser.

func GetLoadBalancer

func GetLoadBalancer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LoadBalancerState, opts ...pulumi.ResourceOption) (*LoadBalancer, error)

GetLoadBalancer gets an existing LoadBalancer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLoadBalancer

func NewLoadBalancer(ctx *pulumi.Context,
	name string, args *LoadBalancerArgs, opts ...pulumi.ResourceOption) (*LoadBalancer, error)

NewLoadBalancer registers a new resource with the given unique name, arguments, and options.

type LoadBalancerAccessLogs

type LoadBalancerAccessLogs struct {
	// The S3 bucket name to store the logs in.
	Bucket string `pulumi:"bucket"`
	// The S3 bucket prefix. Logs are stored in the root if not configured.
	BucketPrefix *string `pulumi:"bucketPrefix"`
	// Boolean to enable / disable `accessLogs`. Default is `true`
	Enabled *bool `pulumi:"enabled"`
	// The publishing interval in minutes. Default: 60 minutes.
	Interval *int `pulumi:"interval"`
}

type LoadBalancerAccessLogsArgs

type LoadBalancerAccessLogsArgs struct {
	// The S3 bucket name to store the logs in.
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// The S3 bucket prefix. Logs are stored in the root if not configured.
	BucketPrefix pulumi.StringPtrInput `pulumi:"bucketPrefix"`
	// Boolean to enable / disable `accessLogs`. Default is `true`
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// The publishing interval in minutes. Default: 60 minutes.
	Interval pulumi.IntPtrInput `pulumi:"interval"`
}

func (LoadBalancerAccessLogsArgs) ElementType

func (LoadBalancerAccessLogsArgs) ElementType() reflect.Type

func (LoadBalancerAccessLogsArgs) ToLoadBalancerAccessLogsOutput

func (i LoadBalancerAccessLogsArgs) ToLoadBalancerAccessLogsOutput() LoadBalancerAccessLogsOutput

func (LoadBalancerAccessLogsArgs) ToLoadBalancerAccessLogsOutputWithContext

func (i LoadBalancerAccessLogsArgs) ToLoadBalancerAccessLogsOutputWithContext(ctx context.Context) LoadBalancerAccessLogsOutput

func (LoadBalancerAccessLogsArgs) ToLoadBalancerAccessLogsPtrOutput

func (i LoadBalancerAccessLogsArgs) ToLoadBalancerAccessLogsPtrOutput() LoadBalancerAccessLogsPtrOutput

func (LoadBalancerAccessLogsArgs) ToLoadBalancerAccessLogsPtrOutputWithContext

func (i LoadBalancerAccessLogsArgs) ToLoadBalancerAccessLogsPtrOutputWithContext(ctx context.Context) LoadBalancerAccessLogsPtrOutput

type LoadBalancerAccessLogsInput

type LoadBalancerAccessLogsInput interface {
	pulumi.Input

	ToLoadBalancerAccessLogsOutput() LoadBalancerAccessLogsOutput
	ToLoadBalancerAccessLogsOutputWithContext(context.Context) LoadBalancerAccessLogsOutput
}

LoadBalancerAccessLogsInput is an input type that accepts LoadBalancerAccessLogsArgs and LoadBalancerAccessLogsOutput values. You can construct a concrete instance of `LoadBalancerAccessLogsInput` via:

LoadBalancerAccessLogsArgs{...}

type LoadBalancerAccessLogsOutput

type LoadBalancerAccessLogsOutput struct{ *pulumi.OutputState }

func (LoadBalancerAccessLogsOutput) Bucket

The S3 bucket name to store the logs in.

func (LoadBalancerAccessLogsOutput) BucketPrefix

The S3 bucket prefix. Logs are stored in the root if not configured.

func (LoadBalancerAccessLogsOutput) ElementType

func (LoadBalancerAccessLogsOutput) Enabled

Boolean to enable / disable `accessLogs`. Default is `true`

func (LoadBalancerAccessLogsOutput) Interval

The publishing interval in minutes. Default: 60 minutes.

func (LoadBalancerAccessLogsOutput) ToLoadBalancerAccessLogsOutput

func (o LoadBalancerAccessLogsOutput) ToLoadBalancerAccessLogsOutput() LoadBalancerAccessLogsOutput

func (LoadBalancerAccessLogsOutput) ToLoadBalancerAccessLogsOutputWithContext

func (o LoadBalancerAccessLogsOutput) ToLoadBalancerAccessLogsOutputWithContext(ctx context.Context) LoadBalancerAccessLogsOutput

func (LoadBalancerAccessLogsOutput) ToLoadBalancerAccessLogsPtrOutput

func (o LoadBalancerAccessLogsOutput) ToLoadBalancerAccessLogsPtrOutput() LoadBalancerAccessLogsPtrOutput

func (LoadBalancerAccessLogsOutput) ToLoadBalancerAccessLogsPtrOutputWithContext

func (o LoadBalancerAccessLogsOutput) ToLoadBalancerAccessLogsPtrOutputWithContext(ctx context.Context) LoadBalancerAccessLogsPtrOutput

type LoadBalancerAccessLogsPtrInput

type LoadBalancerAccessLogsPtrInput interface {
	pulumi.Input

	ToLoadBalancerAccessLogsPtrOutput() LoadBalancerAccessLogsPtrOutput
	ToLoadBalancerAccessLogsPtrOutputWithContext(context.Context) LoadBalancerAccessLogsPtrOutput
}

LoadBalancerAccessLogsPtrInput is an input type that accepts LoadBalancerAccessLogsArgs, LoadBalancerAccessLogsPtr and LoadBalancerAccessLogsPtrOutput values. You can construct a concrete instance of `LoadBalancerAccessLogsPtrInput` via:

        LoadBalancerAccessLogsArgs{...}

or:

        nil

type LoadBalancerAccessLogsPtrOutput

type LoadBalancerAccessLogsPtrOutput struct{ *pulumi.OutputState }

func (LoadBalancerAccessLogsPtrOutput) Bucket

The S3 bucket name to store the logs in.

func (LoadBalancerAccessLogsPtrOutput) BucketPrefix

The S3 bucket prefix. Logs are stored in the root if not configured.

func (LoadBalancerAccessLogsPtrOutput) Elem

func (LoadBalancerAccessLogsPtrOutput) ElementType

func (LoadBalancerAccessLogsPtrOutput) Enabled

Boolean to enable / disable `accessLogs`. Default is `true`

func (LoadBalancerAccessLogsPtrOutput) Interval

The publishing interval in minutes. Default: 60 minutes.

func (LoadBalancerAccessLogsPtrOutput) ToLoadBalancerAccessLogsPtrOutput

func (o LoadBalancerAccessLogsPtrOutput) ToLoadBalancerAccessLogsPtrOutput() LoadBalancerAccessLogsPtrOutput

func (LoadBalancerAccessLogsPtrOutput) ToLoadBalancerAccessLogsPtrOutputWithContext

func (o LoadBalancerAccessLogsPtrOutput) ToLoadBalancerAccessLogsPtrOutputWithContext(ctx context.Context) LoadBalancerAccessLogsPtrOutput

type LoadBalancerArgs

type LoadBalancerArgs struct {
	// An Access Logs block. Access Logs documented below.
	AccessLogs LoadBalancerAccessLogsPtrInput
	// The AZ's to serve traffic in.
	AvailabilityZones pulumi.StringArrayInput
	// Boolean to enable connection draining. Default: `false`
	ConnectionDraining pulumi.BoolPtrInput
	// The time in seconds to allow for connections to drain. Default: `300`
	ConnectionDrainingTimeout pulumi.IntPtrInput
	// Enable cross-zone load balancing. Default: `true`
	CrossZoneLoadBalancing pulumi.BoolPtrInput
	// A healthCheck block. Health Check documented below.
	HealthCheck LoadBalancerHealthCheckPtrInput
	// The time in seconds that the connection is allowed to be idle. Default: `60`
	IdleTimeout pulumi.IntPtrInput
	// A list of instance ids to place in the ELB pool.
	Instances pulumi.StringArrayInput
	// If true, ELB will be an internal ELB.
	Internal pulumi.BoolPtrInput
	// A list of listener blocks. Listeners documented below.
	Listeners LoadBalancerListenerArrayInput
	// The name of the ELB. By default generated by this provider.
	Name pulumi.StringPtrInput
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// A list of security group IDs to assign to the ELB.
	// Only valid if creating an ELB within a VPC
	SecurityGroups pulumi.StringArrayInput
	// The name of the security group that you can use as
	// part of your inbound rules for your load balancer's back-end application
	// instances. Use this for Classic or Default VPC only.
	SourceSecurityGroup pulumi.StringPtrInput
	// A list of subnet IDs to attach to the ELB.
	Subnets pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a LoadBalancer resource.

func (LoadBalancerArgs) ElementType

func (LoadBalancerArgs) ElementType() reflect.Type

type LoadBalancerBackendServerPolicy

type LoadBalancerBackendServerPolicy struct {
	pulumi.CustomResourceState

	// The instance port to apply the policy to.
	InstancePort pulumi.IntOutput `pulumi:"instancePort"`
	// The load balancer to attach the policy to.
	LoadBalancerName pulumi.StringOutput `pulumi:"loadBalancerName"`
	// List of Policy Names to apply to the backend server.
	PolicyNames pulumi.StringArrayOutput `pulumi:"policyNames"`
}

Attaches a load balancer policy to an ELB backend server.

func GetLoadBalancerBackendServerPolicy

func GetLoadBalancerBackendServerPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LoadBalancerBackendServerPolicyState, opts ...pulumi.ResourceOption) (*LoadBalancerBackendServerPolicy, error)

GetLoadBalancerBackendServerPolicy gets an existing LoadBalancerBackendServerPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLoadBalancerBackendServerPolicy

func NewLoadBalancerBackendServerPolicy(ctx *pulumi.Context,
	name string, args *LoadBalancerBackendServerPolicyArgs, opts ...pulumi.ResourceOption) (*LoadBalancerBackendServerPolicy, error)

NewLoadBalancerBackendServerPolicy registers a new resource with the given unique name, arguments, and options.

type LoadBalancerBackendServerPolicyArgs

type LoadBalancerBackendServerPolicyArgs struct {
	// The instance port to apply the policy to.
	InstancePort pulumi.IntInput
	// The load balancer to attach the policy to.
	LoadBalancerName pulumi.StringInput
	// List of Policy Names to apply to the backend server.
	PolicyNames pulumi.StringArrayInput
}

The set of arguments for constructing a LoadBalancerBackendServerPolicy resource.

func (LoadBalancerBackendServerPolicyArgs) ElementType

type LoadBalancerBackendServerPolicyState

type LoadBalancerBackendServerPolicyState struct {
	// The instance port to apply the policy to.
	InstancePort pulumi.IntPtrInput
	// The load balancer to attach the policy to.
	LoadBalancerName pulumi.StringPtrInput
	// List of Policy Names to apply to the backend server.
	PolicyNames pulumi.StringArrayInput
}

func (LoadBalancerBackendServerPolicyState) ElementType

type LoadBalancerCookieStickinessPolicy

type LoadBalancerCookieStickinessPolicy struct {
	pulumi.CustomResourceState

	// The time period after which
	// the session cookie should be considered stale, expressed in seconds.
	CookieExpirationPeriod pulumi.IntPtrOutput `pulumi:"cookieExpirationPeriod"`
	// The load balancer port to which the policy
	// should be applied. This must be an active listener on the load
	// balancer.
	LbPort pulumi.IntOutput `pulumi:"lbPort"`
	// The load balancer to which the policy
	// should be attached.
	LoadBalancer pulumi.StringOutput `pulumi:"loadBalancer"`
	// The name of the stickiness policy.
	Name pulumi.StringOutput `pulumi:"name"`
}

Provides a load balancer cookie stickiness policy, which allows an ELB to control the sticky session lifetime of the browser.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/elb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		lb, err := elb.NewLoadBalancer(ctx, "lb", &elb.LoadBalancerArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			Listeners: elb.LoadBalancerListenerArray{
				&elb.LoadBalancerListenerArgs{
					InstancePort:     pulumi.Int(8000),
					InstanceProtocol: pulumi.String("http"),
					LbPort:           pulumi.Int(80),
					LbProtocol:       pulumi.String("http"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = elb.NewLoadBalancerCookieStickinessPolicy(ctx, "foo", &elb.LoadBalancerCookieStickinessPolicyArgs{
			CookieExpirationPeriod: pulumi.Int(600),
			LbPort:                 pulumi.Int(80),
			LoadBalancer:           lb.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetLoadBalancerCookieStickinessPolicy

func GetLoadBalancerCookieStickinessPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LoadBalancerCookieStickinessPolicyState, opts ...pulumi.ResourceOption) (*LoadBalancerCookieStickinessPolicy, error)

GetLoadBalancerCookieStickinessPolicy gets an existing LoadBalancerCookieStickinessPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLoadBalancerCookieStickinessPolicy

func NewLoadBalancerCookieStickinessPolicy(ctx *pulumi.Context,
	name string, args *LoadBalancerCookieStickinessPolicyArgs, opts ...pulumi.ResourceOption) (*LoadBalancerCookieStickinessPolicy, error)

NewLoadBalancerCookieStickinessPolicy registers a new resource with the given unique name, arguments, and options.

type LoadBalancerCookieStickinessPolicyArgs

type LoadBalancerCookieStickinessPolicyArgs struct {
	// The time period after which
	// the session cookie should be considered stale, expressed in seconds.
	CookieExpirationPeriod pulumi.IntPtrInput
	// The load balancer port to which the policy
	// should be applied. This must be an active listener on the load
	// balancer.
	LbPort pulumi.IntInput
	// The load balancer to which the policy
	// should be attached.
	LoadBalancer pulumi.StringInput
	// The name of the stickiness policy.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a LoadBalancerCookieStickinessPolicy resource.

func (LoadBalancerCookieStickinessPolicyArgs) ElementType

type LoadBalancerCookieStickinessPolicyState

type LoadBalancerCookieStickinessPolicyState struct {
	// The time period after which
	// the session cookie should be considered stale, expressed in seconds.
	CookieExpirationPeriod pulumi.IntPtrInput
	// The load balancer port to which the policy
	// should be applied. This must be an active listener on the load
	// balancer.
	LbPort pulumi.IntPtrInput
	// The load balancer to which the policy
	// should be attached.
	LoadBalancer pulumi.StringPtrInput
	// The name of the stickiness policy.
	Name pulumi.StringPtrInput
}

func (LoadBalancerCookieStickinessPolicyState) ElementType

type LoadBalancerHealthCheck

type LoadBalancerHealthCheck struct {
	// The number of checks before the instance is declared healthy.
	HealthyThreshold int `pulumi:"healthyThreshold"`
	// The interval between checks.
	Interval int `pulumi:"interval"`
	// The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL
	// values are:
	// * `HTTP`, `HTTPS` - PORT and PATH are required
	// * `TCP`, `SSL` - PORT is required, PATH is not supported
	Target string `pulumi:"target"`
	// The length of time before the check times out.
	Timeout int `pulumi:"timeout"`
	// The number of checks before the instance is declared unhealthy.
	UnhealthyThreshold int `pulumi:"unhealthyThreshold"`
}

type LoadBalancerHealthCheckArgs

type LoadBalancerHealthCheckArgs struct {
	// The number of checks before the instance is declared healthy.
	HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"`
	// The interval between checks.
	Interval pulumi.IntInput `pulumi:"interval"`
	// The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL
	// values are:
	// * `HTTP`, `HTTPS` - PORT and PATH are required
	// * `TCP`, `SSL` - PORT is required, PATH is not supported
	Target pulumi.StringInput `pulumi:"target"`
	// The length of time before the check times out.
	Timeout pulumi.IntInput `pulumi:"timeout"`
	// The number of checks before the instance is declared unhealthy.
	UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"`
}

func (LoadBalancerHealthCheckArgs) ElementType

func (LoadBalancerHealthCheckArgs) ToLoadBalancerHealthCheckOutput

func (i LoadBalancerHealthCheckArgs) ToLoadBalancerHealthCheckOutput() LoadBalancerHealthCheckOutput

func (LoadBalancerHealthCheckArgs) ToLoadBalancerHealthCheckOutputWithContext

func (i LoadBalancerHealthCheckArgs) ToLoadBalancerHealthCheckOutputWithContext(ctx context.Context) LoadBalancerHealthCheckOutput

func (LoadBalancerHealthCheckArgs) ToLoadBalancerHealthCheckPtrOutput

func (i LoadBalancerHealthCheckArgs) ToLoadBalancerHealthCheckPtrOutput() LoadBalancerHealthCheckPtrOutput

func (LoadBalancerHealthCheckArgs) ToLoadBalancerHealthCheckPtrOutputWithContext

func (i LoadBalancerHealthCheckArgs) ToLoadBalancerHealthCheckPtrOutputWithContext(ctx context.Context) LoadBalancerHealthCheckPtrOutput

type LoadBalancerHealthCheckInput

type LoadBalancerHealthCheckInput interface {
	pulumi.Input

	ToLoadBalancerHealthCheckOutput() LoadBalancerHealthCheckOutput
	ToLoadBalancerHealthCheckOutputWithContext(context.Context) LoadBalancerHealthCheckOutput
}

LoadBalancerHealthCheckInput is an input type that accepts LoadBalancerHealthCheckArgs and LoadBalancerHealthCheckOutput values. You can construct a concrete instance of `LoadBalancerHealthCheckInput` via:

LoadBalancerHealthCheckArgs{...}

type LoadBalancerHealthCheckOutput

type LoadBalancerHealthCheckOutput struct{ *pulumi.OutputState }

func (LoadBalancerHealthCheckOutput) ElementType

func (LoadBalancerHealthCheckOutput) HealthyThreshold

func (o LoadBalancerHealthCheckOutput) HealthyThreshold() pulumi.IntOutput

The number of checks before the instance is declared healthy.

func (LoadBalancerHealthCheckOutput) Interval

The interval between checks.

func (LoadBalancerHealthCheckOutput) Target

The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL values are: * `HTTP`, `HTTPS` - PORT and PATH are required * `TCP`, `SSL` - PORT is required, PATH is not supported

func (LoadBalancerHealthCheckOutput) Timeout

The length of time before the check times out.

func (LoadBalancerHealthCheckOutput) ToLoadBalancerHealthCheckOutput

func (o LoadBalancerHealthCheckOutput) ToLoadBalancerHealthCheckOutput() LoadBalancerHealthCheckOutput

func (LoadBalancerHealthCheckOutput) ToLoadBalancerHealthCheckOutputWithContext

func (o LoadBalancerHealthCheckOutput) ToLoadBalancerHealthCheckOutputWithContext(ctx context.Context) LoadBalancerHealthCheckOutput

func (LoadBalancerHealthCheckOutput) ToLoadBalancerHealthCheckPtrOutput

func (o LoadBalancerHealthCheckOutput) ToLoadBalancerHealthCheckPtrOutput() LoadBalancerHealthCheckPtrOutput

func (LoadBalancerHealthCheckOutput) ToLoadBalancerHealthCheckPtrOutputWithContext

func (o LoadBalancerHealthCheckOutput) ToLoadBalancerHealthCheckPtrOutputWithContext(ctx context.Context) LoadBalancerHealthCheckPtrOutput

func (LoadBalancerHealthCheckOutput) UnhealthyThreshold

func (o LoadBalancerHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput

The number of checks before the instance is declared unhealthy.

type LoadBalancerHealthCheckPtrInput

type LoadBalancerHealthCheckPtrInput interface {
	pulumi.Input

	ToLoadBalancerHealthCheckPtrOutput() LoadBalancerHealthCheckPtrOutput
	ToLoadBalancerHealthCheckPtrOutputWithContext(context.Context) LoadBalancerHealthCheckPtrOutput
}

LoadBalancerHealthCheckPtrInput is an input type that accepts LoadBalancerHealthCheckArgs, LoadBalancerHealthCheckPtr and LoadBalancerHealthCheckPtrOutput values. You can construct a concrete instance of `LoadBalancerHealthCheckPtrInput` via:

        LoadBalancerHealthCheckArgs{...}

or:

        nil

type LoadBalancerHealthCheckPtrOutput

type LoadBalancerHealthCheckPtrOutput struct{ *pulumi.OutputState }

func (LoadBalancerHealthCheckPtrOutput) Elem

func (LoadBalancerHealthCheckPtrOutput) ElementType

func (LoadBalancerHealthCheckPtrOutput) HealthyThreshold

The number of checks before the instance is declared healthy.

func (LoadBalancerHealthCheckPtrOutput) Interval

The interval between checks.

func (LoadBalancerHealthCheckPtrOutput) Target

The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL values are: * `HTTP`, `HTTPS` - PORT and PATH are required * `TCP`, `SSL` - PORT is required, PATH is not supported

func (LoadBalancerHealthCheckPtrOutput) Timeout

The length of time before the check times out.

func (LoadBalancerHealthCheckPtrOutput) ToLoadBalancerHealthCheckPtrOutput

func (o LoadBalancerHealthCheckPtrOutput) ToLoadBalancerHealthCheckPtrOutput() LoadBalancerHealthCheckPtrOutput

func (LoadBalancerHealthCheckPtrOutput) ToLoadBalancerHealthCheckPtrOutputWithContext

func (o LoadBalancerHealthCheckPtrOutput) ToLoadBalancerHealthCheckPtrOutputWithContext(ctx context.Context) LoadBalancerHealthCheckPtrOutput

func (LoadBalancerHealthCheckPtrOutput) UnhealthyThreshold

func (o LoadBalancerHealthCheckPtrOutput) UnhealthyThreshold() pulumi.IntPtrOutput

The number of checks before the instance is declared unhealthy.

type LoadBalancerListener

type LoadBalancerListener struct {
	// The port on the instance to route to
	InstancePort int `pulumi:"instancePort"`
	// The protocol to use to the instance. Valid
	// values are `HTTP`, `HTTPS`, `TCP`, or `SSL`
	InstanceProtocol string `pulumi:"instanceProtocol"`
	// The port to listen on for the load balancer
	LbPort int `pulumi:"lbPort"`
	// The protocol to listen on. Valid values are `HTTP`,
	// `HTTPS`, `TCP`, or `SSL`
	LbProtocol string `pulumi:"lbProtocol"`
	// The ARN of an SSL certificate you have
	// uploaded to AWS IAM. **Note ECDSA-specific restrictions below.  Only valid when `lbProtocol` is either HTTPS or SSL**
	SslCertificateId *string `pulumi:"sslCertificateId"`
}

type LoadBalancerListenerArgs

type LoadBalancerListenerArgs struct {
	// The port on the instance to route to
	InstancePort pulumi.IntInput `pulumi:"instancePort"`
	// The protocol to use to the instance. Valid
	// values are `HTTP`, `HTTPS`, `TCP`, or `SSL`
	InstanceProtocol pulumi.StringInput `pulumi:"instanceProtocol"`
	// The port to listen on for the load balancer
	LbPort pulumi.IntInput `pulumi:"lbPort"`
	// The protocol to listen on. Valid values are `HTTP`,
	// `HTTPS`, `TCP`, or `SSL`
	LbProtocol pulumi.StringInput `pulumi:"lbProtocol"`
	// The ARN of an SSL certificate you have
	// uploaded to AWS IAM. **Note ECDSA-specific restrictions below.  Only valid when `lbProtocol` is either HTTPS or SSL**
	SslCertificateId pulumi.StringPtrInput `pulumi:"sslCertificateId"`
}

func (LoadBalancerListenerArgs) ElementType

func (LoadBalancerListenerArgs) ElementType() reflect.Type

func (LoadBalancerListenerArgs) ToLoadBalancerListenerOutput

func (i LoadBalancerListenerArgs) ToLoadBalancerListenerOutput() LoadBalancerListenerOutput

func (LoadBalancerListenerArgs) ToLoadBalancerListenerOutputWithContext

func (i LoadBalancerListenerArgs) ToLoadBalancerListenerOutputWithContext(ctx context.Context) LoadBalancerListenerOutput

type LoadBalancerListenerArray

type LoadBalancerListenerArray []LoadBalancerListenerInput

func (LoadBalancerListenerArray) ElementType

func (LoadBalancerListenerArray) ElementType() reflect.Type

func (LoadBalancerListenerArray) ToLoadBalancerListenerArrayOutput

func (i LoadBalancerListenerArray) ToLoadBalancerListenerArrayOutput() LoadBalancerListenerArrayOutput

func (LoadBalancerListenerArray) ToLoadBalancerListenerArrayOutputWithContext

func (i LoadBalancerListenerArray) ToLoadBalancerListenerArrayOutputWithContext(ctx context.Context) LoadBalancerListenerArrayOutput

type LoadBalancerListenerArrayInput

type LoadBalancerListenerArrayInput interface {
	pulumi.Input

	ToLoadBalancerListenerArrayOutput() LoadBalancerListenerArrayOutput
	ToLoadBalancerListenerArrayOutputWithContext(context.Context) LoadBalancerListenerArrayOutput
}

LoadBalancerListenerArrayInput is an input type that accepts LoadBalancerListenerArray and LoadBalancerListenerArrayOutput values. You can construct a concrete instance of `LoadBalancerListenerArrayInput` via:

LoadBalancerListenerArray{ LoadBalancerListenerArgs{...} }

type LoadBalancerListenerArrayOutput

type LoadBalancerListenerArrayOutput struct{ *pulumi.OutputState }

func (LoadBalancerListenerArrayOutput) ElementType

func (LoadBalancerListenerArrayOutput) Index

func (LoadBalancerListenerArrayOutput) ToLoadBalancerListenerArrayOutput

func (o LoadBalancerListenerArrayOutput) ToLoadBalancerListenerArrayOutput() LoadBalancerListenerArrayOutput

func (LoadBalancerListenerArrayOutput) ToLoadBalancerListenerArrayOutputWithContext

func (o LoadBalancerListenerArrayOutput) ToLoadBalancerListenerArrayOutputWithContext(ctx context.Context) LoadBalancerListenerArrayOutput

type LoadBalancerListenerInput

type LoadBalancerListenerInput interface {
	pulumi.Input

	ToLoadBalancerListenerOutput() LoadBalancerListenerOutput
	ToLoadBalancerListenerOutputWithContext(context.Context) LoadBalancerListenerOutput
}

LoadBalancerListenerInput is an input type that accepts LoadBalancerListenerArgs and LoadBalancerListenerOutput values. You can construct a concrete instance of `LoadBalancerListenerInput` via:

LoadBalancerListenerArgs{...}

type LoadBalancerListenerOutput

type LoadBalancerListenerOutput struct{ *pulumi.OutputState }

func (LoadBalancerListenerOutput) ElementType

func (LoadBalancerListenerOutput) ElementType() reflect.Type

func (LoadBalancerListenerOutput) InstancePort

func (o LoadBalancerListenerOutput) InstancePort() pulumi.IntOutput

The port on the instance to route to

func (LoadBalancerListenerOutput) InstanceProtocol

func (o LoadBalancerListenerOutput) InstanceProtocol() pulumi.StringOutput

The protocol to use to the instance. Valid values are `HTTP`, `HTTPS`, `TCP`, or `SSL`

func (LoadBalancerListenerOutput) LbPort

The port to listen on for the load balancer

func (LoadBalancerListenerOutput) LbProtocol

The protocol to listen on. Valid values are `HTTP`, `HTTPS`, `TCP`, or `SSL`

func (LoadBalancerListenerOutput) SslCertificateId

func (o LoadBalancerListenerOutput) SslCertificateId() pulumi.StringPtrOutput

The ARN of an SSL certificate you have uploaded to AWS IAM. **Note ECDSA-specific restrictions below. Only valid when `lbProtocol` is either HTTPS or SSL**

func (LoadBalancerListenerOutput) ToLoadBalancerListenerOutput

func (o LoadBalancerListenerOutput) ToLoadBalancerListenerOutput() LoadBalancerListenerOutput

func (LoadBalancerListenerOutput) ToLoadBalancerListenerOutputWithContext

func (o LoadBalancerListenerOutput) ToLoadBalancerListenerOutputWithContext(ctx context.Context) LoadBalancerListenerOutput

type LoadBalancerPolicy

type LoadBalancerPolicy struct {
	pulumi.CustomResourceState

	// The load balancer on which the policy is defined.
	LoadBalancerName pulumi.StringOutput `pulumi:"loadBalancerName"`
	// Policy attribute to apply to the policy.
	PolicyAttributes LoadBalancerPolicyPolicyAttributeArrayOutput `pulumi:"policyAttributes"`
	// The name of the load balancer policy.
	PolicyName pulumi.StringOutput `pulumi:"policyName"`
	// The policy type.
	PolicyTypeName pulumi.StringOutput `pulumi:"policyTypeName"`
}

Provides a load balancer policy, which can be attached to an ELB listener or backend server.

func GetLoadBalancerPolicy

func GetLoadBalancerPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LoadBalancerPolicyState, opts ...pulumi.ResourceOption) (*LoadBalancerPolicy, error)

GetLoadBalancerPolicy gets an existing LoadBalancerPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLoadBalancerPolicy

func NewLoadBalancerPolicy(ctx *pulumi.Context,
	name string, args *LoadBalancerPolicyArgs, opts ...pulumi.ResourceOption) (*LoadBalancerPolicy, error)

NewLoadBalancerPolicy registers a new resource with the given unique name, arguments, and options.

type LoadBalancerPolicyArgs

type LoadBalancerPolicyArgs struct {
	// The load balancer on which the policy is defined.
	LoadBalancerName pulumi.StringInput
	// Policy attribute to apply to the policy.
	PolicyAttributes LoadBalancerPolicyPolicyAttributeArrayInput
	// The name of the load balancer policy.
	PolicyName pulumi.StringInput
	// The policy type.
	PolicyTypeName pulumi.StringInput
}

The set of arguments for constructing a LoadBalancerPolicy resource.

func (LoadBalancerPolicyArgs) ElementType

func (LoadBalancerPolicyArgs) ElementType() reflect.Type

type LoadBalancerPolicyPolicyAttribute

type LoadBalancerPolicyPolicyAttribute struct {
	Name  *string `pulumi:"name"`
	Value *string `pulumi:"value"`
}

type LoadBalancerPolicyPolicyAttributeArgs

type LoadBalancerPolicyPolicyAttributeArgs struct {
	Name  pulumi.StringPtrInput `pulumi:"name"`
	Value pulumi.StringPtrInput `pulumi:"value"`
}

func (LoadBalancerPolicyPolicyAttributeArgs) ElementType

func (LoadBalancerPolicyPolicyAttributeArgs) ToLoadBalancerPolicyPolicyAttributeOutput

func (i LoadBalancerPolicyPolicyAttributeArgs) ToLoadBalancerPolicyPolicyAttributeOutput() LoadBalancerPolicyPolicyAttributeOutput

func (LoadBalancerPolicyPolicyAttributeArgs) ToLoadBalancerPolicyPolicyAttributeOutputWithContext

func (i LoadBalancerPolicyPolicyAttributeArgs) ToLoadBalancerPolicyPolicyAttributeOutputWithContext(ctx context.Context) LoadBalancerPolicyPolicyAttributeOutput

type LoadBalancerPolicyPolicyAttributeArray

type LoadBalancerPolicyPolicyAttributeArray []LoadBalancerPolicyPolicyAttributeInput

func (LoadBalancerPolicyPolicyAttributeArray) ElementType

func (LoadBalancerPolicyPolicyAttributeArray) ToLoadBalancerPolicyPolicyAttributeArrayOutput

func (i LoadBalancerPolicyPolicyAttributeArray) ToLoadBalancerPolicyPolicyAttributeArrayOutput() LoadBalancerPolicyPolicyAttributeArrayOutput

func (LoadBalancerPolicyPolicyAttributeArray) ToLoadBalancerPolicyPolicyAttributeArrayOutputWithContext

func (i LoadBalancerPolicyPolicyAttributeArray) ToLoadBalancerPolicyPolicyAttributeArrayOutputWithContext(ctx context.Context) LoadBalancerPolicyPolicyAttributeArrayOutput

type LoadBalancerPolicyPolicyAttributeArrayInput

type LoadBalancerPolicyPolicyAttributeArrayInput interface {
	pulumi.Input

	ToLoadBalancerPolicyPolicyAttributeArrayOutput() LoadBalancerPolicyPolicyAttributeArrayOutput
	ToLoadBalancerPolicyPolicyAttributeArrayOutputWithContext(context.Context) LoadBalancerPolicyPolicyAttributeArrayOutput
}

LoadBalancerPolicyPolicyAttributeArrayInput is an input type that accepts LoadBalancerPolicyPolicyAttributeArray and LoadBalancerPolicyPolicyAttributeArrayOutput values. You can construct a concrete instance of `LoadBalancerPolicyPolicyAttributeArrayInput` via:

LoadBalancerPolicyPolicyAttributeArray{ LoadBalancerPolicyPolicyAttributeArgs{...} }

type LoadBalancerPolicyPolicyAttributeArrayOutput

type LoadBalancerPolicyPolicyAttributeArrayOutput struct{ *pulumi.OutputState }

func (LoadBalancerPolicyPolicyAttributeArrayOutput) ElementType

func (LoadBalancerPolicyPolicyAttributeArrayOutput) Index

func (LoadBalancerPolicyPolicyAttributeArrayOutput) ToLoadBalancerPolicyPolicyAttributeArrayOutput

func (o LoadBalancerPolicyPolicyAttributeArrayOutput) ToLoadBalancerPolicyPolicyAttributeArrayOutput() LoadBalancerPolicyPolicyAttributeArrayOutput

func (LoadBalancerPolicyPolicyAttributeArrayOutput) ToLoadBalancerPolicyPolicyAttributeArrayOutputWithContext

func (o LoadBalancerPolicyPolicyAttributeArrayOutput) ToLoadBalancerPolicyPolicyAttributeArrayOutputWithContext(ctx context.Context) LoadBalancerPolicyPolicyAttributeArrayOutput

type LoadBalancerPolicyPolicyAttributeInput

type LoadBalancerPolicyPolicyAttributeInput interface {
	pulumi.Input

	ToLoadBalancerPolicyPolicyAttributeOutput() LoadBalancerPolicyPolicyAttributeOutput
	ToLoadBalancerPolicyPolicyAttributeOutputWithContext(context.Context) LoadBalancerPolicyPolicyAttributeOutput
}

LoadBalancerPolicyPolicyAttributeInput is an input type that accepts LoadBalancerPolicyPolicyAttributeArgs and LoadBalancerPolicyPolicyAttributeOutput values. You can construct a concrete instance of `LoadBalancerPolicyPolicyAttributeInput` via:

LoadBalancerPolicyPolicyAttributeArgs{...}

type LoadBalancerPolicyPolicyAttributeOutput

type LoadBalancerPolicyPolicyAttributeOutput struct{ *pulumi.OutputState }

func (LoadBalancerPolicyPolicyAttributeOutput) ElementType

func (LoadBalancerPolicyPolicyAttributeOutput) Name

func (LoadBalancerPolicyPolicyAttributeOutput) ToLoadBalancerPolicyPolicyAttributeOutput

func (o LoadBalancerPolicyPolicyAttributeOutput) ToLoadBalancerPolicyPolicyAttributeOutput() LoadBalancerPolicyPolicyAttributeOutput

func (LoadBalancerPolicyPolicyAttributeOutput) ToLoadBalancerPolicyPolicyAttributeOutputWithContext

func (o LoadBalancerPolicyPolicyAttributeOutput) ToLoadBalancerPolicyPolicyAttributeOutputWithContext(ctx context.Context) LoadBalancerPolicyPolicyAttributeOutput

func (LoadBalancerPolicyPolicyAttributeOutput) Value

type LoadBalancerPolicyState

type LoadBalancerPolicyState struct {
	// The load balancer on which the policy is defined.
	LoadBalancerName pulumi.StringPtrInput
	// Policy attribute to apply to the policy.
	PolicyAttributes LoadBalancerPolicyPolicyAttributeArrayInput
	// The name of the load balancer policy.
	PolicyName pulumi.StringPtrInput
	// The policy type.
	PolicyTypeName pulumi.StringPtrInput
}

func (LoadBalancerPolicyState) ElementType

func (LoadBalancerPolicyState) ElementType() reflect.Type

type LoadBalancerState

type LoadBalancerState struct {
	// An Access Logs block. Access Logs documented below.
	AccessLogs LoadBalancerAccessLogsPtrInput
	// The ARN of the ELB
	Arn pulumi.StringPtrInput
	// The AZ's to serve traffic in.
	AvailabilityZones pulumi.StringArrayInput
	// Boolean to enable connection draining. Default: `false`
	ConnectionDraining pulumi.BoolPtrInput
	// The time in seconds to allow for connections to drain. Default: `300`
	ConnectionDrainingTimeout pulumi.IntPtrInput
	// Enable cross-zone load balancing. Default: `true`
	CrossZoneLoadBalancing pulumi.BoolPtrInput
	// The DNS name of the ELB
	DnsName pulumi.StringPtrInput
	// A healthCheck block. Health Check documented below.
	HealthCheck LoadBalancerHealthCheckPtrInput
	// The time in seconds that the connection is allowed to be idle. Default: `60`
	IdleTimeout pulumi.IntPtrInput
	// A list of instance ids to place in the ELB pool.
	Instances pulumi.StringArrayInput
	// If true, ELB will be an internal ELB.
	Internal pulumi.BoolPtrInput
	// A list of listener blocks. Listeners documented below.
	Listeners LoadBalancerListenerArrayInput
	// The name of the ELB. By default generated by this provider.
	Name pulumi.StringPtrInput
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// A list of security group IDs to assign to the ELB.
	// Only valid if creating an ELB within a VPC
	SecurityGroups pulumi.StringArrayInput
	// The name of the security group that you can use as
	// part of your inbound rules for your load balancer's back-end application
	// instances. Use this for Classic or Default VPC only.
	SourceSecurityGroup pulumi.StringPtrInput
	// The ID of the security group that you can use as
	// part of your inbound rules for your load balancer's back-end application
	// instances. Only available on ELBs launched in a VPC.
	SourceSecurityGroupId pulumi.StringPtrInput
	// A list of subnet IDs to attach to the ELB.
	Subnets pulumi.StringArrayInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The canonical hosted zone ID of the ELB (to be used in a Route 53 Alias record)
	ZoneId pulumi.StringPtrInput
}

func (LoadBalancerState) ElementType

func (LoadBalancerState) ElementType() reflect.Type

type LookupLoadBalancerArgs

type LookupLoadBalancerArgs struct {
	// The unique name of the load balancer.
	Name string            `pulumi:"name"`
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getLoadBalancer.

type LookupLoadBalancerResult

type LookupLoadBalancerResult struct {
	AccessLogs                GetLoadBalancerAccessLogs  `pulumi:"accessLogs"`
	Arn                       string                     `pulumi:"arn"`
	AvailabilityZones         []string                   `pulumi:"availabilityZones"`
	ConnectionDraining        bool                       `pulumi:"connectionDraining"`
	ConnectionDrainingTimeout int                        `pulumi:"connectionDrainingTimeout"`
	CrossZoneLoadBalancing    bool                       `pulumi:"crossZoneLoadBalancing"`
	DnsName                   string                     `pulumi:"dnsName"`
	HealthCheck               GetLoadBalancerHealthCheck `pulumi:"healthCheck"`
	// The provider-assigned unique ID for this managed resource.
	Id                    string                    `pulumi:"id"`
	IdleTimeout           int                       `pulumi:"idleTimeout"`
	Instances             []string                  `pulumi:"instances"`
	Internal              bool                      `pulumi:"internal"`
	Listeners             []GetLoadBalancerListener `pulumi:"listeners"`
	Name                  string                    `pulumi:"name"`
	SecurityGroups        []string                  `pulumi:"securityGroups"`
	SourceSecurityGroup   string                    `pulumi:"sourceSecurityGroup"`
	SourceSecurityGroupId string                    `pulumi:"sourceSecurityGroupId"`
	Subnets               []string                  `pulumi:"subnets"`
	Tags                  map[string]string         `pulumi:"tags"`
	ZoneId                string                    `pulumi:"zoneId"`
}

A collection of values returned by getLoadBalancer.

func LookupLoadBalancer

func LookupLoadBalancer(ctx *pulumi.Context, args *LookupLoadBalancerArgs, opts ...pulumi.InvokeOption) (*LookupLoadBalancerResult, error)

Provides information about a "classic" Elastic Load Balancer (ELB). See `LB` Data Source if you are looking for "v2" Application Load Balancer (ALB) or Network Load Balancer (NLB).

This data source can prove useful when a module accepts an LB as an input variable and needs to, for example, determine the security groups associated with it, etc.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/elb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elb.LookupLoadBalancer(ctx, &elb.LookupLoadBalancerArgs{
			Name: lbName,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type SslNegotiationPolicy

type SslNegotiationPolicy struct {
	pulumi.CustomResourceState

	// An SSL Negotiation policy attribute. Each has two properties:
	Attributes SslNegotiationPolicyAttributeArrayOutput `pulumi:"attributes"`
	// The load balancer port to which the policy
	// should be applied. This must be an active listener on the load
	// balancer.
	LbPort pulumi.IntOutput `pulumi:"lbPort"`
	// The load balancer to which the policy
	// should be attached.
	LoadBalancer pulumi.StringOutput `pulumi:"loadBalancer"`
	// The name of the attribute
	Name pulumi.StringOutput `pulumi:"name"`
}

Provides a load balancer SSL negotiation policy, which allows an ELB to control the ciphers and protocols that are supported during SSL negotiations between a client and a load balancer.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/elb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		lb, err := elb.NewLoadBalancer(ctx, "lb", &elb.LoadBalancerArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			Listeners: elb.LoadBalancerListenerArray{
				&elb.LoadBalancerListenerArgs{
					InstancePort:     pulumi.Int(8000),
					InstanceProtocol: pulumi.String("https"),
					LbPort:           pulumi.Int(443),
					LbProtocol:       pulumi.String("https"),
					SslCertificateId: pulumi.String("arn:aws:iam::123456789012:server-certificate/certName"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = elb.NewSslNegotiationPolicy(ctx, "foo", &elb.SslNegotiationPolicyArgs{
			Attributes: elb.SslNegotiationPolicyAttributeArray{
				&elb.SslNegotiationPolicyAttributeArgs{
					Name:  pulumi.String("Protocol-TLSv1"),
					Value: pulumi.String("false"),
				},
				&elb.SslNegotiationPolicyAttributeArgs{
					Name:  pulumi.String("Protocol-TLSv1.1"),
					Value: pulumi.String("false"),
				},
				&elb.SslNegotiationPolicyAttributeArgs{
					Name:  pulumi.String("Protocol-TLSv1.2"),
					Value: pulumi.String("true"),
				},
				&elb.SslNegotiationPolicyAttributeArgs{
					Name:  pulumi.String("Server-Defined-Cipher-Order"),
					Value: pulumi.String("true"),
				},
				&elb.SslNegotiationPolicyAttributeArgs{
					Name:  pulumi.String("ECDHE-RSA-AES128-GCM-SHA256"),
					Value: pulumi.String("true"),
				},
				&elb.SslNegotiationPolicyAttributeArgs{
					Name:  pulumi.String("AES128-GCM-SHA256"),
					Value: pulumi.String("true"),
				},
				&elb.SslNegotiationPolicyAttributeArgs{
					Name:  pulumi.String("EDH-RSA-DES-CBC3-SHA"),
					Value: pulumi.String("false"),
				},
			},
			LbPort:       pulumi.Int(443),
			LoadBalancer: lb.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetSslNegotiationPolicy

func GetSslNegotiationPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SslNegotiationPolicyState, opts ...pulumi.ResourceOption) (*SslNegotiationPolicy, error)

GetSslNegotiationPolicy gets an existing SslNegotiationPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSslNegotiationPolicy

func NewSslNegotiationPolicy(ctx *pulumi.Context,
	name string, args *SslNegotiationPolicyArgs, opts ...pulumi.ResourceOption) (*SslNegotiationPolicy, error)

NewSslNegotiationPolicy registers a new resource with the given unique name, arguments, and options.

type SslNegotiationPolicyArgs

type SslNegotiationPolicyArgs struct {
	// An SSL Negotiation policy attribute. Each has two properties:
	Attributes SslNegotiationPolicyAttributeArrayInput
	// The load balancer port to which the policy
	// should be applied. This must be an active listener on the load
	// balancer.
	LbPort pulumi.IntInput
	// The load balancer to which the policy
	// should be attached.
	LoadBalancer pulumi.StringInput
	// The name of the attribute
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a SslNegotiationPolicy resource.

func (SslNegotiationPolicyArgs) ElementType

func (SslNegotiationPolicyArgs) ElementType() reflect.Type

type SslNegotiationPolicyAttribute

type SslNegotiationPolicyAttribute struct {
	// The name of the attribute
	Name string `pulumi:"name"`
	// The value of the attribute
	Value string `pulumi:"value"`
}

type SslNegotiationPolicyAttributeArgs

type SslNegotiationPolicyAttributeArgs struct {
	// The name of the attribute
	Name pulumi.StringInput `pulumi:"name"`
	// The value of the attribute
	Value pulumi.StringInput `pulumi:"value"`
}

func (SslNegotiationPolicyAttributeArgs) ElementType

func (SslNegotiationPolicyAttributeArgs) ToSslNegotiationPolicyAttributeOutput

func (i SslNegotiationPolicyAttributeArgs) ToSslNegotiationPolicyAttributeOutput() SslNegotiationPolicyAttributeOutput

func (SslNegotiationPolicyAttributeArgs) ToSslNegotiationPolicyAttributeOutputWithContext

func (i SslNegotiationPolicyAttributeArgs) ToSslNegotiationPolicyAttributeOutputWithContext(ctx context.Context) SslNegotiationPolicyAttributeOutput

type SslNegotiationPolicyAttributeArray

type SslNegotiationPolicyAttributeArray []SslNegotiationPolicyAttributeInput

func (SslNegotiationPolicyAttributeArray) ElementType

func (SslNegotiationPolicyAttributeArray) ToSslNegotiationPolicyAttributeArrayOutput

func (i SslNegotiationPolicyAttributeArray) ToSslNegotiationPolicyAttributeArrayOutput() SslNegotiationPolicyAttributeArrayOutput

func (SslNegotiationPolicyAttributeArray) ToSslNegotiationPolicyAttributeArrayOutputWithContext

func (i SslNegotiationPolicyAttributeArray) ToSslNegotiationPolicyAttributeArrayOutputWithContext(ctx context.Context) SslNegotiationPolicyAttributeArrayOutput

type SslNegotiationPolicyAttributeArrayInput

type SslNegotiationPolicyAttributeArrayInput interface {
	pulumi.Input

	ToSslNegotiationPolicyAttributeArrayOutput() SslNegotiationPolicyAttributeArrayOutput
	ToSslNegotiationPolicyAttributeArrayOutputWithContext(context.Context) SslNegotiationPolicyAttributeArrayOutput
}

SslNegotiationPolicyAttributeArrayInput is an input type that accepts SslNegotiationPolicyAttributeArray and SslNegotiationPolicyAttributeArrayOutput values. You can construct a concrete instance of `SslNegotiationPolicyAttributeArrayInput` via:

SslNegotiationPolicyAttributeArray{ SslNegotiationPolicyAttributeArgs{...} }

type SslNegotiationPolicyAttributeArrayOutput

type SslNegotiationPolicyAttributeArrayOutput struct{ *pulumi.OutputState }

func (SslNegotiationPolicyAttributeArrayOutput) ElementType

func (SslNegotiationPolicyAttributeArrayOutput) Index

func (SslNegotiationPolicyAttributeArrayOutput) ToSslNegotiationPolicyAttributeArrayOutput

func (o SslNegotiationPolicyAttributeArrayOutput) ToSslNegotiationPolicyAttributeArrayOutput() SslNegotiationPolicyAttributeArrayOutput

func (SslNegotiationPolicyAttributeArrayOutput) ToSslNegotiationPolicyAttributeArrayOutputWithContext

func (o SslNegotiationPolicyAttributeArrayOutput) ToSslNegotiationPolicyAttributeArrayOutputWithContext(ctx context.Context) SslNegotiationPolicyAttributeArrayOutput

type SslNegotiationPolicyAttributeInput

type SslNegotiationPolicyAttributeInput interface {
	pulumi.Input

	ToSslNegotiationPolicyAttributeOutput() SslNegotiationPolicyAttributeOutput
	ToSslNegotiationPolicyAttributeOutputWithContext(context.Context) SslNegotiationPolicyAttributeOutput
}

SslNegotiationPolicyAttributeInput is an input type that accepts SslNegotiationPolicyAttributeArgs and SslNegotiationPolicyAttributeOutput values. You can construct a concrete instance of `SslNegotiationPolicyAttributeInput` via:

SslNegotiationPolicyAttributeArgs{...}

type SslNegotiationPolicyAttributeOutput

type SslNegotiationPolicyAttributeOutput struct{ *pulumi.OutputState }

func (SslNegotiationPolicyAttributeOutput) ElementType

func (SslNegotiationPolicyAttributeOutput) Name

The name of the attribute

func (SslNegotiationPolicyAttributeOutput) ToSslNegotiationPolicyAttributeOutput

func (o SslNegotiationPolicyAttributeOutput) ToSslNegotiationPolicyAttributeOutput() SslNegotiationPolicyAttributeOutput

func (SslNegotiationPolicyAttributeOutput) ToSslNegotiationPolicyAttributeOutputWithContext

func (o SslNegotiationPolicyAttributeOutput) ToSslNegotiationPolicyAttributeOutputWithContext(ctx context.Context) SslNegotiationPolicyAttributeOutput

func (SslNegotiationPolicyAttributeOutput) Value

The value of the attribute

type SslNegotiationPolicyState

type SslNegotiationPolicyState struct {
	// An SSL Negotiation policy attribute. Each has two properties:
	Attributes SslNegotiationPolicyAttributeArrayInput
	// The load balancer port to which the policy
	// should be applied. This must be an active listener on the load
	// balancer.
	LbPort pulumi.IntPtrInput
	// The load balancer to which the policy
	// should be attached.
	LoadBalancer pulumi.StringPtrInput
	// The name of the attribute
	Name pulumi.StringPtrInput
}

func (SslNegotiationPolicyState) ElementType

func (SslNegotiationPolicyState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL