import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class Provider { KeyArn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EncryptionConfig { Resources ? : List < Value < string > > ; Provider ? : Provider ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class KubernetesNetworkConfig { ServiceIpv4Cidr ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ResourcesVpcConfig { SecurityGroupIds ? : List < Value < string > > ; SubnetIds ! : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface ClusterProperties { Version ? : Value < string > ; EncryptionConfig ? : List < EncryptionConfig > ; RoleArn : Value < string > ; ResourcesVpcConfig : ResourcesVpcConfig ; KubernetesNetworkConfig ? : KubernetesNetworkConfig ; Name ? : Value < string > ; } export default class Cluster extends ResourceBase < ClusterProperties > { static Provider = Provider ; static EncryptionConfig = EncryptionConfig ; static KubernetesNetworkConfig = KubernetesNetworkConfig ; static ResourcesVpcConfig = ResourcesVpcConfig ; constructor ( properties ) { super ( 'AWS::EKS::Cluster' , properties ) ; } }