aws-cdk-lib
Version: 
Version 2 of the AWS Cloud Development Kit library
70 lines (69 loc) • 2.02 kB
TypeScript
/**
 * An endpoint for the endpoint group
 *
 * Implementations of `IEndpoint` can be found in the `aws-globalaccelerator-endpoints` package.
 */
export interface IEndpoint {
    /**
     * The region where the endpoint is located
     *
     * If the region cannot be determined, `undefined` is returned
     */
    readonly region?: string;
    /**
     * Render the endpoint to an endpoint configuration
     */
    renderEndpointConfiguration(): any;
}
/**
 * Properties for RawEndpoint
 */
export interface RawEndpointProps {
    /**
     * Identifier of the endpoint
     *
     * Load balancer ARN, instance ID or EIP allocation ID.
     */
    readonly endpointId: string;
    /**
     * Endpoint weight across all endpoints in the group
     *
     * Must be a value between 0 and 255.
     *
     * @default 128
     */
    readonly weight?: number;
    /**
     * Forward the client IP address
     *
     * GlobalAccelerator will create Network Interfaces in your VPC in order
     * to preserve the client IP address.
     *
     * Only applies to Application Load Balancers and EC2 instances.
     *
     * Client IP address preservation is supported only in specific AWS Regions.
     * See the GlobalAccelerator Developer Guide for a list.
     *
     * @default true if possible and available
     */
    readonly preserveClientIp?: boolean;
    /**
     * The region where this endpoint is located
     *
     * @default - Unknown what region this endpoint is located
     */
    readonly region?: string;
}
/**
 * Untyped endpoint implementation
 *
 * Prefer using the classes in the `aws-globalaccelerator-endpoints` package instead,
 * as they accept typed constructs. You can use this class if you want to use an
 * endpoint type that does not have an appropriate class in that package yet.
 */
export declare class RawEndpoint implements IEndpoint {
    private readonly props;
    readonly region?: string;
    constructor(props: RawEndpointProps);
    renderEndpointConfiguration(): any;
}