Documentation ¶
Index ¶
- func AwsAuth_IsConstruct(x interface{}) *bool
- func CfnAddon_CFN_RESOURCE_TYPE_NAME() *string
- func CfnAddon_IsCfnElement(x interface{}) *bool
- func CfnAddon_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnAddon_IsConstruct(x interface{}) *bool
- func CfnCluster_CFN_RESOURCE_TYPE_NAME() *string
- func CfnCluster_IsCfnElement(x interface{}) *bool
- func CfnCluster_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnCluster_IsConstruct(x interface{}) *bool
- func CfnFargateProfile_CFN_RESOURCE_TYPE_NAME() *string
- func CfnFargateProfile_IsCfnElement(x interface{}) *bool
- func CfnFargateProfile_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnFargateProfile_IsConstruct(x interface{}) *bool
- func CfnNodegroup_CFN_RESOURCE_TYPE_NAME() *string
- func CfnNodegroup_IsCfnElement(x interface{}) *bool
- func CfnNodegroup_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnNodegroup_IsConstruct(x interface{}) *bool
- func Cluster_IsConstruct(x interface{}) *bool
- func Cluster_IsResource(construct awscdk.IConstruct) *bool
- func HelmChart_IsConstruct(x interface{}) *bool
- func HelmChart_RESOURCE_TYPE() *string
- func KubernetesResource_IsConstruct(x interface{}) *bool
- func KubernetesResource_RESOURCE_TYPE() *string
- func NewAwsAuth_Override(a AwsAuth, scope awscdk.Construct, id *string, props *AwsAuthProps)
- func NewCfnAddon_Override(c CfnAddon, scope awscdk.Construct, id *string, props *CfnAddonProps)
- func NewCfnCluster_Override(c CfnCluster, scope awscdk.Construct, id *string, props *CfnClusterProps)
- func NewCfnFargateProfile_Override(c CfnFargateProfile, scope awscdk.Construct, id *string, ...)
- func NewCfnNodegroup_Override(c CfnNodegroup, scope awscdk.Construct, id *string, props *CfnNodegroupProps)
- func NewCluster_Override(c Cluster, scope awscdk.Construct, id *string, props *ClusterProps)
- func NewEksOptimizedImage_Override(e EksOptimizedImage, props *EksOptimizedImageProps)
- func NewHelmChart_Override(h HelmChart, scope awscdk.Construct, id *string, props *HelmChartProps)
- func NewKubernetesResource_Override(k KubernetesResource, scope awscdk.Construct, id *string, ...)
- type AutoScalingGroupOptions
- type AwsAuth
- type AwsAuthProps
- type BootstrapOptions
- type CapacityOptions
- type CfnAddon
- type CfnAddonProps
- type CfnCluster
- type CfnClusterProps
- type CfnCluster_EncryptionConfigProperty
- type CfnCluster_KubernetesNetworkConfigProperty
- type CfnCluster_ProviderProperty
- type CfnCluster_ResourcesVpcConfigProperty
- type CfnFargateProfile
- type CfnFargateProfileProps
- type CfnFargateProfile_LabelProperty
- type CfnFargateProfile_SelectorProperty
- type CfnNodegroup
- type CfnNodegroupProps
- type CfnNodegroup_LaunchTemplateSpecificationProperty
- type CfnNodegroup_RemoteAccessProperty
- type CfnNodegroup_ScalingConfigProperty
- type CfnNodegroup_TaintProperty
- type CfnNodegroup_UpdateConfigProperty
- type Cluster
- type ClusterAttributes
- type ClusterProps
- type EksOptimizedImage
- type EksOptimizedImageProps
- type HelmChart
- type HelmChartOptions
- type HelmChartProps
- type ICluster
- type KubernetesResource
- type KubernetesResourceProps
- type Mapping
- type NodeType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AwsAuth_IsConstruct ¶
func AwsAuth_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func CfnAddon_CFN_RESOURCE_TYPE_NAME ¶
func CfnAddon_CFN_RESOURCE_TYPE_NAME() *string
func CfnAddon_IsCfnElement ¶
func CfnAddon_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.
func CfnAddon_IsCfnResource ¶
func CfnAddon_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnAddon_IsConstruct ¶
func CfnAddon_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func CfnCluster_CFN_RESOURCE_TYPE_NAME ¶
func CfnCluster_CFN_RESOURCE_TYPE_NAME() *string
func CfnCluster_IsCfnElement ¶
func CfnCluster_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.
func CfnCluster_IsCfnResource ¶
func CfnCluster_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnCluster_IsConstruct ¶
func CfnCluster_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func CfnFargateProfile_CFN_RESOURCE_TYPE_NAME ¶
func CfnFargateProfile_CFN_RESOURCE_TYPE_NAME() *string
func CfnFargateProfile_IsCfnElement ¶
func CfnFargateProfile_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.
func CfnFargateProfile_IsCfnResource ¶
func CfnFargateProfile_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnFargateProfile_IsConstruct ¶
func CfnFargateProfile_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func CfnNodegroup_CFN_RESOURCE_TYPE_NAME ¶
func CfnNodegroup_CFN_RESOURCE_TYPE_NAME() *string
func CfnNodegroup_IsCfnElement ¶
func CfnNodegroup_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.
func CfnNodegroup_IsCfnResource ¶
func CfnNodegroup_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnNodegroup_IsConstruct ¶
func CfnNodegroup_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func Cluster_IsConstruct ¶
func Cluster_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func Cluster_IsResource ¶
func Cluster_IsResource(construct awscdk.IConstruct) *bool
Check whether the given construct is a Resource. Experimental.
func HelmChart_IsConstruct ¶
func HelmChart_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func HelmChart_RESOURCE_TYPE ¶
func HelmChart_RESOURCE_TYPE() *string
func KubernetesResource_IsConstruct ¶
func KubernetesResource_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func KubernetesResource_RESOURCE_TYPE ¶
func KubernetesResource_RESOURCE_TYPE() *string
func NewAwsAuth_Override ¶
func NewAwsAuth_Override(a AwsAuth, scope awscdk.Construct, id *string, props *AwsAuthProps)
Experimental.
func NewCfnAddon_Override ¶
func NewCfnAddon_Override(c CfnAddon, scope awscdk.Construct, id *string, props *CfnAddonProps)
Create a new `AWS::EKS::Addon`.
func NewCfnCluster_Override ¶
func NewCfnCluster_Override(c CfnCluster, scope awscdk.Construct, id *string, props *CfnClusterProps)
Create a new `AWS::EKS::Cluster`.
func NewCfnFargateProfile_Override ¶
func NewCfnFargateProfile_Override(c CfnFargateProfile, scope awscdk.Construct, id *string, props *CfnFargateProfileProps)
Create a new `AWS::EKS::FargateProfile`.
func NewCfnNodegroup_Override ¶
func NewCfnNodegroup_Override(c CfnNodegroup, scope awscdk.Construct, id *string, props *CfnNodegroupProps)
Create a new `AWS::EKS::Nodegroup`.
func NewCluster_Override ¶
func NewCluster_Override(c Cluster, scope awscdk.Construct, id *string, props *ClusterProps)
Initiates an EKS Cluster with the supplied arguments. Experimental.
func NewEksOptimizedImage_Override ¶
func NewEksOptimizedImage_Override(e EksOptimizedImage, props *EksOptimizedImageProps)
Constructs a new instance of the EcsOptimizedAmi class. Experimental.
func NewHelmChart_Override ¶
func NewHelmChart_Override(h HelmChart, scope awscdk.Construct, id *string, props *HelmChartProps)
Experimental.
func NewKubernetesResource_Override ¶
func NewKubernetesResource_Override(k KubernetesResource, scope awscdk.Construct, id *string, props *KubernetesResourceProps)
Experimental.
Types ¶
type AutoScalingGroupOptions ¶
type AutoScalingGroupOptions struct { // Configures the EC2 user-data script for instances in this autoscaling group to bootstrap the node (invoke `/etc/eks/bootstrap.sh`) and associate it with the EKS cluster. // // If you wish to provide a custom user data script, set this to `false` and // manually invoke `autoscalingGroup.addUserData()`. // Experimental. BootstrapEnabled *bool `json:"bootstrapEnabled"` // Allows options for node bootstrapping through EC2 user data. // Experimental. BootstrapOptions *BootstrapOptions `json:"bootstrapOptions"` // Will automatically update the aws-auth ConfigMap to map the IAM instance role to RBAC. // // This cannot be explicitly set to `true` if the cluster has kubectl disabled. // Experimental. MapRole *bool `json:"mapRole"` }
Options for adding an AutoScalingGroup as capacity. Experimental.
type AwsAuth ¶
type AwsAuth interface { awscdk.Construct Node() awscdk.ConstructNode AddAccount(accountId *string) AddMastersRole(role awsiam.IRole, username *string) AddRoleMapping(role awsiam.IRole, mapping *Mapping) AddUserMapping(user awsiam.IUser, mapping *Mapping) OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string Prepare() Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string }
Manages mapping between IAM users and roles to Kubernetes RBAC configuration. See: https://docs.aws.amazon.com/en_us/eks/latest/userguide/add-user-role.html
Experimental.
func NewAwsAuth ¶
func NewAwsAuth(scope awscdk.Construct, id *string, props *AwsAuthProps) AwsAuth
Experimental.
type AwsAuthProps ¶
type AwsAuthProps struct { // The EKS cluster to apply this configuration to. // // [disable-awslint:ref-via-interface] // Experimental. Cluster Cluster `json:"cluster"` }
Experimental.
type BootstrapOptions ¶
type BootstrapOptions struct { // Additional command line arguments to pass to the `/etc/eks/bootstrap.sh` command. // See: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh // // Experimental. AdditionalArgs *string `json:"additionalArgs"` // Number of retry attempts for AWS API call (DescribeCluster). // Experimental. AwsApiRetryAttempts *float64 `json:"awsApiRetryAttempts"` // The contents of the `/etc/docker/daemon.json` file. Useful if you want a custom config differing from the default one in the EKS AMI. // Experimental. DockerConfigJson *string `json:"dockerConfigJson"` // Restores the docker default bridge network. // Experimental. EnableDockerBridge *bool `json:"enableDockerBridge"` // Extra arguments to add to the kubelet. // // Useful for adding labels or taints. // // TODO: EXAMPLE // // Experimental. KubeletExtraArgs *string `json:"kubeletExtraArgs"` // Sets `--max-pods` for the kubelet based on the capacity of the EC2 instance. // Experimental. UseMaxPods *bool `json:"useMaxPods"` }
Experimental.
type CapacityOptions ¶
type CapacityOptions struct { // Whether the instances can initiate connections to anywhere by default. // Experimental. AllowAllOutbound *bool `json:"allowAllOutbound"` // Whether instances in the Auto Scaling Group should have public IP addresses associated with them. // Experimental. AssociatePublicIpAddress *bool `json:"associatePublicIpAddress"` // The name of the Auto Scaling group. // // This name must be unique per Region per account. // Experimental. AutoScalingGroupName *string `json:"autoScalingGroupName"` // Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes. // // Each instance that is launched has an associated root device volume, // either an Amazon EBS volume or an instance store volume. // You can use block device mappings to specify additional EBS volumes or // instance store volumes to attach to an instance when it is launched. // See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html // // Experimental. BlockDevices *[]*awsautoscaling.BlockDevice `json:"blockDevices"` // Default scaling cooldown for this AutoScalingGroup. // Experimental. Cooldown awscdk.Duration `json:"cooldown"` // Initial amount of instances in the fleet. // // If this is set to a number, every deployment will reset the amount of // instances to this number. It is recommended to leave this value blank. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-desiredcapacity // // Experimental. DesiredCapacity *float64 `json:"desiredCapacity"` // Enable monitoring for group metrics, these metrics describe the group rather than any of its instances. // // To report all group metrics use `GroupMetrics.all()` // Group metrics are reported in a granularity of 1 minute at no additional charge. // Experimental. GroupMetrics *[]awsautoscaling.GroupMetrics `json:"groupMetrics"` // Configuration for health checks. // Experimental. HealthCheck awsautoscaling.HealthCheck `json:"healthCheck"` // If the ASG has scheduled actions, don't reset unchanged group sizes. // // Only used if the ASG has scheduled actions (which may scale your ASG up // or down regardless of cdk deployments). If true, the size of the group // will only be reset if it has been changed in the CDK app. If false, the // sizes will always be changed back to what they were in the CDK app // on deployment. // Experimental. IgnoreUnmodifiedSizeProperties *bool `json:"ignoreUnmodifiedSizeProperties"` // Controls whether instances in this group are launched with detailed or basic monitoring. // // When detailed monitoring is enabled, Amazon CloudWatch generates metrics every minute and your account // is charged a fee. When you disable detailed monitoring, CloudWatch generates metrics every 5 minutes. // See: https://docs.aws.amazon.com/autoscaling/latest/userguide/as-instance-monitoring.html#enable-as-instance-metrics // // Experimental. InstanceMonitoring awsautoscaling.Monitoring `json:"instanceMonitoring"` // Name of SSH keypair to grant access to instances. // Experimental. KeyName *string `json:"keyName"` // Maximum number of instances in the fleet. // Experimental. MaxCapacity *float64 `json:"maxCapacity"` // The maximum amount of time that an instance can be in service. // // The maximum duration applies // to all current and future instances in the group. As an instance approaches its maximum duration, // it is terminated and replaced, and cannot be used again. // // You must specify a value of at least 604,800 seconds (7 days). To clear a previously set value, // leave this property undefined. // See: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html // // Experimental. MaxInstanceLifetime awscdk.Duration `json:"maxInstanceLifetime"` // Minimum number of instances in the fleet. // Experimental. MinCapacity *float64 `json:"minCapacity"` // Whether newly-launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. // // By default, Auto Scaling can terminate an instance at any time after launch // when scaling in an Auto Scaling Group, subject to the group's termination // policy. However, you may wish to protect newly-launched instances from // being scaled in if they are going to run critical applications that should // not be prematurely terminated. // // This flag must be enabled if the Auto Scaling Group will be associated with // an ECS Capacity Provider with managed termination protection. // Experimental. NewInstancesProtectedFromScaleIn *bool `json:"newInstancesProtectedFromScaleIn"` // Configure autoscaling group to send notifications about fleet changes to an SNS topic(s). // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-notificationconfigurations // // Experimental. Notifications *[]*awsautoscaling.NotificationConfiguration `json:"notifications"` // SNS topic to send notifications about fleet changes. // Deprecated: use `notifications` NotificationsTopic awssns.ITopic `json:"notificationsTopic"` // Configuration for replacing updates. // // Only used if updateType == UpdateType.ReplacingUpdate. Specifies how // many instances must signal success for the update to succeed. // Deprecated: Use `signals` instead ReplacingUpdateMinSuccessfulInstancesPercent *float64 `json:"replacingUpdateMinSuccessfulInstancesPercent"` // How many ResourceSignal calls CloudFormation expects before the resource is considered created. // Deprecated: Use `signals` instead. ResourceSignalCount *float64 `json:"resourceSignalCount"` // The length of time to wait for the resourceSignalCount. // // The maximum value is 43200 (12 hours). // Deprecated: Use `signals` instead. ResourceSignalTimeout awscdk.Duration `json:"resourceSignalTimeout"` // Configuration for rolling updates. // // Only used if updateType == UpdateType.RollingUpdate. // Deprecated: Use `updatePolicy` instead RollingUpdateConfiguration *awsautoscaling.RollingUpdateConfiguration `json:"rollingUpdateConfiguration"` // Configure waiting for signals during deployment. // // Use this to pause the CloudFormation deployment to wait for the instances // in the AutoScalingGroup to report successful startup during // creation and updates. The UserData script needs to invoke `cfn-signal` // with a success or failure code after it is done setting up the instance. // // Without waiting for signals, the CloudFormation deployment will proceed as // soon as the AutoScalingGroup has been created or updated but before the // instances in the group have been started. // // For example, to have instances wait for an Elastic Load Balancing health check before // they signal success, add a health-check verification by using the // cfn-init helper script. For an example, see the verify_instance_health // command in the Auto Scaling rolling updates sample template: // // https://github.com/awslabs/aws-cloudformation-templates/blob/master/aws/services/AutoScaling/AutoScalingRollingUpdates.yaml // Experimental. Signals awsautoscaling.Signals `json:"signals"` // The maximum hourly price (in USD) to be paid for any Spot Instance launched to fulfill the request. // // Spot Instances are // launched when the price you specify exceeds the current Spot market price. // Experimental. SpotPrice *string `json:"spotPrice"` // What to do when an AutoScalingGroup's instance configuration is changed. // // This is applied when any of the settings on the ASG are changed that // affect how the instances should be created (VPC, instance type, startup // scripts, etc.). It indicates how the existing instances should be // replaced with new instances matching the new config. By default, nothing // is done and only new instances are launched with the new config. // Experimental. UpdatePolicy awsautoscaling.UpdatePolicy `json:"updatePolicy"` // What to do when an AutoScalingGroup's instance configuration is changed. // // This is applied when any of the settings on the ASG are changed that // affect how the instances should be created (VPC, instance type, startup // scripts, etc.). It indicates how the existing instances should be // replaced with new instances matching the new config. By default, nothing // is done and only new instances are launched with the new config. // Deprecated: Use `updatePolicy` instead UpdateType awsautoscaling.UpdateType `json:"updateType"` // Where to place instances within the VPC. // Experimental. VpcSubnets *awsec2.SubnetSelection `json:"vpcSubnets"` // Instance type of the instances to start. // Experimental. InstanceType awsec2.InstanceType `json:"instanceType"` // Configures the EC2 user-data script for instances in this autoscaling group to bootstrap the node (invoke `/etc/eks/bootstrap.sh`) and associate it with the EKS cluster. // // If you wish to provide a custom user data script, set this to `false` and // manually invoke `autoscalingGroup.addUserData()`. // Experimental. BootstrapEnabled *bool `json:"bootstrapEnabled"` // EKS node bootstrapping options. // Experimental. BootstrapOptions *BootstrapOptions `json:"bootstrapOptions"` // Will automatically update the aws-auth ConfigMap to map the IAM instance role to RBAC. // // This cannot be explicitly set to `true` if the cluster has kubectl disabled. // Experimental. MapRole *bool `json:"mapRole"` }
Options for adding worker nodes. Experimental.
type CfnAddon ¶
type CfnAddon interface { awscdk.CfnResource awscdk.IInspectable AddonName() *string SetAddonName(val *string) AddonVersion() *string SetAddonVersion(val *string) AttrArn() *string CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string ClusterName() *string SetClusterName(val *string) CreationStack() *[]*string LogicalId() *string Node() awscdk.ConstructNode Ref() *string ResolveConflicts() *string SetResolveConflicts(val *string) ServiceAccountRoleArn() *string SetServiceAccountRoleArn(val *string) Stack() awscdk.Stack Tags() awscdk.TagManager UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string OverrideLogicalId(newLogicalId *string) Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EKS::Addon`.
func NewCfnAddon ¶
func NewCfnAddon(scope awscdk.Construct, id *string, props *CfnAddonProps) CfnAddon
Create a new `AWS::EKS::Addon`.
type CfnAddonProps ¶
type CfnAddonProps struct { // `AWS::EKS::Addon.AddonName`. AddonName *string `json:"addonName"` // `AWS::EKS::Addon.ClusterName`. ClusterName *string `json:"clusterName"` // `AWS::EKS::Addon.AddonVersion`. AddonVersion *string `json:"addonVersion"` // `AWS::EKS::Addon.ResolveConflicts`. ResolveConflicts *string `json:"resolveConflicts"` // `AWS::EKS::Addon.ServiceAccountRoleArn`. ServiceAccountRoleArn *string `json:"serviceAccountRoleArn"` // `AWS::EKS::Addon.Tags`. Tags *[]*awscdk.CfnTag `json:"tags"` }
Properties for defining a `AWS::EKS::Addon`.
type CfnCluster ¶
type CfnCluster interface { awscdk.CfnResource awscdk.IInspectable AttrArn() *string AttrCertificateAuthorityData() *string AttrClusterSecurityGroupId() *string AttrEncryptionConfigKeyArn() *string AttrEndpoint() *string AttrOpenIdConnectIssuerUrl() *string CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string EncryptionConfig() interface{} SetEncryptionConfig(val interface{}) KubernetesNetworkConfig() interface{} SetKubernetesNetworkConfig(val interface{}) LogicalId() *string Name() *string SetName(val *string) Node() awscdk.ConstructNode Ref() *string ResourcesVpcConfig() interface{} SetResourcesVpcConfig(val interface{}) RoleArn() *string SetRoleArn(val *string) Stack() awscdk.Stack UpdatedProperites() *map[string]interface{} Version() *string SetVersion(val *string) AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string OverrideLogicalId(newLogicalId *string) Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EKS::Cluster`.
func NewCfnCluster ¶
func NewCfnCluster(scope awscdk.Construct, id *string, props *CfnClusterProps) CfnCluster
Create a new `AWS::EKS::Cluster`.
type CfnClusterProps ¶
type CfnClusterProps struct { // `AWS::EKS::Cluster.ResourcesVpcConfig`. ResourcesVpcConfig interface{} `json:"resourcesVpcConfig"` // `AWS::EKS::Cluster.RoleArn`. RoleArn *string `json:"roleArn"` // `AWS::EKS::Cluster.EncryptionConfig`. EncryptionConfig interface{} `json:"encryptionConfig"` // `AWS::EKS::Cluster.KubernetesNetworkConfig`. KubernetesNetworkConfig interface{} `json:"kubernetesNetworkConfig"` // `AWS::EKS::Cluster.Name`. Name *string `json:"name"` // `AWS::EKS::Cluster.Version`. Version *string `json:"version"` }
Properties for defining a `AWS::EKS::Cluster`.
type CfnCluster_EncryptionConfigProperty ¶
type CfnCluster_EncryptionConfigProperty struct { // `CfnCluster.EncryptionConfigProperty.Provider`. Provider interface{} `json:"provider"` // `CfnCluster.EncryptionConfigProperty.Resources`. Resources *[]*string `json:"resources"` }
type CfnCluster_KubernetesNetworkConfigProperty ¶
type CfnCluster_KubernetesNetworkConfigProperty struct { // `CfnCluster.KubernetesNetworkConfigProperty.ServiceIpv4Cidr`. ServiceIpv4Cidr *string `json:"serviceIpv4Cidr"` }
type CfnCluster_ProviderProperty ¶
type CfnCluster_ProviderProperty struct { // `CfnCluster.ProviderProperty.KeyArn`. KeyArn *string `json:"keyArn"` }
type CfnFargateProfile ¶
type CfnFargateProfile interface { awscdk.CfnResource awscdk.IInspectable AttrArn() *string CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string ClusterName() *string SetClusterName(val *string) CreationStack() *[]*string FargateProfileName() *string SetFargateProfileName(val *string) LogicalId() *string Node() awscdk.ConstructNode PodExecutionRoleArn() *string SetPodExecutionRoleArn(val *string) Ref() *string Selectors() interface{} SetSelectors(val interface{}) Stack() awscdk.Stack Subnets() *[]*string SetSubnets(val *[]*string) Tags() awscdk.TagManager UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string OverrideLogicalId(newLogicalId *string) Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EKS::FargateProfile`.
func NewCfnFargateProfile ¶
func NewCfnFargateProfile(scope awscdk.Construct, id *string, props *CfnFargateProfileProps) CfnFargateProfile
Create a new `AWS::EKS::FargateProfile`.
type CfnFargateProfileProps ¶
type CfnFargateProfileProps struct { // `AWS::EKS::FargateProfile.ClusterName`. ClusterName *string `json:"clusterName"` // `AWS::EKS::FargateProfile.PodExecutionRoleArn`. PodExecutionRoleArn *string `json:"podExecutionRoleArn"` // `AWS::EKS::FargateProfile.Selectors`. Selectors interface{} `json:"selectors"` // `AWS::EKS::FargateProfile.FargateProfileName`. FargateProfileName *string `json:"fargateProfileName"` // `AWS::EKS::FargateProfile.Subnets`. Subnets *[]*string `json:"subnets"` // `AWS::EKS::FargateProfile.Tags`. Tags *[]*awscdk.CfnTag `json:"tags"` }
Properties for defining a `AWS::EKS::FargateProfile`.
type CfnFargateProfile_SelectorProperty ¶
type CfnFargateProfile_SelectorProperty struct { // `CfnFargateProfile.SelectorProperty.Namespace`. Namespace *string `json:"namespace"` // `CfnFargateProfile.SelectorProperty.Labels`. Labels interface{} `json:"labels"` }
type CfnNodegroup ¶
type CfnNodegroup interface { awscdk.CfnResource awscdk.IInspectable AmiType() *string SetAmiType(val *string) AttrArn() *string AttrClusterName() *string AttrNodegroupName() *string CapacityType() *string SetCapacityType(val *string) CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string ClusterName() *string SetClusterName(val *string) CreationStack() *[]*string DiskSize() *float64 SetDiskSize(val *float64) ForceUpdateEnabled() interface{} SetForceUpdateEnabled(val interface{}) InstanceTypes() *[]*string SetInstanceTypes(val *[]*string) Labels() interface{} SetLabels(val interface{}) LaunchTemplate() interface{} SetLaunchTemplate(val interface{}) LogicalId() *string Node() awscdk.ConstructNode NodegroupName() *string SetNodegroupName(val *string) NodeRole() *string SetNodeRole(val *string) Ref() *string ReleaseVersion() *string SetReleaseVersion(val *string) RemoteAccess() interface{} SetRemoteAccess(val interface{}) ScalingConfig() interface{} SetScalingConfig(val interface{}) Stack() awscdk.Stack Subnets() *[]*string SetSubnets(val *[]*string) Tags() awscdk.TagManager Taints() interface{} SetTaints(val interface{}) UpdateConfig() interface{} SetUpdateConfig(val interface{}) UpdatedProperites() *map[string]interface{} Version() *string SetVersion(val *string) AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string OverrideLogicalId(newLogicalId *string) Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::EKS::Nodegroup`.
func NewCfnNodegroup ¶
func NewCfnNodegroup(scope awscdk.Construct, id *string, props *CfnNodegroupProps) CfnNodegroup
Create a new `AWS::EKS::Nodegroup`.
type CfnNodegroupProps ¶
type CfnNodegroupProps struct { // `AWS::EKS::Nodegroup.ClusterName`. ClusterName *string `json:"clusterName"` // `AWS::EKS::Nodegroup.NodeRole`. NodeRole *string `json:"nodeRole"` // `AWS::EKS::Nodegroup.Subnets`. Subnets *[]*string `json:"subnets"` // `AWS::EKS::Nodegroup.AmiType`. AmiType *string `json:"amiType"` // `AWS::EKS::Nodegroup.CapacityType`. CapacityType *string `json:"capacityType"` // `AWS::EKS::Nodegroup.DiskSize`. DiskSize *float64 `json:"diskSize"` // `AWS::EKS::Nodegroup.ForceUpdateEnabled`. ForceUpdateEnabled interface{} `json:"forceUpdateEnabled"` // `AWS::EKS::Nodegroup.InstanceTypes`. InstanceTypes *[]*string `json:"instanceTypes"` // `AWS::EKS::Nodegroup.Labels`. Labels interface{} `json:"labels"` // `AWS::EKS::Nodegroup.LaunchTemplate`. LaunchTemplate interface{} `json:"launchTemplate"` // `AWS::EKS::Nodegroup.NodegroupName`. NodegroupName *string `json:"nodegroupName"` // `AWS::EKS::Nodegroup.ReleaseVersion`. ReleaseVersion *string `json:"releaseVersion"` // `AWS::EKS::Nodegroup.RemoteAccess`. RemoteAccess interface{} `json:"remoteAccess"` // `AWS::EKS::Nodegroup.ScalingConfig`. ScalingConfig interface{} `json:"scalingConfig"` // `AWS::EKS::Nodegroup.Tags`. Tags interface{} `json:"tags"` // `AWS::EKS::Nodegroup.Taints`. Taints interface{} `json:"taints"` // `AWS::EKS::Nodegroup.UpdateConfig`. UpdateConfig interface{} `json:"updateConfig"` // `AWS::EKS::Nodegroup.Version`. Version *string `json:"version"` }
Properties for defining a `AWS::EKS::Nodegroup`.
type CfnNodegroup_LaunchTemplateSpecificationProperty ¶
type CfnNodegroup_LaunchTemplateSpecificationProperty struct { // `CfnNodegroup.LaunchTemplateSpecificationProperty.Id`. Id *string `json:"id"` // `CfnNodegroup.LaunchTemplateSpecificationProperty.Name`. Name *string `json:"name"` // `CfnNodegroup.LaunchTemplateSpecificationProperty.Version`. Version *string `json:"version"` }
type CfnNodegroup_ScalingConfigProperty ¶
type CfnNodegroup_ScalingConfigProperty struct { // `CfnNodegroup.ScalingConfigProperty.DesiredSize`. DesiredSize *float64 `json:"desiredSize"` // `CfnNodegroup.ScalingConfigProperty.MaxSize`. MaxSize *float64 `json:"maxSize"` // `CfnNodegroup.ScalingConfigProperty.MinSize`. MinSize *float64 `json:"minSize"` }
type Cluster ¶
type Cluster interface { awscdk.Resource ICluster AwsAuth() AwsAuth ClusterArn() *string ClusterCertificateAuthorityData() *string ClusterEndpoint() *string ClusterName() *string Connections() awsec2.Connections DefaultCapacity() awsautoscaling.AutoScalingGroup Env() *awscdk.ResourceEnvironment KubectlEnabled() *bool Node() awscdk.ConstructNode PhysicalName() *string Role() awsiam.IRole Stack() awscdk.Stack Vpc() awsec2.IVpc AddAutoScalingGroup(autoScalingGroup awsautoscaling.AutoScalingGroup, options *AutoScalingGroupOptions) AddCapacity(id *string, options *CapacityOptions) awsautoscaling.AutoScalingGroup AddChart(id *string, options *HelmChartOptions) HelmChart AddResource(id *string, manifest ...interface{}) KubernetesResource ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string Prepare() Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string }
A Cluster represents a managed Kubernetes Service (EKS).
This is a fully managed cluster of API Servers (control-plane) The user is still required to create the worker nodes. Experimental.
func NewCluster ¶
func NewCluster(scope awscdk.Construct, id *string, props *ClusterProps) Cluster
Initiates an EKS Cluster with the supplied arguments. Experimental.
type ClusterAttributes ¶
type ClusterAttributes struct { // The unique ARN assigned to the service by AWS in the form of arn:aws:eks:. // Experimental. ClusterArn *string `json:"clusterArn"` // The certificate-authority-data for your cluster. // Experimental. ClusterCertificateAuthorityData *string `json:"clusterCertificateAuthorityData"` // The API Server endpoint URL. // Experimental. ClusterEndpoint *string `json:"clusterEndpoint"` // The physical name of the Cluster. // Experimental. ClusterName *string `json:"clusterName"` // The security groups associated with this cluster. // Experimental. SecurityGroups *[]awsec2.ISecurityGroup `json:"securityGroups"` // The VPC in which this Cluster was created. // Experimental. Vpc awsec2.IVpc `json:"vpc"` }
Experimental.
type ClusterProps ¶
type ClusterProps struct { // Name for the cluster. // Experimental. ClusterName *string `json:"clusterName"` // Number of instances to allocate as an initial capacity for this cluster. // // Instance type can be configured through `defaultCapacityInstanceType`, // which defaults to `m5.large`. // // Use `cluster.addCapacity` to add additional customized capacity. Set this // to `0` is you wish to avoid the initial capacity allocation. // Experimental. DefaultCapacity *float64 `json:"defaultCapacity"` // The instance type to use for the default capacity. // // This will only be taken // into account if `defaultCapacity` is > 0. // Experimental. DefaultCapacityInstance awsec2.InstanceType `json:"defaultCapacityInstance"` // Allows defining `kubectrl`-related resources on this cluster. // // If this is disabled, it will not be possible to use the following // capabilities: // - `addResource` // - `addRoleMapping` // - `addUserMapping` // - `addMastersRole` and `props.mastersRole` // // If this is disabled, the cluster can only be managed by issuing `kubectl` // commands from a session that uses the IAM role/user that created the // account. // // _NOTE_: changing this value will destoy the cluster. This is because a // managable cluster must be created using an AWS CloudFormation custom // resource which executes with an IAM role owned by the CDK app. // Experimental. KubectlEnabled *bool `json:"kubectlEnabled"` // An IAM role that will be added to the `system:masters` Kubernetes RBAC group. // See: https://kubernetes.io/docs/reference/access-authn-authz/rbac/#default-roles-and-role-bindings // // Experimental. MastersRole awsiam.IRole `json:"mastersRole"` // Determines whether a CloudFormation output with the name of the cluster will be synthesized. // Experimental. OutputClusterName *bool `json:"outputClusterName"` // Determines whether a CloudFormation output with the `aws eks update-kubeconfig` command will be synthesized. // // This command will include // the cluster name and, if applicable, the ARN of the masters IAM role. // Experimental. OutputConfigCommand *bool `json:"outputConfigCommand"` // Determines whether a CloudFormation output with the ARN of the "masters" IAM role will be synthesized (if `mastersRole` is specified). // Experimental. OutputMastersRoleArn *bool `json:"outputMastersRoleArn"` // Role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. // Experimental. Role awsiam.IRole `json:"role"` // Security Group to use for Control Plane ENIs. // Experimental. SecurityGroup awsec2.ISecurityGroup `json:"securityGroup"` // The Kubernetes version to run in the cluster. // Experimental. Version *string `json:"version"` // The VPC in which to create the Cluster. // Experimental. Vpc awsec2.IVpc `json:"vpc"` // Where to place EKS Control Plane ENIs. // // If you want to create public load balancers, this must include public subnets. // // For example, to only select private subnets, supply the following: // // “`ts // vpcSubnets: [ // { subnetType: ec2.SubnetType.Private } // ] // “` // Experimental. VpcSubnets *[]*awsec2.SubnetSelection `json:"vpcSubnets"` }
Properties to instantiate the Cluster. Experimental.
type EksOptimizedImage ¶
type EksOptimizedImage interface { awsec2.IMachineImage GetImage(scope awscdk.Construct) *awsec2.MachineImageConfig }
Construct an Amazon Linux 2 image from the latest EKS Optimized AMI published in SSM. Experimental.
func NewEksOptimizedImage ¶
func NewEksOptimizedImage(props *EksOptimizedImageProps) EksOptimizedImage
Constructs a new instance of the EcsOptimizedAmi class. Experimental.
type EksOptimizedImageProps ¶
type EksOptimizedImageProps struct { // The Kubernetes version to use. // Experimental. KubernetesVersion *string `json:"kubernetesVersion"` // What instance type to retrieve the image for (standard or GPU-optimized). // Experimental. NodeType NodeType `json:"nodeType"` }
Properties for EksOptimizedImage. Experimental.
type HelmChart ¶
type HelmChart interface { awscdk.Construct Node() awscdk.ConstructNode OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string Prepare() Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string }
Represents a helm chart within the Kubernetes system.
Applies/deletes the resources using `kubectl` in sync with the resource. Experimental.
func NewHelmChart ¶
func NewHelmChart(scope awscdk.Construct, id *string, props *HelmChartProps) HelmChart
Experimental.
type HelmChartOptions ¶
type HelmChartOptions struct { // The name of the chart. // Experimental. Chart *string `json:"chart"` // The Kubernetes namespace scope of the requests. // Experimental. Namespace *string `json:"namespace"` // The name of the release. // Experimental. Release *string `json:"release"` // The repository which contains the chart. // // For example: https://kubernetes-charts.storage.googleapis.com/ // Experimental. Repository *string `json:"repository"` // The values to be used by the chart. // Experimental. Values *map[string]interface{} `json:"values"` // The chart version to install. // Experimental. Version *string `json:"version"` }
Helm Chart options. Experimental.
type HelmChartProps ¶
type HelmChartProps struct { // The name of the chart. // Experimental. Chart *string `json:"chart"` // The Kubernetes namespace scope of the requests. // Experimental. Namespace *string `json:"namespace"` // The name of the release. // Experimental. Release *string `json:"release"` // The repository which contains the chart. // // For example: https://kubernetes-charts.storage.googleapis.com/ // Experimental. Repository *string `json:"repository"` // The values to be used by the chart. // Experimental. Values *map[string]interface{} `json:"values"` // The chart version to install. // Experimental. Version *string `json:"version"` // The EKS cluster to apply this configuration to. // // [disable-awslint:ref-via-interface] // Experimental. Cluster Cluster `json:"cluster"` }
Helm Chart properties. Experimental.
type ICluster ¶
type ICluster interface { awsec2.IConnectable awscdk.IResource // The unique ARN assigned to the service by AWS in the form of arn:aws:eks:. // Experimental. ClusterArn() *string // The certificate-authority-data for your cluster. // Experimental. ClusterCertificateAuthorityData() *string // The API Server endpoint URL. // Experimental. ClusterEndpoint() *string // The physical name of the Cluster. // Experimental. ClusterName() *string // The VPC in which this Cluster was created. // Experimental. Vpc() awsec2.IVpc }
An EKS cluster. Experimental.
func Cluster_FromClusterAttributes ¶
func Cluster_FromClusterAttributes(scope awscdk.Construct, id *string, attrs *ClusterAttributes) ICluster
Import an existing cluster. Experimental.
type KubernetesResource ¶
type KubernetesResource interface { awscdk.Construct Node() awscdk.ConstructNode OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string Prepare() Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string }
Represents a resource within the Kubernetes system.
Alternatively, you can use `cluster.addResource(resource[, resource, ...])` to define resources on this cluster.
Applies/deletes the resources using `kubectl` in sync with the resource. Experimental.
func NewKubernetesResource ¶
func NewKubernetesResource(scope awscdk.Construct, id *string, props *KubernetesResourceProps) KubernetesResource
Experimental.
type KubernetesResourceProps ¶
type KubernetesResourceProps struct { // The EKS cluster to apply this configuration to. // // [disable-awslint:ref-via-interface] // Experimental. Cluster Cluster `json:"cluster"` // The resource manifest. // // Consists of any number of child resources. // // When the resource is created/updated, this manifest will be applied to the // cluster through `kubectl apply` and when the resource or the stack is // deleted, the manifest will be deleted through `kubectl delete`. // // TODO: EXAMPLE // // Experimental. Manifest *[]interface{} `json:"manifest"` }
Experimental.
type Mapping ¶
type Mapping struct { // A list of groups within Kubernetes to which the role is mapped. // See: https://kubernetes.io/docs/reference/access-authn-authz/rbac/#default-roles-and-role-bindings // // Experimental. Groups *[]*string `json:"groups"` // The user name within Kubernetes to map to the IAM role. // Experimental. Username *string `json:"username"` }
Experimental.