67 lines
2.0 KiB
TypeScript
67 lines
2.0 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
import type { IClientVpnEndpoint } from './client-vpn-endpoint-types';
|
|
import type { ISubnetRef } from './ec2.generated';
|
|
import { Resource } from '../../core';
|
|
/**
|
|
* Options for a ClientVpnRoute
|
|
*/
|
|
export interface ClientVpnRouteOptions {
|
|
/**
|
|
* The IPv4 address range, in CIDR notation, of the route destination.
|
|
*
|
|
* For example:
|
|
* - To add a route for Internet access, enter 0.0.0.0/0
|
|
* - To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range
|
|
* - To add a route for an on-premises network, enter the AWS Site-to-Site VPN
|
|
* connection's IPv4 CIDR range
|
|
* - To add a route for the local network, enter the client CIDR range
|
|
*/
|
|
readonly cidr: string;
|
|
/**
|
|
* A brief description of the authorization rule.
|
|
*
|
|
* @default - no description
|
|
*/
|
|
readonly description?: string;
|
|
/**
|
|
* The target for the route
|
|
*/
|
|
readonly target: ClientVpnRouteTarget;
|
|
}
|
|
/**
|
|
* Target for a client VPN route
|
|
*/
|
|
export declare abstract class ClientVpnRouteTarget {
|
|
/**
|
|
* Subnet
|
|
*
|
|
* The specified subnet must be an existing target network of the client VPN
|
|
* endpoint.
|
|
*/
|
|
static subnet(subnet: ISubnetRef): ClientVpnRouteTarget;
|
|
/**
|
|
* Local network
|
|
*/
|
|
static local(): ClientVpnRouteTarget;
|
|
/** The subnet ID */
|
|
abstract readonly subnetId: string;
|
|
}
|
|
/**
|
|
* Properties for a ClientVpnRoute
|
|
*/
|
|
export interface ClientVpnRouteProps extends ClientVpnRouteOptions {
|
|
/**
|
|
* The client VPN endpoint to which to add the route.
|
|
* @default clientVpnEndpoint is required
|
|
*/
|
|
readonly clientVpnEndpoint?: IClientVpnEndpoint;
|
|
}
|
|
/**
|
|
* A client VPN route
|
|
*/
|
|
export declare class ClientVpnRoute extends Resource {
|
|
/** Uniquely identifies this class. */
|
|
static readonly PROPERTY_INJECTION_ID: string;
|
|
constructor(scope: Construct, id: string, props: ClientVpnRouteProps);
|
|
}
|