/* * Copyright 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. */ /* * Do not modify this file. This file is generated from the eks-2017-11-01.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.EKS.Model { /// /// An object representing the VPC configuration to use for an Amazon EKS cluster. /// public partial class VpcConfigRequest { private bool? _endpointPrivateAccess; private bool? _endpointPublicAccess; private List _publicAccessCidrs = new List(); private List _securityGroupIds = new List(); private List _subnetIds = new List(); /// /// Gets and sets the property 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 . /// /// public bool EndpointPrivateAccess { get { return this._endpointPrivateAccess.GetValueOrDefault(); } set { this._endpointPrivateAccess = value; } } // Check to see if EndpointPrivateAccess property is set internal bool IsSetEndpointPrivateAccess() { return this._endpointPrivateAccess.HasValue; } /// /// Gets and sets the property 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 . /// /// public bool EndpointPublicAccess { get { return this._endpointPublicAccess.GetValueOrDefault(); } set { this._endpointPublicAccess = value; } } // Check to see if EndpointPublicAccess property is set internal bool IsSetEndpointPublicAccess() { return this._endpointPublicAccess.HasValue; } /// /// Gets and sets the property 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 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 . /// /// public List PublicAccessCidrs { get { return this._publicAccessCidrs; } set { this._publicAccessCidrs = value; } } // Check to see if PublicAccessCidrs property is set internal bool IsSetPublicAccessCidrs() { return this._publicAccessCidrs != null && this._publicAccessCidrs.Count > 0; } /// /// Gets and sets the property 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 List SecurityGroupIds { get { return this._securityGroupIds; } set { this._securityGroupIds = value; } } // Check to see if SecurityGroupIds property is set internal bool IsSetSecurityGroupIds() { return this._securityGroupIds != null && this._securityGroupIds.Count > 0; } /// /// Gets and sets the property 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 List SubnetIds { get { return this._subnetIds; } set { this._subnetIds = value; } } // Check to see if SubnetIds property is set internal bool IsSetSubnetIds() { return this._subnetIds != null && this._subnetIds.Count > 0; } } }