Class CfnClusterProps
Properties for defining a CfnCluster
.
Implements
Inherited Members
Namespace: Amazon.CDK.AWS.EKS
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnClusterProps : ICfnClusterProps
Syntax (vb)
Public Class CfnClusterProps Implements ICfnClusterProps
Remarks
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.EKS;
var cfnClusterProps = new CfnClusterProps {
ResourcesVpcConfig = new ResourcesVpcConfigProperty {
SubnetIds = new [] { "subnetIds" },
// the properties below are optional
EndpointPrivateAccess = false,
EndpointPublicAccess = false,
PublicAccessCidrs = new [] { "publicAccessCidrs" },
SecurityGroupIds = new [] { "securityGroupIds" }
},
RoleArn = "roleArn",
// the properties below are optional
AccessConfig = new AccessConfigProperty {
AuthenticationMode = "authenticationMode",
BootstrapClusterCreatorAdminPermissions = false
},
BootstrapSelfManagedAddons = false,
ComputeConfig = new ComputeConfigProperty {
Enabled = false,
NodePools = new [] { "nodePools" },
NodeRoleArn = "nodeRoleArn"
},
EncryptionConfig = new [] { new EncryptionConfigProperty {
Provider = new ProviderProperty {
KeyArn = "keyArn"
},
Resources = new [] { "resources" }
} },
Force = false,
KubernetesNetworkConfig = new KubernetesNetworkConfigProperty {
ElasticLoadBalancing = new ElasticLoadBalancingProperty {
Enabled = false
},
IpFamily = "ipFamily",
ServiceIpv4Cidr = "serviceIpv4Cidr",
ServiceIpv6Cidr = "serviceIpv6Cidr"
},
Logging = new LoggingProperty {
ClusterLogging = new ClusterLoggingProperty {
EnabledTypes = new [] { new LoggingTypeConfigProperty {
Type = "type"
} }
}
},
Name = "name",
OutpostConfig = new OutpostConfigProperty {
ControlPlaneInstanceType = "controlPlaneInstanceType",
OutpostArns = new [] { "outpostArns" },
// the properties below are optional
ControlPlanePlacement = new ControlPlanePlacementProperty {
GroupName = "groupName"
}
},
RemoteNetworkConfig = new RemoteNetworkConfigProperty {
RemoteNodeNetworks = new [] { new RemoteNodeNetworkProperty {
Cidrs = new [] { "cidrs" }
} },
// the properties below are optional
RemotePodNetworks = new [] { new RemotePodNetworkProperty {
Cidrs = new [] { "cidrs" }
} }
},
StorageConfig = new StorageConfigProperty {
BlockStorage = new BlockStorageProperty {
Enabled = false
}
},
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} },
UpgradePolicy = new UpgradePolicyProperty {
SupportType = "supportType"
},
Version = "version",
ZonalShiftConfig = new ZonalShiftConfigProperty {
Enabled = false
}
};
Synopsis
Constructors
CfnClusterProps() | Properties for defining a |
Properties
AccessConfig | The access configuration for the cluster. |
BootstrapSelfManagedAddons | If you set this value to |
ComputeConfig | Indicates the current configuration of the compute capability on your EKS Auto Mode cluster. |
EncryptionConfig | The encryption configuration for the cluster. |
Force | Set this value to |
KubernetesNetworkConfig | The Kubernetes network configuration for the cluster. |
Logging | The logging configuration for your cluster. |
Name | The unique name to give to your cluster. |
OutpostConfig | An object representing the configuration of your local Amazon EKS cluster on an AWS Outpost. |
RemoteNetworkConfig | The configuration in the cluster for EKS Hybrid Nodes. |
ResourcesVpcConfig | The VPC configuration that's used by the cluster control plane. |
RoleArn | The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. |
StorageConfig | Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. |
Tags | The metadata that you apply to the cluster to assist with categorization and organization. |
UpgradePolicy | This value indicates if extended support is enabled or disabled for the cluster. |
Version | The desired Kubernetes version for your cluster. |
ZonalShiftConfig | The configuration for zonal shift for the cluster. |
Constructors
CfnClusterProps()
Properties for defining a CfnCluster
.
public CfnClusterProps()
Remarks
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.EKS;
var cfnClusterProps = new CfnClusterProps {
ResourcesVpcConfig = new ResourcesVpcConfigProperty {
SubnetIds = new [] { "subnetIds" },
// the properties below are optional
EndpointPrivateAccess = false,
EndpointPublicAccess = false,
PublicAccessCidrs = new [] { "publicAccessCidrs" },
SecurityGroupIds = new [] { "securityGroupIds" }
},
RoleArn = "roleArn",
// the properties below are optional
AccessConfig = new AccessConfigProperty {
AuthenticationMode = "authenticationMode",
BootstrapClusterCreatorAdminPermissions = false
},
BootstrapSelfManagedAddons = false,
ComputeConfig = new ComputeConfigProperty {
Enabled = false,
NodePools = new [] { "nodePools" },
NodeRoleArn = "nodeRoleArn"
},
EncryptionConfig = new [] { new EncryptionConfigProperty {
Provider = new ProviderProperty {
KeyArn = "keyArn"
},
Resources = new [] { "resources" }
} },
Force = false,
KubernetesNetworkConfig = new KubernetesNetworkConfigProperty {
ElasticLoadBalancing = new ElasticLoadBalancingProperty {
Enabled = false
},
IpFamily = "ipFamily",
ServiceIpv4Cidr = "serviceIpv4Cidr",
ServiceIpv6Cidr = "serviceIpv6Cidr"
},
Logging = new LoggingProperty {
ClusterLogging = new ClusterLoggingProperty {
EnabledTypes = new [] { new LoggingTypeConfigProperty {
Type = "type"
} }
}
},
Name = "name",
OutpostConfig = new OutpostConfigProperty {
ControlPlaneInstanceType = "controlPlaneInstanceType",
OutpostArns = new [] { "outpostArns" },
// the properties below are optional
ControlPlanePlacement = new ControlPlanePlacementProperty {
GroupName = "groupName"
}
},
RemoteNetworkConfig = new RemoteNetworkConfigProperty {
RemoteNodeNetworks = new [] { new RemoteNodeNetworkProperty {
Cidrs = new [] { "cidrs" }
} },
// the properties below are optional
RemotePodNetworks = new [] { new RemotePodNetworkProperty {
Cidrs = new [] { "cidrs" }
} }
},
StorageConfig = new StorageConfigProperty {
BlockStorage = new BlockStorageProperty {
Enabled = false
}
},
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} },
UpgradePolicy = new UpgradePolicyProperty {
SupportType = "supportType"
},
Version = "version",
ZonalShiftConfig = new ZonalShiftConfigProperty {
Enabled = false
}
};
Properties
AccessConfig
The access configuration for the cluster.
public object? AccessConfig { get; set; }
Property Value
Remarks
BootstrapSelfManagedAddons
If you set this value to False
when creating a cluster, the default networking add-ons will not be installed.
public object? BootstrapSelfManagedAddons { get; set; }
Property Value
Remarks
The default networking add-ons include vpc-cni
, coredns
, and kube-proxy
.
Use this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.
ComputeConfig
Indicates the current configuration of the compute capability on your EKS Auto Mode cluster.
public object? ComputeConfig { get; set; }
Property Value
Remarks
For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your AWS account. For more information, see EKS Auto Mode compute capability in the Amazon EKS User Guide .
EncryptionConfig
The encryption configuration for the cluster.
public object? EncryptionConfig { get; set; }
Property Value
Remarks
Force
Set this value to true
to override upgrade-blocking readiness checks when updating a cluster.
public object? Force { get; set; }
Property Value
Remarks
KubernetesNetworkConfig
The Kubernetes network configuration for the cluster.
public object? KubernetesNetworkConfig { get; set; }
Property Value
Remarks
Logging
The logging configuration for your cluster.
public object? Logging { get; set; }
Property Value
Remarks
Name
The unique name to give to your cluster.
public string? Name { get; set; }
Property Value
Remarks
The name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphanumeric character and can't be longer than 100 characters. The name must be unique within the AWS Region and AWS account that you're creating the cluster in. Note that underscores can't be used in AWS CloudFormation .
OutpostConfig
An object representing the configuration of your local Amazon EKS cluster on an AWS Outpost.
public object? OutpostConfig { get; set; }
Property Value
Remarks
This object isn't available for clusters on the AWS cloud.
RemoteNetworkConfig
The configuration in the cluster for EKS Hybrid Nodes.
public object? RemoteNetworkConfig { get; set; }
Property Value
Remarks
You can add, change, or remove this configuration after the cluster is created.
ResourcesVpcConfig
The VPC configuration that's used by the cluster control plane.
public object ResourcesVpcConfig { get; set; }
Property Value
Remarks
Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide . You must specify at least two subnets. You can specify up to five security groups, but we recommend that you use a dedicated security group for your cluster control plane.
RoleArn
The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.
public string RoleArn { get; set; }
Property Value
Remarks
For more information, see Amazon EKS Service IAM Role in the Amazon EKS User Guide .
StorageConfig
Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster.
public object? StorageConfig { get; set; }
Property Value
Remarks
For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your AWS account. For more information, see EKS Auto Mode block storage capability in the Amazon EKS User Guide .
Tags
The metadata that you apply to the cluster to assist with categorization and organization.
public ICfnTag[]? Tags { get; set; }
Property Value
ICfnTag[]
Remarks
Each tag consists of a key and an optional value, both of which you define. Cluster tags don't propagate to any other resources associated with the cluster.
You must have the <code>eks:TagResource</code> and <code>eks:UntagResource</code> permissions for your <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html">IAM principal</a> to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.
UpgradePolicy
This value indicates if extended support is enabled or disabled for the cluster.
public object? UpgradePolicy { get; set; }
Property Value
Remarks
Version
The desired Kubernetes version for your cluster.
public string? Version { get; set; }
Property Value
Remarks
If you don't specify a value here, the default version available in Amazon EKS is used.
The default version might not be the latest version available.
ZonalShiftConfig
The configuration for zonal shift for the cluster.
public object? ZonalShiftConfig { get; set; }