import * as ec2 from "aws-cdk-lib/aws-ec2"; import * as constructs from "constructs"; interface Props { vpc: ec2.IVpc; /** * The security group used for the EC2 instance. * * @default - a security group will be created */ securityGroup?: ec2.ISecurityGroup; /** * The subnets to place the bastion host. * * Note that if placed inside private subnet, the VPC must have * VPC endpoints to access relevant AWS services for Systems Manager * to work in order to be able to connect to the instance. * * See https://aws.amazon.com/premiumsupport/knowledge-center/ec2-systems-manager-vpc-endpoints/ * * @default - public subnets */ subnetSelection?: ec2.SubnetSelection; /** * Instance name for the EC2 instance. * * @default "Bastion" */ instanceName?: string; } /** * This creates a EC2 bastion host that can be used to connect * to database instances and other internal resources. * * The instance is supposed to have no open ingress ports, and users * are supposed to connect only through SSM Session Manager. * * The resources that the bastion host should be allowed to access * must have the bastion host security group as allowed ingress. * * For more internal details, see * https://liflig.atlassian.net/wiki/spaces/fag/pages/10955315/Bastion-hosts */ export declare class BastionHost extends constructs.Construct { readonly securityGroup: ec2.ISecurityGroup; constructor(scope: constructs.Construct, id: string, props: Props); } export {};