/* * 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.eks.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* An object representing the VPC configuration to use for an Amazon EKS cluster. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class VpcConfigRequest implements Serializable, Cloneable, StructuredPojo { /** ** Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in these * subnets to allow communication between your nodes and the Kubernetes control plane. *
*/ private java.util.List* Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to * use that allow communication between your nodes and the Kubernetes control plane. If you don't specify any * security groups, then familiarize yourself with the difference between Amazon EKS defaults for clusters deployed * with Kubernetes. For more information, see Amazon EKS security group * considerations in the Amazon EKS User Guide . *
*/ private java.util.List
* Set this value to false
to disable public access to your cluster's Kubernetes API server endpoint.
* If you disable public access, your cluster's Kubernetes API server can only receive requests from within the
* cluster VPC. The default value for this parameter is true
, which enables public access for your
* Kubernetes API server. For more information, see Amazon EKS cluster endpoint access
* control in the Amazon EKS User Guide .
*
* Set this value to true
to enable private access for your cluster's Kubernetes API server endpoint.
* If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC
* endpoint. The default value for this parameter is false
, which disables private access for your
* Kubernetes API server. If you disable private access and you have nodes or Fargate pods in the cluster, then
* ensure that publicAccessCidrs
includes the necessary CIDR blocks for communication with the nodes or
* Fargate pods. For more information, see Amazon EKS cluster endpoint access
* control in the Amazon EKS User Guide .
*
* The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to
* the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is
* 0.0.0.0/0
. If you've disabled private endpoint access and you have nodes or Fargate pods in the
* cluster, then ensure that you specify the necessary CIDR blocks. For more information, see Amazon EKS cluster endpoint access
* control in the Amazon EKS User Guide .
*
* Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in these * subnets to allow communication between your nodes and the Kubernetes control plane. *
* * @return Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in * these subnets to allow communication between your nodes and the Kubernetes control plane. */ public java.util.List* Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in these * subnets to allow communication between your nodes and the Kubernetes control plane. *
* * @param subnetIds * Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in * these subnets to allow communication between your nodes and the Kubernetes control plane. */ public void setSubnetIds(java.util.Collection* Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in these * subnets to allow communication between your nodes and the Kubernetes control plane. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setSubnetIds(java.util.Collection)} or {@link #withSubnetIds(java.util.Collection)} if you want to * override the existing values. *
* * @param subnetIds * Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in * these subnets to allow communication between your nodes and the Kubernetes control plane. * @return Returns a reference to this object so that method calls can be chained together. */ public VpcConfigRequest withSubnetIds(String... subnetIds) { if (this.subnetIds == null) { setSubnetIds(new java.util.ArrayList* Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in these * subnets to allow communication between your nodes and the Kubernetes control plane. *
* * @param subnetIds * Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in * these subnets to allow communication between your nodes and the Kubernetes control plane. * @return Returns a reference to this object so that method calls can be chained together. */ public VpcConfigRequest withSubnetIds(java.util.Collection* Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to * use that allow communication between your nodes and the Kubernetes control plane. If you don't specify any * security groups, then familiarize yourself with the difference between Amazon EKS defaults for clusters deployed * with Kubernetes. For more information, see Amazon EKS security group * considerations in the Amazon EKS User Guide . *
* * @return Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS * creates to use that allow communication between your nodes and the Kubernetes control plane. If you don't * specify any security groups, then familiarize yourself with the difference between Amazon EKS defaults * for clusters deployed with Kubernetes. For more information, see Amazon EKS security group * considerations in the Amazon EKS User Guide . */ public java.util.List* Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to * use that allow communication between your nodes and the Kubernetes control plane. If you don't specify any * security groups, then familiarize yourself with the difference between Amazon EKS defaults for clusters deployed * with Kubernetes. For more information, see Amazon EKS security group * considerations in the Amazon EKS User Guide . *
* * @param securityGroupIds * Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS * creates to use that allow communication between your nodes and the Kubernetes control plane. If you don't * specify any security groups, then familiarize yourself with the difference between Amazon EKS defaults for * clusters deployed with Kubernetes. For more information, see Amazon EKS security group * considerations in the Amazon EKS User Guide . */ public void setSecurityGroupIds(java.util.Collection* Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to * use that allow communication between your nodes and the Kubernetes control plane. If you don't specify any * security groups, then familiarize yourself with the difference between Amazon EKS defaults for clusters deployed * with Kubernetes. For more information, see Amazon EKS security group * considerations in the Amazon EKS User Guide . *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setSecurityGroupIds(java.util.Collection)} or {@link #withSecurityGroupIds(java.util.Collection)} if you * want to override the existing values. *
* * @param securityGroupIds * Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS * creates to use that allow communication between your nodes and the Kubernetes control plane. If you don't * specify any security groups, then familiarize yourself with the difference between Amazon EKS defaults for * clusters deployed with Kubernetes. For more information, see Amazon EKS security group * considerations in the Amazon EKS User Guide . * @return Returns a reference to this object so that method calls can be chained together. */ public VpcConfigRequest withSecurityGroupIds(String... securityGroupIds) { if (this.securityGroupIds == null) { setSecurityGroupIds(new java.util.ArrayList* Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to * use that allow communication between your nodes and the Kubernetes control plane. If you don't specify any * security groups, then familiarize yourself with the difference between Amazon EKS defaults for clusters deployed * with Kubernetes. For more information, see Amazon EKS security group * considerations in the Amazon EKS User Guide . *
* * @param securityGroupIds * Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS * creates to use that allow communication between your nodes and the Kubernetes control plane. If you don't * specify any security groups, then familiarize yourself with the difference between Amazon EKS defaults for * clusters deployed with Kubernetes. For more information, see Amazon EKS security group * considerations in the Amazon EKS User Guide . * @return Returns a reference to this object so that method calls can be chained together. */ public VpcConfigRequest withSecurityGroupIds(java.util.Collection
* Set this value to false
to disable public access to your cluster's Kubernetes API server endpoint.
* If you disable public access, your cluster's Kubernetes API server can only receive requests from within the
* cluster VPC. The default value for this parameter is true
, which enables public access for your
* Kubernetes API server. For more information, see Amazon EKS cluster endpoint access
* control in the Amazon EKS User Guide .
*
false
to disable public access to your cluster's Kubernetes API server
* endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests
* from within the cluster VPC. The default value for this parameter is true
, which enables
* public access for your Kubernetes API server. For more information, see Amazon EKS cluster endpoint
* access control in the Amazon EKS User Guide .
*/
public void setEndpointPublicAccess(Boolean endpointPublicAccess) {
this.endpointPublicAccess = endpointPublicAccess;
}
/**
*
* Set this value to false
to disable public access to your cluster's Kubernetes API server endpoint.
* If you disable public access, your cluster's Kubernetes API server can only receive requests from within the
* cluster VPC. The default value for this parameter is true
, which enables public access for your
* Kubernetes API server. For more information, see Amazon EKS cluster endpoint access
* control in the Amazon EKS User Guide .
*
false
to disable public access to your cluster's Kubernetes API server
* endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests
* from within the cluster VPC. The default value for this parameter is true
, which enables
* public access for your Kubernetes API server. For more information, see Amazon EKS cluster endpoint
* access control in the Amazon EKS User Guide .
*/
public Boolean getEndpointPublicAccess() {
return this.endpointPublicAccess;
}
/**
*
* Set this value to false
to disable public access to your cluster's Kubernetes API server endpoint.
* If you disable public access, your cluster's Kubernetes API server can only receive requests from within the
* cluster VPC. The default value for this parameter is true
, which enables public access for your
* Kubernetes API server. For more information, see Amazon EKS cluster endpoint access
* control in the Amazon EKS User Guide .
*
false
to disable public access to your cluster's Kubernetes API server
* endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests
* from within the cluster VPC. The default value for this parameter is true
, which enables
* public access for your Kubernetes API server. For more information, see Amazon EKS cluster endpoint
* access control in the Amazon EKS User Guide .
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VpcConfigRequest withEndpointPublicAccess(Boolean endpointPublicAccess) {
setEndpointPublicAccess(endpointPublicAccess);
return this;
}
/**
*
* Set this value to false
to disable public access to your cluster's Kubernetes API server endpoint.
* If you disable public access, your cluster's Kubernetes API server can only receive requests from within the
* cluster VPC. The default value for this parameter is true
, which enables public access for your
* Kubernetes API server. For more information, see Amazon EKS cluster endpoint access
* control in the Amazon EKS User Guide .
*
false
to disable public access to your cluster's Kubernetes API server
* endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests
* from within the cluster VPC. The default value for this parameter is true
, which enables
* public access for your Kubernetes API server. For more information, see Amazon EKS cluster endpoint
* access control in the Amazon EKS User Guide .
*/
public Boolean isEndpointPublicAccess() {
return this.endpointPublicAccess;
}
/**
*
* Set this value to true
to enable private access for your cluster's Kubernetes API server endpoint.
* If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC
* endpoint. The default value for this parameter is false
, which disables private access for your
* Kubernetes API server. If you disable private access and you have nodes or Fargate pods in the cluster, then
* ensure that publicAccessCidrs
includes the necessary CIDR blocks for communication with the nodes or
* Fargate pods. For more information, see Amazon EKS cluster endpoint access
* control in the Amazon EKS User Guide .
*
true
to enable private access for your cluster's Kubernetes API server
* endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the
* private VPC endpoint. The default value for this parameter is false
, which disables private
* access for your Kubernetes API server. If you disable private access and you have nodes or Fargate pods in
* the cluster, then ensure that publicAccessCidrs
includes the necessary CIDR blocks for
* communication with the nodes or Fargate pods. For more information, see Amazon EKS cluster endpoint
* access control in the Amazon EKS User Guide .
*/
public void setEndpointPrivateAccess(Boolean endpointPrivateAccess) {
this.endpointPrivateAccess = endpointPrivateAccess;
}
/**
*
* Set this value to true
to enable private access for your cluster's Kubernetes API server endpoint.
* If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC
* endpoint. The default value for this parameter is false
, which disables private access for your
* Kubernetes API server. If you disable private access and you have nodes or Fargate pods in the cluster, then
* ensure that publicAccessCidrs
includes the necessary CIDR blocks for communication with the nodes or
* Fargate pods. For more information, see Amazon EKS cluster endpoint access
* control in the Amazon EKS User Guide .
*
true
to enable private access for your cluster's Kubernetes API server
* endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the
* private VPC endpoint. The default value for this parameter is false
, which disables private
* access for your Kubernetes API server. If you disable private access and you have nodes or Fargate pods
* in the cluster, then ensure that publicAccessCidrs
includes the necessary CIDR blocks for
* communication with the nodes or Fargate pods. For more information, see Amazon EKS cluster endpoint
* access control in the Amazon EKS User Guide .
*/
public Boolean getEndpointPrivateAccess() {
return this.endpointPrivateAccess;
}
/**
*
* Set this value to true
to enable private access for your cluster's Kubernetes API server endpoint.
* If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC
* endpoint. The default value for this parameter is false
, which disables private access for your
* Kubernetes API server. If you disable private access and you have nodes or Fargate pods in the cluster, then
* ensure that publicAccessCidrs
includes the necessary CIDR blocks for communication with the nodes or
* Fargate pods. For more information, see Amazon EKS cluster endpoint access
* control in the Amazon EKS User Guide .
*
true
to enable private access for your cluster's Kubernetes API server
* endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the
* private VPC endpoint. The default value for this parameter is false
, which disables private
* access for your Kubernetes API server. If you disable private access and you have nodes or Fargate pods in
* the cluster, then ensure that publicAccessCidrs
includes the necessary CIDR blocks for
* communication with the nodes or Fargate pods. For more information, see Amazon EKS cluster endpoint
* access control in the Amazon EKS User Guide .
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VpcConfigRequest withEndpointPrivateAccess(Boolean endpointPrivateAccess) {
setEndpointPrivateAccess(endpointPrivateAccess);
return this;
}
/**
*
* Set this value to true
to enable private access for your cluster's Kubernetes API server endpoint.
* If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC
* endpoint. The default value for this parameter is false
, which disables private access for your
* Kubernetes API server. If you disable private access and you have nodes or Fargate pods in the cluster, then
* ensure that publicAccessCidrs
includes the necessary CIDR blocks for communication with the nodes or
* Fargate pods. For more information, see Amazon EKS cluster endpoint access
* control in the Amazon EKS User Guide .
*
true
to enable private access for your cluster's Kubernetes API server
* endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the
* private VPC endpoint. The default value for this parameter is false
, which disables private
* access for your Kubernetes API server. If you disable private access and you have nodes or Fargate pods
* in the cluster, then ensure that publicAccessCidrs
includes the necessary CIDR blocks for
* communication with the nodes or Fargate pods. For more information, see Amazon EKS cluster endpoint
* access control in the Amazon EKS User Guide .
*/
public Boolean isEndpointPrivateAccess() {
return this.endpointPrivateAccess;
}
/**
*
* The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to
* the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is
* 0.0.0.0/0
. If you've disabled private endpoint access and you have nodes or Fargate pods in the
* cluster, then ensure that you specify the necessary CIDR blocks. For more information, see Amazon EKS cluster endpoint access
* control in the Amazon EKS User Guide .
*
0.0.0.0/0
. If you've disabled private endpoint access and you have nodes or
* Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks. For more
* information, see Amazon
* EKS cluster endpoint access control in the Amazon EKS User Guide .
*/
public java.util.List
* The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to
* the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is
* 0.0.0.0/0
. If you've disabled private endpoint access and you have nodes or Fargate pods in the
* cluster, then ensure that you specify the necessary CIDR blocks. For more information, see Amazon EKS cluster endpoint access
* control in the Amazon EKS User Guide .
*
0.0.0.0/0
. If you've disabled private endpoint access and you have nodes or
* Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks. For more information,
* see Amazon EKS cluster
* endpoint access control in the Amazon EKS User Guide .
*/
public void setPublicAccessCidrs(java.util.Collection
* The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to
* the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is
* 0.0.0.0/0
. If you've disabled private endpoint access and you have nodes or Fargate pods in the
* cluster, then ensure that you specify the necessary CIDR blocks. For more information, see Amazon EKS cluster endpoint access
* control in the Amazon EKS User Guide .
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setPublicAccessCidrs(java.util.Collection)} or {@link #withPublicAccessCidrs(java.util.Collection)} if * you want to override the existing values. *
* * @param publicAccessCidrs * The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. * Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The * default value is0.0.0.0/0
. If you've disabled private endpoint access and you have nodes or
* Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks. For more information,
* see Amazon EKS cluster
* endpoint access control in the Amazon EKS User Guide .
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VpcConfigRequest withPublicAccessCidrs(String... publicAccessCidrs) {
if (this.publicAccessCidrs == null) {
setPublicAccessCidrs(new java.util.ArrayList
* The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to
* the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is
* 0.0.0.0/0
. If you've disabled private endpoint access and you have nodes or Fargate pods in the
* cluster, then ensure that you specify the necessary CIDR blocks. For more information, see Amazon EKS cluster endpoint access
* control in the Amazon EKS User Guide .
*
0.0.0.0/0
. If you've disabled private endpoint access and you have nodes or
* Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks. For more information,
* see Amazon EKS cluster
* endpoint access control in the Amazon EKS User Guide .
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VpcConfigRequest withPublicAccessCidrs(java.util.Collection