/*
* 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
{
///
/// The Kubernetes network configuration for the cluster.
///
public partial class KubernetesNetworkConfigRequest
{
private IpFamily _ipFamily;
private string _serviceIpv4Cidr;
///
/// Gets and sets the property IpFamily.
///
/// Specify which IP family is used to assign Kubernetes pod and service IP addresses.
/// If you don't specify a value, ipv4
is used by default. You can only specify
/// an IP family when you create a cluster and can't change this value once the cluster
/// is created. If you specify ipv6
, the VPC and subnets that you specify
/// for cluster creation must have both IPv4
and IPv6
CIDR blocks
/// assigned to them. You can't specify ipv6
for clusters in China Regions.
///
///
///
/// You can only specify ipv6
for 1.21
and later clusters that
/// use version 1.10.1
or later of the Amazon VPC CNI add-on. If you specify
/// ipv6
, then ensure that your VPC meets the requirements listed in the
/// considerations listed in Assigning
/// IPv6 addresses to pods and services in the Amazon EKS User Guide. Kubernetes assigns
/// services IPv6
addresses from the unique local address range (fc00::/7)
.
/// You can't specify a custom IPv6
CIDR block. Pod addresses are assigned
/// from the subnet's IPv6
CIDR.
///
///
public IpFamily IpFamily
{
get { return this._ipFamily; }
set { this._ipFamily = value; }
}
// Check to see if IpFamily property is set
internal bool IsSetIpFamily()
{
return this._ipFamily != null;
}
///
/// Gets and sets the property ServiceIpv4Cidr.
///
/// Don't specify a value if you select ipv6
for ipFamily. The CIDR
/// block to assign Kubernetes service IP addresses from. If you don't specify a block,
/// Kubernetes assigns addresses from either the 10.100.0.0/16
or 172.20.0.0/16
/// CIDR blocks. We recommend that you specify a block that does not overlap with resources
/// in other networks that are peered or connected to your VPC. The block must meet the
/// following requirements:
///
/// -
///
/// Within one of the following private IP address blocks:
10.0.0.0/8
, 172.16.0.0/12
,
/// or 192.168.0.0/16
.
///
/// -
///
/// Doesn't overlap with any CIDR block assigned to the VPC that you selected for VPC.
///
///
-
///
/// Between /24 and /12.
///
///
///
/// You can only specify a custom CIDR block when you create a cluster and can't change
/// this value once the cluster is created.
///
///
///
public string ServiceIpv4Cidr
{
get { return this._serviceIpv4Cidr; }
set { this._serviceIpv4Cidr = value; }
}
// Check to see if ServiceIpv4Cidr property is set
internal bool IsSetServiceIpv4Cidr()
{
return this._serviceIpv4Cidr != null;
}
}
}