/* * Copyright 2018-2023 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 public 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* The IDs of the public 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* [Application Load Balancers] The IDs of the security groups for the load balancer. *
*/ private java.util.List* 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
* The type of load balancer. The default is application
.
*
* The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4
* (for IPv4 addresses) and dualstack
(for IPv4 and IPv6 addresses).
*
* [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 public 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 public 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
* The IDs of the public 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.
*
* [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
* The IDs of the public 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.
*
* [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
* The IDs of the public 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.
*
* [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
* The IDs of the public 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.
*
* [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
* The IDs of the public 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.
*
* [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
* The IDs of the public 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.
*
* [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
* The IDs of the public 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.
*
* [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
* [Application Load Balancers] The IDs of the security groups for the load balancer.
*
* [Application Load Balancers] The IDs of the security groups for the load balancer.
*
* [Application 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.
*
* [Application Load Balancers] The IDs of the security groups for the load balancer.
*
* 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.
*
* 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* The tags to assign to the load balancer. *
* * @param tags * The tags to assign to the load balancer. */ public void setTags(java.util.Collection* 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* 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
* The type of load balancer. The default is application
.
*
application
.
* @see LoadBalancerTypeEnum
*/
public void setType(String type) {
this.type = type;
}
/**
*
* The type of load balancer. The default is application
.
*
application
.
* @see LoadBalancerTypeEnum
*/
public String getType() {
return this.type;
}
/**
*
* The type of load balancer. The default is application
.
*
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
.
*
application
.
* @see LoadBalancerTypeEnum
*/
public void setType(LoadBalancerTypeEnum type) {
withType(type);
}
/**
*
* The type of load balancer. The default is application
.
*
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;
}
/**
*
* The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4
* (for IPv4 addresses) and dualstack
(for IPv4 and IPv6 addresses).
*
ipv4
(for IPv4 addresses) and dualstack
(for IPv4 and IPv6 addresses).
* @see IpAddressType
*/
public void setIpAddressType(String ipAddressType) {
this.ipAddressType = ipAddressType;
}
/**
*
* The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4
* (for IPv4 addresses) and dualstack
(for IPv4 and IPv6 addresses).
*
ipv4
(for IPv4 addresses) and dualstack
(for IPv4 and IPv6 addresses).
* @see IpAddressType
*/
public String getIpAddressType() {
return this.ipAddressType;
}
/**
*
* The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4
* (for IPv4 addresses) and dualstack
(for IPv4 and IPv6 addresses).
*
ipv4
(for 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;
}
/**
*
* The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4
* (for IPv4 addresses) and dualstack
(for IPv4 and IPv6 addresses).
*
ipv4
(for IPv4 addresses) and dualstack
(for IPv4 and IPv6 addresses).
* @see IpAddressType
*/
public void setIpAddressType(IpAddressType ipAddressType) {
withIpAddressType(ipAddressType);
}
/**
*
* The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4
* (for IPv4 addresses) and dualstack
(for IPv4 and IPv6 addresses).
*
ipv4
(for 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(); } }