# AWSSamples::EksClusterPublicApi::Hook Validates that EKS clusters do not have publicly accessible endpoints. ## Configuration ```bash # Create a basic type configuration json cat < type_config.json { "CloudFormationConfiguration": { "HookConfiguration": { "TargetStacks": "ALL", "FailureMode":"FAIL", "Properties": {} } } } EOF # enable the hook aws cloudformation set-type-configuration \ --configuration file://type_config.json \ --type HOOK \ --type-name AWSSamples::EksClusterPublicApi::Hook ``` ## Example templates Hook will find this non-compliant ```yaml AWSTemplateFormatVersion: "2010-09-09" Resources: EksCluster: Type: AWS::EKS::Cluster Properties: RoleArn: "" ResourcesVpcConfig: SubnetIds: [""] ``` This will be found as compliant ```yaml AWSTemplateFormatVersion: "2010-09-09" Resources: EksCluster: Type: AWS::EKS::Cluster Properties: ResourcesVpcConfig: RoleArn: "" SubnetIds: [""] EndpointPublicAccess: false EndpointPrivateAccess: true ```