Load Balancer Policy Args
data class LoadBalancerPolicyArgs constructor(val loadBalancerName: Output<String>? = null, val policyAttributes: Output<List<LoadBalancerPolicyPolicyAttributeArgs>>? = null, val policyName: Output<String>? = null, val policyTypeName: Output<String>? = null) : ConvertibleToJava<LoadBalancerPolicyArgs>
Provides a load balancer policy, which can be attached to an ELB listener or backend server.
Example Usage
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.elb.LoadBalancerPolicy;
import com.pulumi.aws.elb.LoadBalancerPolicyArgs;
import com.pulumi.aws.elb.inputs.LoadBalancerPolicyPolicyAttributeArgs;
import com.pulumi.aws.elb.LoadBalancerBackendServerPolicy;
import com.pulumi.aws.elb.LoadBalancerBackendServerPolicyArgs;
import com.pulumi.aws.elb.ListenerPolicy;
import com.pulumi.aws.elb.ListenerPolicyArgs;
import java.util.List;
import java.util.ArrayList;
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 wu_tang = new LoadBalancer("wu-tang", LoadBalancerArgs.builder()
.availabilityZones("us-east-1a")
.listeners(LoadBalancerListenerArgs.builder()
.instancePort(443)
.instanceProtocol("http")
.lbPort(443)
.lbProtocol("https")
.sslCertificateId("arn:aws:iam::000000000000:server-certificate/wu-tang.net")
.build())
.tags(Map.of("Name", "wu-tang"))
.build());
var wu_tang_ca_pubkey_policy = new LoadBalancerPolicy("wu-tang-ca-pubkey-policy", LoadBalancerPolicyArgs.builder()
.loadBalancerName(wu_tang.name())
.policyName("wu-tang-ca-pubkey-policy")
.policyTypeName("PublicKeyPolicyType")
.policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()
.name("PublicKey")
.value(Files.readString(Paths.get("wu-tang-pubkey")))
.build())
.build());
var wu_tang_root_ca_backend_auth_policy = new LoadBalancerPolicy("wu-tang-root-ca-backend-auth-policy", LoadBalancerPolicyArgs.builder()
.loadBalancerName(wu_tang.name())
.policyName("wu-tang-root-ca-backend-auth-policy")
.policyTypeName("BackendServerAuthenticationPolicyType")
.policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()
.name("PublicKeyPolicyName")
.value(aws_load_balancer_policy.wu-tang-root-ca-pubkey-policy().policy_name())
.build())
.build());
var wu_tang_ssl = new LoadBalancerPolicy("wu-tang-ssl", LoadBalancerPolicyArgs.builder()
.loadBalancerName(wu_tang.name())
.policyName("wu-tang-ssl")
.policyTypeName("SSLNegotiationPolicyType")
.policyAttributes(
LoadBalancerPolicyPolicyAttributeArgs.builder()
.name("ECDHE-ECDSA-AES128-GCM-SHA256")
.value("true")
.build(),
LoadBalancerPolicyPolicyAttributeArgs.builder()
.name("Protocol-TLSv1.2")
.value("true")
.build())
.build());
var wu_tang_ssl_tls_1_1 = new LoadBalancerPolicy("wu-tang-ssl-tls-1-1", LoadBalancerPolicyArgs.builder()
.loadBalancerName(wu_tang.name())
.policyName("wu-tang-ssl")
.policyTypeName("SSLNegotiationPolicyType")
.policyAttributes(LoadBalancerPolicyPolicyAttributeArgs.builder()
.name("Reference-Security-Policy")
.value("ELBSecurityPolicy-TLS-1-1-2017-01")
.build())
.build());
var wu_tang_backend_auth_policies_443 = new LoadBalancerBackendServerPolicy("wu-tang-backend-auth-policies-443", LoadBalancerBackendServerPolicyArgs.builder()
.loadBalancerName(wu_tang.name())
.instancePort(443)
.policyNames(wu_tang_root_ca_backend_auth_policy.policyName())
.build());
var wu_tang_listener_policies_443 = new ListenerPolicy("wu-tang-listener-policies-443", ListenerPolicyArgs.builder()
.loadBalancerName(wu_tang.name())
.loadBalancerPort(443)
.policyNames(wu_tang_ssl.policyName())
.build());
}
}
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(loadBalancerName: Output<String>? = null, policyAttributes: Output<List<LoadBalancerPolicyPolicyAttributeArgs>>? = null, policyName: Output<String>? = null, policyTypeName: Output<String>? = null)