import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface BgpPeerPolicyTemplateConfig extends cdktf.TerraformMetaArguments { /** * * - Range: `1`-`10` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_peer_policy_template#allowas_in_as_number BgpPeerPolicyTemplate#allowas_in_as_number} */ readonly allowasInAsNumber?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_peer_policy_template#as_override_split_horizon BgpPeerPolicyTemplate#as_override_split_horizon} */ readonly asOverrideSplitHorizon?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_peer_policy_template#asn BgpPeerPolicyTemplate#asn} */ readonly asn: string; /** * Configure behavior when deleting/destroying the resource. Either delete the entire object (YANG container) being managed, or only delete the individual resource attributes configured explicitly and leave everything else as-is. Default value is `all`. * - Choices: `all`, `attributes` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_peer_policy_template#delete_mode BgpPeerPolicyTemplate#delete_mode} */ readonly deleteMode?: string; /** * A device name from the provider configuration. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_peer_policy_template#device BgpPeerPolicyTemplate#device} */ readonly device?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_peer_policy_template#name BgpPeerPolicyTemplate#name} */ readonly name: string; /** * Apply route map to neighbor * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_peer_policy_template#route_maps BgpPeerPolicyTemplate#route_maps} */ readonly routeMaps?: BgpPeerPolicyTemplateRouteMaps[] | cdktf.IResolvable; /** * Configure a neighbor as Route Reflector client * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_peer_policy_template#route_reflector_client BgpPeerPolicyTemplate#route_reflector_client} */ readonly routeReflectorClient?: boolean | cdktf.IResolvable; /** * * - Choices: `both`, `extended`, `standard` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_peer_policy_template#send_community BgpPeerPolicyTemplate#send_community} */ readonly sendCommunity?: string; } export interface BgpPeerPolicyTemplateRouteMaps { /** * * - Choices: `in`, `out` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_peer_policy_template#in_out BgpPeerPolicyTemplate#in_out} */ readonly inOut: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_peer_policy_template#route_map_name BgpPeerPolicyTemplate#route_map_name} */ readonly routeMapName: string; } export declare function bgpPeerPolicyTemplateRouteMapsToTerraform(struct?: BgpPeerPolicyTemplateRouteMaps | cdktf.IResolvable): any; export declare function bgpPeerPolicyTemplateRouteMapsToHclTerraform(struct?: BgpPeerPolicyTemplateRouteMaps | cdktf.IResolvable): any; export declare class BgpPeerPolicyTemplateRouteMapsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): BgpPeerPolicyTemplateRouteMaps | cdktf.IResolvable | undefined; set internalValue(value: BgpPeerPolicyTemplateRouteMaps | cdktf.IResolvable | undefined); private _inOut?; get inOut(): string; set inOut(value: string); get inOutInput(): string; private _routeMapName?; get routeMapName(): string; set routeMapName(value: string); get routeMapNameInput(): string; } export declare class BgpPeerPolicyTemplateRouteMapsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: BgpPeerPolicyTemplateRouteMaps[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): BgpPeerPolicyTemplateRouteMapsOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_peer_policy_template iosxe_bgp_peer_policy_template} */ export declare class BgpPeerPolicyTemplate extends cdktf.TerraformResource { static readonly tfResourceType = "iosxe_bgp_peer_policy_template"; /** * Generates CDKTF code for importing a BgpPeerPolicyTemplate resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the BgpPeerPolicyTemplate to import * @param importFromId The id of the existing BgpPeerPolicyTemplate that should be imported. Refer to the {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_peer_policy_template#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the BgpPeerPolicyTemplate to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_peer_policy_template iosxe_bgp_peer_policy_template} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options BgpPeerPolicyTemplateConfig */ constructor(scope: Construct, id: string, config: BgpPeerPolicyTemplateConfig); private _allowasInAsNumber?; get allowasInAsNumber(): number; set allowasInAsNumber(value: number); resetAllowasInAsNumber(): void; get allowasInAsNumberInput(): number; private _asOverrideSplitHorizon?; get asOverrideSplitHorizon(): boolean | cdktf.IResolvable; set asOverrideSplitHorizon(value: boolean | cdktf.IResolvable); resetAsOverrideSplitHorizon(): void; get asOverrideSplitHorizonInput(): any; private _asn?; get asn(): string; set asn(value: string); get asnInput(): string; private _deleteMode?; get deleteMode(): string; set deleteMode(value: string); resetDeleteMode(): void; get deleteModeInput(): string; private _device?; get device(): string; set device(value: string); resetDevice(): void; get deviceInput(): string; get id(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _routeMaps; get routeMaps(): BgpPeerPolicyTemplateRouteMapsList; putRouteMaps(value: BgpPeerPolicyTemplateRouteMaps[] | cdktf.IResolvable): void; resetRouteMaps(): void; get routeMapsInput(): any; private _routeReflectorClient?; get routeReflectorClient(): boolean | cdktf.IResolvable; set routeReflectorClient(value: boolean | cdktf.IResolvable); resetRouteReflectorClient(): void; get routeReflectorClientInput(): any; private _sendCommunity?; get sendCommunity(): string; set sendCommunity(value: string); resetSendCommunity(): void; get sendCommunityInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }