All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.elasticloadbalancingv2.model.CreateLoadBalancerRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Elastic Load Balancing module holds the client classes that are used for communicating with Elastic Load Balancing Service (API Version 2015-12-01)

The newest version!
/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.elasticloadbalancingv2.model;

import java.io.Serializable;
import javax.annotation.Generated;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * 
 * @see AWS API Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateLoadBalancerRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {

    /**
     * 

* The name of the load balancer. *

*

* This name must be unique per region per account, can have a maximum of 32 characters, must contain only * alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-". *

*/ private String name; /** *

* The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or * subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets. *

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. *

*/ private java.util.List subnets; /** *

* The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or * subnet mappings, but not both. *

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify * Elastic IP addresses for your subnets. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic * IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load * balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For * internet-facing load balancer, you can specify one IPv6 address per subnet. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic * IP addresses for your subnets. *

*/ private java.util.List subnetMappings; /** *

* [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer. *

*/ private java.util.List securityGroups; /** *

* The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load * balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load * balancers can route requests from clients over the internet. *

*

* The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer * is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route * requests only from clients with access to the VPC for the load balancer. *

*

* The default is an Internet-facing load balancer. *

*

* You cannot specify a scheme for a Gateway Load Balancer. *

*/ private String scheme; /** *

* The tags to assign to the load balancer. *

*/ private java.util.List tags; /** *

* The type of load balancer. The default is application. *

*/ private String type; /** *

* Note: Internal load balancers must use the ipv4 IP address type. *

*

* [Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 * (for IPv6 only public addresses, with private IPv4 and IPv6 addresses). *

*

* [Network Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses) * and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load * balancer with a UDP or TCP_UDP listener. *

*

* [Gateway Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses) * and dualstack (for IPv4 and IPv6 addresses). *

*/ private String ipAddressType; /** *

* [Application Load Balancers on Outposts] The ID of the customer-owned address pool (CoIP pool). *

*/ private String customerOwnedIpv4Pool; /** *

* The name of the load balancer. *

*

* This name must be unique per region per account, can have a maximum of 32 characters, must contain only * alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-". *

* * @param name * The name of the load balancer.

*

* This name must be unique per region per account, can have a maximum of 32 characters, must contain only * alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with * "internal-". */ public void setName(String name) { this.name = name; } /** *

* The name of the load balancer. *

*

* This name must be unique per region per account, can have a maximum of 32 characters, must contain only * alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-". *

* * @return The name of the load balancer.

*

* This name must be unique per region per account, can have a maximum of 32 characters, must contain only * alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with * "internal-". */ public String getName() { return this.name; } /** *

* The name of the load balancer. *

*

* This name must be unique per region per account, can have a maximum of 32 characters, must contain only * alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-". *

* * @param name * The name of the load balancer.

*

* This name must be unique per region per account, can have a maximum of 32 characters, must contain only * alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with * "internal-". * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLoadBalancerRequest withName(String name) { setName(name); return this; } /** *

* The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or * subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets. *

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. *

* * @return The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either * subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings * instead of subnets.

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. */ public java.util.List getSubnets() { return subnets; } /** *

* The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or * subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets. *

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. *

* * @param subnets * The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either * subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings * instead of subnets.

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. */ public void setSubnets(java.util.Collection subnets) { if (subnets == null) { this.subnets = null; return; } this.subnets = new java.util.ArrayList(subnets); } /** *

* The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or * subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets. *

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setSubnets(java.util.Collection)} or {@link #withSubnets(java.util.Collection)} if you want to override * the existing values. *

* * @param subnets * The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either * subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings * instead of subnets.

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLoadBalancerRequest withSubnets(String... subnets) { if (this.subnets == null) { setSubnets(new java.util.ArrayList(subnets.length)); } for (String ele : subnets) { this.subnets.add(ele); } return this; } /** *

* The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or * subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets. *

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. *

* * @param subnets * The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either * subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings * instead of subnets.

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLoadBalancerRequest withSubnets(java.util.Collection subnets) { setSubnets(subnets); return this; } /** *

* The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or * subnet mappings, but not both. *

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify * Elastic IP addresses for your subnets. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic * IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load * balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For * internet-facing load balancer, you can specify one IPv6 address per subnet. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic * IP addresses for your subnets. *

* * @return The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either * subnets or subnet mappings, but not both.

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot * specify Elastic IP addresses for your subnets. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one * Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For * internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the * subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify * Elastic IP addresses for your subnets. */ public java.util.List getSubnetMappings() { return subnetMappings; } /** *

* The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or * subnet mappings, but not both. *

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify * Elastic IP addresses for your subnets. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic * IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load * balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For * internet-facing load balancer, you can specify one IPv6 address per subnet. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic * IP addresses for your subnets. *

* * @param subnetMappings * The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either * subnets or subnet mappings, but not both.

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot * specify Elastic IP addresses for your subnets. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one * Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For * internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the * subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify * Elastic IP addresses for your subnets. */ public void setSubnetMappings(java.util.Collection subnetMappings) { if (subnetMappings == null) { this.subnetMappings = null; return; } this.subnetMappings = new java.util.ArrayList(subnetMappings); } /** *

* The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or * subnet mappings, but not both. *

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify * Elastic IP addresses for your subnets. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic * IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load * balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For * internet-facing load balancer, you can specify one IPv6 address per subnet. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic * IP addresses for your subnets. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setSubnetMappings(java.util.Collection)} or {@link #withSubnetMappings(java.util.Collection)} if you want * to override the existing values. *

* * @param subnetMappings * The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either * subnets or subnet mappings, but not both.

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot * specify Elastic IP addresses for your subnets. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one * Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For * internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the * subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify * Elastic IP addresses for your subnets. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLoadBalancerRequest withSubnetMappings(SubnetMapping... subnetMappings) { if (this.subnetMappings == null) { setSubnetMappings(new java.util.ArrayList(subnetMappings.length)); } for (SubnetMapping ele : subnetMappings) { this.subnetMappings.add(ele); } return this; } /** *

* The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or * subnet mappings, but not both. *

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify * Elastic IP addresses for your subnets. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic * IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load * balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For * internet-facing load balancer, you can specify one IPv6 address per subnet. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic * IP addresses for your subnets. *

* * @param subnetMappings * The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either * subnets or subnet mappings, but not both.

*

* [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot * specify Elastic IP addresses for your subnets. *

*

* [Application Load Balancers on Outposts] You must specify one Outpost subnet. *

*

* [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. *

*

* [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one * Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For * internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the * subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet. *

*

* [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify * Elastic IP addresses for your subnets. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLoadBalancerRequest withSubnetMappings(java.util.Collection subnetMappings) { setSubnetMappings(subnetMappings); return this; } /** *

* [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer. *

* * @return [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load * balancer. */ public java.util.List getSecurityGroups() { return securityGroups; } /** *

* [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer. *

* * @param securityGroups * [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load * balancer. */ public void setSecurityGroups(java.util.Collection securityGroups) { if (securityGroups == null) { this.securityGroups = null; return; } this.securityGroups = new java.util.ArrayList(securityGroups); } /** *

* [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setSecurityGroups(java.util.Collection)} or {@link #withSecurityGroups(java.util.Collection)} if you want * to override the existing values. *

* * @param securityGroups * [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load * balancer. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLoadBalancerRequest withSecurityGroups(String... securityGroups) { if (this.securityGroups == null) { setSecurityGroups(new java.util.ArrayList(securityGroups.length)); } for (String ele : securityGroups) { this.securityGroups.add(ele); } return this; } /** *

* [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer. *

* * @param securityGroups * [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load * balancer. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLoadBalancerRequest withSecurityGroups(java.util.Collection securityGroups) { setSecurityGroups(securityGroups); return this; } /** *

* The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load * balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load * balancers can route requests from clients over the internet. *

*

* The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer * is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route * requests only from clients with access to the VPC for the load balancer. *

*

* The default is an Internet-facing load balancer. *

*

* You cannot specify a scheme for a Gateway Load Balancer. *

* * @param scheme * The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing * load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing * load balancers can route requests from clients over the internet.

*

* The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load * balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load * balancers can route requests only from clients with access to the VPC for the load balancer. *

*

* The default is an Internet-facing load balancer. *

*

* You cannot specify a scheme for a Gateway Load Balancer. * @see LoadBalancerSchemeEnum */ public void setScheme(String scheme) { this.scheme = scheme; } /** *

* The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load * balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load * balancers can route requests from clients over the internet. *

*

* The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer * is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route * requests only from clients with access to the VPC for the load balancer. *

*

* The default is an Internet-facing load balancer. *

*

* You cannot specify a scheme for a Gateway Load Balancer. *

* * @return The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an * Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, * Internet-facing load balancers can route requests from clients over the internet.

*

* The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load * balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load * balancers can route requests only from clients with access to the VPC for the load balancer. *

*

* The default is an Internet-facing load balancer. *

*

* You cannot specify a scheme for a Gateway Load Balancer. * @see LoadBalancerSchemeEnum */ public String getScheme() { return this.scheme; } /** *

* The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load * balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load * balancers can route requests from clients over the internet. *

*

* The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer * is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route * requests only from clients with access to the VPC for the load balancer. *

*

* The default is an Internet-facing load balancer. *

*

* You cannot specify a scheme for a Gateway Load Balancer. *

* * @param scheme * The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing * load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing * load balancers can route requests from clients over the internet.

*

* The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load * balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load * balancers can route requests only from clients with access to the VPC for the load balancer. *

*

* The default is an Internet-facing load balancer. *

*

* You cannot specify a scheme for a Gateway Load Balancer. * @return Returns a reference to this object so that method calls can be chained together. * @see LoadBalancerSchemeEnum */ public CreateLoadBalancerRequest withScheme(String scheme) { setScheme(scheme); return this; } /** *

* The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load * balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load * balancers can route requests from clients over the internet. *

*

* The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer * is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route * requests only from clients with access to the VPC for the load balancer. *

*

* The default is an Internet-facing load balancer. *

*

* You cannot specify a scheme for a Gateway Load Balancer. *

* * @param scheme * The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing * load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing * load balancers can route requests from clients over the internet.

*

* The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load * balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load * balancers can route requests only from clients with access to the VPC for the load balancer. *

*

* The default is an Internet-facing load balancer. *

*

* You cannot specify a scheme for a Gateway Load Balancer. * @see LoadBalancerSchemeEnum */ public void setScheme(LoadBalancerSchemeEnum scheme) { withScheme(scheme); } /** *

* The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load * balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load * balancers can route requests from clients over the internet. *

*

* The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer * is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route * requests only from clients with access to the VPC for the load balancer. *

*

* The default is an Internet-facing load balancer. *

*

* You cannot specify a scheme for a Gateway Load Balancer. *

* * @param scheme * The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing * load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing * load balancers can route requests from clients over the internet.

*

* The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load * balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load * balancers can route requests only from clients with access to the VPC for the load balancer. *

*

* The default is an Internet-facing load balancer. *

*

* You cannot specify a scheme for a Gateway Load Balancer. * @return Returns a reference to this object so that method calls can be chained together. * @see LoadBalancerSchemeEnum */ public CreateLoadBalancerRequest withScheme(LoadBalancerSchemeEnum scheme) { this.scheme = scheme.toString(); return this; } /** *

* The tags to assign to the load balancer. *

* * @return The tags to assign to the load balancer. */ public java.util.List getTags() { return tags; } /** *

* The tags to assign to the load balancer. *

* * @param tags * The tags to assign to the load balancer. */ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new java.util.ArrayList(tags); } /** *

* The tags to assign to the load balancer. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *

* * @param tags * The tags to assign to the load balancer. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLoadBalancerRequest withTags(Tag... tags) { if (this.tags == null) { setTags(new java.util.ArrayList(tags.length)); } for (Tag ele : tags) { this.tags.add(ele); } return this; } /** *

* The tags to assign to the load balancer. *

* * @param tags * The tags to assign to the load balancer. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLoadBalancerRequest withTags(java.util.Collection tags) { setTags(tags); return this; } /** *

* The type of load balancer. The default is application. *

* * @param type * The type of load balancer. The default is application. * @see LoadBalancerTypeEnum */ public void setType(String type) { this.type = type; } /** *

* The type of load balancer. The default is application. *

* * @return The type of load balancer. The default is application. * @see LoadBalancerTypeEnum */ public String getType() { return this.type; } /** *

* The type of load balancer. The default is application. *

* * @param type * The type of load balancer. The default is application. * @return Returns a reference to this object so that method calls can be chained together. * @see LoadBalancerTypeEnum */ public CreateLoadBalancerRequest withType(String type) { setType(type); return this; } /** *

* The type of load balancer. The default is application. *

* * @param type * The type of load balancer. The default is application. * @see LoadBalancerTypeEnum */ public void setType(LoadBalancerTypeEnum type) { withType(type); } /** *

* The type of load balancer. The default is application. *

* * @param type * The type of load balancer. The default is application. * @return Returns a reference to this object so that method calls can be chained together. * @see LoadBalancerTypeEnum */ public CreateLoadBalancerRequest withType(LoadBalancerTypeEnum type) { this.type = type.toString(); return this; } /** *

* Note: Internal load balancers must use the ipv4 IP address type. *

*

* [Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 * (for IPv6 only public addresses, with private IPv4 and IPv6 addresses). *

*

* [Network Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses) * and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load * balancer with a UDP or TCP_UDP listener. *

*

* [Gateway Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses) * and dualstack (for IPv4 and IPv6 addresses). *

* * @param ipAddressType * Note: Internal load balancers must use the ipv4 IP address type.

*

* [Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses), dualstack (for IPv4 and IPv6 addresses), and * dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 * addresses). *

*

* [Network Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify * dualstack for a load balancer with a UDP or TCP_UDP listener. *

*

* [Gateway Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses) and dualstack (for IPv4 and IPv6 addresses). * @see IpAddressType */ public void setIpAddressType(String ipAddressType) { this.ipAddressType = ipAddressType; } /** *

* Note: Internal load balancers must use the ipv4 IP address type. *

*

* [Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 * (for IPv6 only public addresses, with private IPv4 and IPv6 addresses). *

*

* [Network Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses) * and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load * balancer with a UDP or TCP_UDP listener. *

*

* [Gateway Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses) * and dualstack (for IPv4 and IPv6 addresses). *

* * @return Note: Internal load balancers must use the ipv4 IP address type.

*

* [Application Load Balancers] The IP address type. The possible values are ipv4 (for only * IPv4 addresses), dualstack (for IPv4 and IPv6 addresses), and * dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 * addresses). *

*

* [Network Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify * dualstack for a load balancer with a UDP or TCP_UDP listener. *

*

* [Gateway Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses) and dualstack (for IPv4 and IPv6 addresses). * @see IpAddressType */ public String getIpAddressType() { return this.ipAddressType; } /** *

* Note: Internal load balancers must use the ipv4 IP address type. *

*

* [Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 * (for IPv6 only public addresses, with private IPv4 and IPv6 addresses). *

*

* [Network Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses) * and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load * balancer with a UDP or TCP_UDP listener. *

*

* [Gateway Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses) * and dualstack (for IPv4 and IPv6 addresses). *

* * @param ipAddressType * Note: Internal load balancers must use the ipv4 IP address type.

*

* [Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses), dualstack (for IPv4 and IPv6 addresses), and * dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 * addresses). *

*

* [Network Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify * dualstack for a load balancer with a UDP or TCP_UDP listener. *

*

* [Gateway Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses) and dualstack (for IPv4 and IPv6 addresses). * @return Returns a reference to this object so that method calls can be chained together. * @see IpAddressType */ public CreateLoadBalancerRequest withIpAddressType(String ipAddressType) { setIpAddressType(ipAddressType); return this; } /** *

* Note: Internal load balancers must use the ipv4 IP address type. *

*

* [Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 * (for IPv6 only public addresses, with private IPv4 and IPv6 addresses). *

*

* [Network Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses) * and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load * balancer with a UDP or TCP_UDP listener. *

*

* [Gateway Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses) * and dualstack (for IPv4 and IPv6 addresses). *

* * @param ipAddressType * Note: Internal load balancers must use the ipv4 IP address type.

*

* [Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses), dualstack (for IPv4 and IPv6 addresses), and * dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 * addresses). *

*

* [Network Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify * dualstack for a load balancer with a UDP or TCP_UDP listener. *

*

* [Gateway Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses) and dualstack (for IPv4 and IPv6 addresses). * @see IpAddressType */ public void setIpAddressType(IpAddressType ipAddressType) { withIpAddressType(ipAddressType); } /** *

* Note: Internal load balancers must use the ipv4 IP address type. *

*

* [Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 * (for IPv6 only public addresses, with private IPv4 and IPv6 addresses). *

*

* [Network Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses) * and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load * balancer with a UDP or TCP_UDP listener. *

*

* [Gateway Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses) * and dualstack (for IPv4 and IPv6 addresses). *

* * @param ipAddressType * Note: Internal load balancers must use the ipv4 IP address type.

*

* [Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses), dualstack (for IPv4 and IPv6 addresses), and * dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 * addresses). *

*

* [Network Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify * dualstack for a load balancer with a UDP or TCP_UDP listener. *

*

* [Gateway Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 * addresses) and dualstack (for IPv4 and IPv6 addresses). * @return Returns a reference to this object so that method calls can be chained together. * @see IpAddressType */ public CreateLoadBalancerRequest withIpAddressType(IpAddressType ipAddressType) { this.ipAddressType = ipAddressType.toString(); return this; } /** *

* [Application Load Balancers on Outposts] The ID of the customer-owned address pool (CoIP pool). *

* * @param customerOwnedIpv4Pool * [Application Load Balancers on Outposts] The ID of the customer-owned address pool (CoIP pool). */ public void setCustomerOwnedIpv4Pool(String customerOwnedIpv4Pool) { this.customerOwnedIpv4Pool = customerOwnedIpv4Pool; } /** *

* [Application Load Balancers on Outposts] The ID of the customer-owned address pool (CoIP pool). *

* * @return [Application Load Balancers on Outposts] The ID of the customer-owned address pool (CoIP pool). */ public String getCustomerOwnedIpv4Pool() { return this.customerOwnedIpv4Pool; } /** *

* [Application Load Balancers on Outposts] The ID of the customer-owned address pool (CoIP pool). *

* * @param customerOwnedIpv4Pool * [Application Load Balancers on Outposts] The ID of the customer-owned address pool (CoIP pool). * @return Returns a reference to this object so that method calls can be chained together. */ public CreateLoadBalancerRequest withCustomerOwnedIpv4Pool(String customerOwnedIpv4Pool) { setCustomerOwnedIpv4Pool(customerOwnedIpv4Pool); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getSubnets() != null) sb.append("Subnets: ").append(getSubnets()).append(","); if (getSubnetMappings() != null) sb.append("SubnetMappings: ").append(getSubnetMappings()).append(","); if (getSecurityGroups() != null) sb.append("SecurityGroups: ").append(getSecurityGroups()).append(","); if (getScheme() != null) sb.append("Scheme: ").append(getScheme()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getType() != null) sb.append("Type: ").append(getType()).append(","); if (getIpAddressType() != null) sb.append("IpAddressType: ").append(getIpAddressType()).append(","); if (getCustomerOwnedIpv4Pool() != null) sb.append("CustomerOwnedIpv4Pool: ").append(getCustomerOwnedIpv4Pool()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateLoadBalancerRequest == false) return false; CreateLoadBalancerRequest other = (CreateLoadBalancerRequest) obj; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getSubnets() == null ^ this.getSubnets() == null) return false; if (other.getSubnets() != null && other.getSubnets().equals(this.getSubnets()) == false) return false; if (other.getSubnetMappings() == null ^ this.getSubnetMappings() == null) return false; if (other.getSubnetMappings() != null && other.getSubnetMappings().equals(this.getSubnetMappings()) == false) return false; if (other.getSecurityGroups() == null ^ this.getSecurityGroups() == null) return false; if (other.getSecurityGroups() != null && other.getSecurityGroups().equals(this.getSecurityGroups()) == false) return false; if (other.getScheme() == null ^ this.getScheme() == null) return false; if (other.getScheme() != null && other.getScheme().equals(this.getScheme()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getType() == null ^ this.getType() == null) return false; if (other.getType() != null && other.getType().equals(this.getType()) == false) return false; if (other.getIpAddressType() == null ^ this.getIpAddressType() == null) return false; if (other.getIpAddressType() != null && other.getIpAddressType().equals(this.getIpAddressType()) == false) return false; if (other.getCustomerOwnedIpv4Pool() == null ^ this.getCustomerOwnedIpv4Pool() == null) return false; if (other.getCustomerOwnedIpv4Pool() != null && other.getCustomerOwnedIpv4Pool().equals(this.getCustomerOwnedIpv4Pool()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getSubnets() == null) ? 0 : getSubnets().hashCode()); hashCode = prime * hashCode + ((getSubnetMappings() == null) ? 0 : getSubnetMappings().hashCode()); hashCode = prime * hashCode + ((getSecurityGroups() == null) ? 0 : getSecurityGroups().hashCode()); hashCode = prime * hashCode + ((getScheme() == null) ? 0 : getScheme().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getType() == null) ? 0 : getType().hashCode()); hashCode = prime * hashCode + ((getIpAddressType() == null) ? 0 : getIpAddressType().hashCode()); hashCode = prime * hashCode + ((getCustomerOwnedIpv4Pool() == null) ? 0 : getCustomerOwnedIpv4Pool().hashCode()); return hashCode; } @Override public CreateLoadBalancerRequest clone() { return (CreateLoadBalancerRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy