import type { IVpc, IpAddresses, Ipv6Addresses } from 'aws-cdk-lib/aws-ec2'; import type * as constructs from 'constructs'; import { TargetGroupBase, RequestProtocol, TargetType, RequestProtocolVersion } from './base-target-group'; import type { HealthCheck } from './health-check'; /** * The type of IP Address Protocol */ export declare enum IpAddressType { /** * IPv4 (Internet Protocol version 4) */ IPV4 = "IPV4", /** * IPv6 (Internet Protocol version 6) */ IPV6 = "IPV6" } export interface IpTargetGroupProps { /** * The name of the target group */ readonly name?: string; /** * Targets */ readonly targets?: IpTargetGroupTargetProps[]; /** * VPC Identifier */ readonly vpc: IVpc; /** * The type of IP Address Protocol to use * @default IpAddressType.IPv4 */ readonly ipAddressType?: IpAddressType; /** * Port * @default - Defaults to port 80 for HTTP, or 443 for HTTPS */ readonly port?: number; /** * The application layer protocol to use * @default RequestProtocol.HTTPS */ readonly protocol?: RequestProtocol; /** * ProtocolVersion * @default RequestProtocolVersion.HTTP1 */ readonly protocolVersion?: RequestProtocolVersion; /** * Health Check configuration */ readonly healthCheck?: HealthCheck; } export interface IpTargetGroupTargetProps { /** * The IP Address of the target */ readonly ipAddress: Ipv6Addresses | IpAddresses; /** * Port * @default - Defaults to port 80 for HTTP, or 443 for HTTPS */ readonly port?: number; } export declare class IpTargetGroup extends TargetGroupBase { readonly targetGroupArn: string; readonly targetGroupId: string; readonly name: string; readonly targets: IpTargetGroupTargetProps[]; readonly port: number; readonly protocol: RequestProtocol; readonly ipAddressType: IpAddressType; readonly protocolVersion?: RequestProtocolVersion; readonly vpc: IVpc; readonly targetType = TargetType.IP; private readonly _resource; private readonly healthCheck; constructor(scope: constructs.Construct, id: string, props: IpTargetGroupProps); /** * Adds a target to the target Group * @param target */ addTarget(target: IpTargetGroupTargetProps): void; }