UNPKG

@cdklabs/aws-data-solutions-framework

Version:
70 lines (69 loc) 2.43 kB
import { ClientVpnSessionTimeout, ISecurityGroup, TransportProtocol, VpnPort } from 'aws-cdk-lib/aws-ec2'; import { ILogGroup } from 'aws-cdk-lib/aws-logs'; /** * The properties for the ClientVPnEndpoint in DataVpc construct */ export interface DataVpcClientVpnEndpointProps { /** * The ARN of the server certificate. */ readonly serverCertificateArn: string; /** * An XML document generated by an identity provider (IdP) that supports SAML 2.0. * The document includes the issuer's name, expiration information, and keys that can be * used to validate the SAML authentication response (assertions) that are received from the IdP. * You must generate the metadata document using the identity management software that is used * as your organization's IdP. */ readonly samlMetadataDocument: string; /** * Whether to authorize all users to the VPC CIDR. * @default true */ readonly authorizeAllUsersToVpcCidr?: boolean; /** * Information about the DNS servers to be used for DNS resolution. * @default DNS server in VPC, e.g. 10.0.0.2 */ readonly dnsServers?: string[]; /** * A CloudWatch Logs log group for connection logging. * @default new LogGroup is created */ readonly logGroup?: ILogGroup; /** * A CloudWatch Logs log group for connection logging. * @default true */ readonly logging?: boolean; /** * The port number to assign to the Client VPN endpoint for TCP and UDP traffic. * @default true */ readonly port?: VpnPort; /** * The security groups to apply to the target network. * @default new Securoty Group is created, allowing the incoming connections on port 443 */ readonly securityGroups?: ISecurityGroup[]; /** * Specify whether to enable the self-service portal for the Client VPN endpoint. * @default true */ readonly selfServicePortal?: boolean; /** * Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint. * @default true */ readonly splitTunnel?: boolean; /** * The maximum VPN session duration time. * @default 480 minutes */ readonly sessionTimeout?: ClientVpnSessionTimeout; /** * The transport protocol to be used by the VPN session. * @default TCP */ readonly transportProtocol?: TransportProtocol; }