aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
164 lines (163 loc) • 3.91 kB
TypeScript
import { Construct } from 'constructs';
import { Connections } from './connections';
import { CfnPrefixList } from './ec2.generated';
import { IPeer } from './peer';
import { IResource, Resource } from '../../core';
/**
* A prefix list
*/
export interface IPrefixList extends IResource, IPeer {
/**
* The ID of the prefix list
*
* @attribute
*/
readonly prefixListId: string;
}
/**
* The IP address type.
*/
export declare enum AddressFamily {
IP_V4 = "IPv4",
IP_V6 = "IPv6"
}
/**
* Options to add a prefix list
*/
export interface PrefixListOptions {
/**
* The maximum number of entries for the prefix list.
*
* @default Automatically-calculated
*/
readonly maxEntries?: number;
}
/**
* Properties for creating a prefix list.
*/
export interface PrefixListProps extends PrefixListOptions {
/**
* The address family of the prefix list.
*
* @default AddressFamily.IP_V4
*/
readonly addressFamily?: AddressFamily;
/**
* The name of the prefix list.
*
* @default None
*
* @remarks
* It is not recommended to use an explicit name.
*/
readonly prefixListName?: string;
/**
* The list of entries for the prefix list.
*
* @default []
*/
readonly entries?: CfnPrefixList.EntryProperty[];
}
/**
* The base class for a prefix list
*/
declare abstract class PrefixListBase extends Resource implements IPrefixList {
/**
* The ID of the prefix list
*
* @attribute
*/
abstract readonly prefixListId: string;
/**
* The network connections associated with this resource.
*/
readonly connections: Connections;
/**
* Whether the rule can be inlined into a SecurityGroup or not
*/
readonly canInlineRule = false;
/**
* A unique identifier for this connection peer
*/
get uniqueId(): string;
/**
* Produce the ingress rule JSON for the given connection
*/
toIngressRuleConfig(): any;
/**
* Produce the egress rule JSON for the given connection
*/
toEgressRuleConfig(): any;
}
/**
* Properties for looking up an existing managed prefix list.
*/
export interface PrefixListLookupOptions {
/**
* The name of the managed prefix list.
*/
readonly prefixListName: string;
/**
* The ID of the AWS account that owns the managed prefix list.
*
* @default - Don't filter on ownerId
*/
readonly ownerId?: string;
/**
* The address family of the managed prefix list.
*
* @default - Don't filter on addressFamily
*/
readonly addressFamily?: AddressFamily;
}
/**
* A managed prefix list.
* @resource AWS::EC2::PrefixList
*/
export declare class PrefixList extends PrefixListBase {
/** Uniquely identifies this class. */
static readonly PROPERTY_INJECTION_ID: string;
/**
* Look up prefix list by id.
*/
static fromPrefixListId(scope: Construct, id: string, prefixListId: string): IPrefixList;
/**
* Look up prefix list by name
*/
static fromLookup(scope: Construct, id: string, options: PrefixListLookupOptions): IPrefixList;
/**
* The ID of the prefix list
*
* @attribute
*/
readonly prefixListId: string;
/**
* The name of the prefix list
*
* @attribute
*/
readonly prefixListName: string;
/**
* The ARN of the prefix list
*
* @attribute
*/
readonly prefixListArn: string;
/**
* The owner ID of the prefix list
*
*/
readonly ownerId: string;
/**
* The version of the prefix list
*
*/
readonly version: number;
/**
* The address family of the prefix list
*
*/
readonly addressFamily: string;
constructor(scope: Construct, id: string, props?: PrefixListProps);
}
export {};