ProxyProtocolPolicy class
Provides a proxy protocol policy, which allows an ELB to carry a client connection information to a backend.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const lb = new aws.elb.LoadBalancer("lb", {
listeners: [
{
instancePort: 25,
instanceProtocol: "tcp",
lbPort: 25,
lbProtocol: "tcp",
},
{
instancePort: 587,
instanceProtocol: "tcp",
lbPort: 587,
lbProtocol: "tcp",
},
],
name: "test-lb",
availabilityZones: ["us-east-1a"],
});
const smtp = new aws.ec2.ProxyProtocolPolicy("smtp", {
loadBalancer: lb.name,
instancePorts: [
"25",
"587",
],
});
import pulumi
import pulumi_aws as aws
lb = aws.elb.LoadBalancer("lb",
listeners=[
{
"instance_port": 25,
"instance_protocol": "tcp",
"lb_port": 25,
"lb_protocol": "tcp",
},
{
"instance_port": 587,
"instance_protocol": "tcp",
"lb_port": 587,
"lb_protocol": "tcp",
},
],
name="test-lb",
availability_zones=["us-east-1a"])
smtp = aws.ec2.ProxyProtocolPolicy("smtp",
load_balancer=lb.name,
instance_ports=[
"25",
"587",
])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var lb = new Aws.Elb.LoadBalancer("lb", new()
{
Listeners = new[]
{
new Aws.Elb.Inputs.LoadBalancerListenerArgs
{
InstancePort = 25,
InstanceProtocol = "tcp",
LbPort = 25,
LbProtocol = "tcp",
},
new Aws.Elb.Inputs.LoadBalancerListenerArgs
{
InstancePort = 587,
InstanceProtocol = "tcp",
LbPort = 587,
LbProtocol = "tcp",
},
},
Name = "test-lb",
AvailabilityZones = new[]
{
"us-east-1a",
},
});
var smtp = new Aws.Ec2.ProxyProtocolPolicy("smtp", new()
{
LoadBalancer = lb.Name,
InstancePorts = new[]
{
"25",
"587",
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/elb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
lb, err := elb.NewLoadBalancer(ctx, "lb", &elb.LoadBalancerArgs{
Listeners: elb.LoadBalancerListenerArray{
&elb.LoadBalancerListenerArgs{
InstancePort: pulumi.Int(25),
InstanceProtocol: pulumi.String("tcp"),
LbPort: pulumi.Int(25),
LbProtocol: pulumi.String("tcp"),
},
&elb.LoadBalancerListenerArgs{
InstancePort: pulumi.Int(587),
InstanceProtocol: pulumi.String("tcp"),
LbPort: pulumi.Int(587),
LbProtocol: pulumi.String("tcp"),
},
},
Name: pulumi.String("test-lb"),
AvailabilityZones: pulumi.StringArray{
pulumi.String("us-east-1a"),
},
})
if err != nil {
return err
}
_, err = ec2.NewProxyProtocolPolicy(ctx, "smtp", &ec2.ProxyProtocolPolicyArgs{
LoadBalancer: lb.Name,
InstancePorts: pulumi.StringArray{
pulumi.String("25"),
pulumi.String("587"),
},
})
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
aws = {
source = "pulumi/aws"
}
}
}
resource "aws_elb_loadbalancer" "lb" {
listeners {
instance_port = 25
instance_protocol = "tcp"
lb_port = 25
lb_protocol = "tcp"
}
listeners {
instance_port = 587
instance_protocol = "tcp"
lb_port = 587
lb_protocol = "tcp"
}
name = "test-lb"
availability_zones = ["us-east-1a"]
}
resource "aws_ec2_proxyprotocolpolicy" "smtp" {
load_balancer = aws_elb_loadbalancer.lb.name
instance_ports = ["25", "587"]
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.elb.LoadBalancer;
import com.pulumi.aws.elb.LoadBalancerArgs;
import com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;
import com.pulumi.aws.ec2.ProxyProtocolPolicy;
import com.pulumi.aws.ec2.ProxyProtocolPolicyArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var lb = new LoadBalancer("lb", LoadBalancerArgs.builder()
.listeners(
LoadBalancerListenerArgs.builder()
.instancePort(25)
.instanceProtocol("tcp")
.lbPort(25)
.lbProtocol("tcp")
.build(),
LoadBalancerListenerArgs.builder()
.instancePort(587)
.instanceProtocol("tcp")
.lbPort(587)
.lbProtocol("tcp")
.build())
.name("test-lb")
.availabilityZones("us-east-1a")
.build());
var smtp = new ProxyProtocolPolicy("smtp", ProxyProtocolPolicyArgs.builder()
.loadBalancer(lb.name())
.instancePorts(
"25",
"587")
.build());
}
}
resources:
lb:
type: aws:elb:LoadBalancer
properties:
listeners:
- instancePort: 25
instanceProtocol: tcp
lbPort: 25
lbProtocol: tcp
- instancePort: 587
instanceProtocol: tcp
lbPort: 587
lbProtocol: tcp
name: test-lb
availabilityZones:
- us-east-1a
smtp:
type: aws:ec2:ProxyProtocolPolicy
properties:
loadBalancer: ${lb.name}
instancePorts:
- '25'
- '587'
Constructors
- ProxyProtocolPolicy(String name, {ProxyProtocolPolicyArgs? args, CustomResourceOptions? options})
-
Creates a new ProxyProtocolPolicy.
nameThe Pulumi resource name.argsArguments used to configure this ProxyProtocolPolicy. The set of arguments for ProxyProtocolPolicy.optionsResource options controlling this resource's behavior. - ProxyProtocolPolicy.reference(String urn)
- Creates a typed reference to an existing ProxyProtocolPolicy resource.
Properties
-
childResources
→ Set<
Resource> -
finalinherited
-
completionSources
↔ Map<
String, IOutputCompletionSource> -
latefinalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
-
id
↔ Output<
String> -
getter/setter pairinherited
-
instancePorts
↔ Output<
List< String> > -
List of instance ports to which the policy
should be applied. This can be specified if the protocol is SSL or TCP.
latefinal
- isCustom → bool
-
Returns whether this resource is provider-managed.
no setterinherited
- isProtected → bool
-
Returns whether this resource is protected from deletion.
no setterinherited
- isRemote → bool
-
Whether this resource is registered as remote.
no setterinherited
- isResourceReference → bool
-
Whether this instance represents a resource value returned over RPC.
finalinherited
-
loadBalancer
↔ Output<
String> -
The load balancer to which the policy
should be attached.
latefinal
-
region
↔ Output<
String> -
Region where this resource will be managed. Defaults to the Region set in the provider configuration.
latefinal
-
resourceTransforms
→ List<
ResourceTransform> -
Inherited/explicit async transforms.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
transformations
→ List<
ResourceTransformation> -
Inherited/explicit legacy transformations.
no setterinherited
-
urn
↔ Output<
String> -
latefinalinherited
Methods
-
failId(
Object error) → void -
Completes this resource ID with an error when registration fails.
inherited
-
failOutputs(
Object error) → void -
Completes all output properties with
error.inherited -
failUrn(
Object error) → void -
Completes this resource URN with an error when registration fails.
inherited
-
getProvider(
String moduleMember) → ProviderResource? -
Returns provider for
moduleMember's package, if configured.inherited -
getResourceName(
) → String -
Returns this resource's logical name.
inherited
-
getResourceType(
) → String -
Returns this resource's Pulumi type token.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
registerOutput<
T> (String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output< T> -
Registers a dynamic output property for this resource.
inherited
-
resolveId(
String? value, {required bool isKnown}) → void -
Resolves the provider-assigned ID for this resource.
inherited
-
resolveOutputs(
Struct outputs) → void -
Resolves all output properties from a monitor response payload.
inherited
-
resolveUrn(
String value) → void -
Resolves this resource's URN once assigned by the engine.
inherited
-
serializeProperties(
Map< String, dynamic> properties) → Future<Struct> -
Serializes resource properties for RPC transmission.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
get(
String name, Input< String> id, {ProxyProtocolPolicyState? state, CustomResourceOptions? options}) → ProxyProtocolPolicy -
Gets an existing ProxyProtocolPolicy resource's state with the given
nameandid.