UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

603 lines (602 loc) 31.4 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ComputeRouterPeerConfig extends cdktf.TerraformMetaArguments { /** * User-specified flag to indicate which mode to use for advertisement. * Valid values of this enum field are: 'DEFAULT', 'CUSTOM' Default value: "DEFAULT" Possible values: ["DEFAULT", "CUSTOM"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#advertise_mode ComputeRouterPeer#advertise_mode} */ readonly advertiseMode?: string; /** * User-specified list of prefix groups to advertise in custom * mode, which currently supports the following option: * * * 'ALL_SUBNETS': Advertises all of the router's own VPC subnets. * This excludes any routes learned for subnets that use VPC Network * Peering. * * * Note that this field can only be populated if advertiseMode is 'CUSTOM' * and overrides the list defined for the router (in the "bgp" message). * These groups are advertised in addition to any specified prefixes. * Leave this field blank to advertise no custom groups. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#advertised_groups ComputeRouterPeer#advertised_groups} */ readonly advertisedGroups?: string[]; /** * The priority of routes advertised to this BGP peer. * Where there is more than one matching route of maximum * length, the routes with the lowest priority value win. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#advertised_route_priority ComputeRouterPeer#advertised_route_priority} */ readonly advertisedRoutePriority?: number; /** * The user-defined custom learned route priority for a BGP session. * This value is applied to all custom learned route ranges for the session. You can choose a value * from 0 to 65335. If you don't provide a value, Google Cloud assigns a priority of 100 to the ranges. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#custom_learned_route_priority ComputeRouterPeer#custom_learned_route_priority} */ readonly customLearnedRoutePriority?: number; /** * The status of the BGP peer connection. If set to false, any active session * with the peer is terminated and all associated routing information is removed. * If set to true, the peer connection can be established with routing information. * The default is true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#enable ComputeRouterPeer#enable} */ readonly enable?: boolean | cdktf.IResolvable; /** * Enable IPv4 traffic over BGP Peer. It is enabled by default if the peerIpAddress is version 4. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#enable_ipv4 ComputeRouterPeer#enable_ipv4} */ readonly enableIpv4?: boolean | cdktf.IResolvable; /** * Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#enable_ipv6 ComputeRouterPeer#enable_ipv6} */ readonly enableIpv6?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#id ComputeRouterPeer#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * Name of the interface the BGP peer is associated with. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#interface ComputeRouterPeer#interface} */ readonly interface: string; /** * IP address of the interface inside Google Cloud Platform. * Only IPv4 is supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#ip_address ComputeRouterPeer#ip_address} */ readonly ipAddress?: string; /** * IPv4 address of the interface inside Google Cloud Platform. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#ipv4_nexthop_address ComputeRouterPeer#ipv4_nexthop_address} */ readonly ipv4NexthopAddress?: string; /** * IPv6 address of the interface inside Google Cloud Platform. * The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64. * If you do not specify the next hop addresses, Google Cloud automatically * assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#ipv6_nexthop_address ComputeRouterPeer#ipv6_nexthop_address} */ readonly ipv6NexthopAddress?: string; /** * Name of this BGP peer. The name must be 1-63 characters long, * and comply with RFC1035. Specifically, the name must be 1-63 characters * long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which * means the first character must be a lowercase letter, and all * following characters must be a dash, lowercase letter, or digit, * except the last character, which cannot be a dash. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#name ComputeRouterPeer#name} */ readonly name: string; /** * Peer BGP Autonomous System Number (ASN). * Each BGP interface may use a different value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#peer_asn ComputeRouterPeer#peer_asn} */ readonly peerAsn: number; /** * IP address of the BGP interface outside Google Cloud Platform. * Only IPv4 is supported. Required if 'ip_address' is set. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#peer_ip_address ComputeRouterPeer#peer_ip_address} */ readonly peerIpAddress?: string; /** * IPv4 address of the BGP interface outside Google Cloud Platform. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#peer_ipv4_nexthop_address ComputeRouterPeer#peer_ipv4_nexthop_address} */ readonly peerIpv4NexthopAddress?: string; /** * IPv6 address of the BGP interface outside Google Cloud Platform. * The address must be in the range 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64. * If you do not specify the next hop addresses, Google Cloud automatically * assigns unused addresses from the 2600:2d00:0:2::/64 or 2600:2d00:0:3::/64 range for you. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#peer_ipv6_nexthop_address ComputeRouterPeer#peer_ipv6_nexthop_address} */ readonly peerIpv6NexthopAddress?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#project ComputeRouterPeer#project} */ readonly project?: string; /** * Region where the router and BgpPeer reside. * If it is not provided, the provider region is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#region ComputeRouterPeer#region} */ readonly region?: string; /** * The name of the Cloud Router in which this BgpPeer will be configured. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#router ComputeRouterPeer#router} */ readonly router: string; /** * The URI of the VM instance that is used as third-party router appliances * such as Next Gen Firewalls, Virtual Routers, or Router Appliances. * The VM instance must be located in zones contained in the same region as * this Cloud Router. The VM instance is the peer side of the BGP session. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#router_appliance_instance ComputeRouterPeer#router_appliance_instance} */ readonly routerApplianceInstance?: string; /** * advertised_ip_ranges block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#advertised_ip_ranges ComputeRouterPeer#advertised_ip_ranges} */ readonly advertisedIpRanges?: ComputeRouterPeerAdvertisedIpRanges[] | cdktf.IResolvable; /** * bfd block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#bfd ComputeRouterPeer#bfd} */ readonly bfd?: ComputeRouterPeerBfd; /** * custom_learned_ip_ranges block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#custom_learned_ip_ranges ComputeRouterPeer#custom_learned_ip_ranges} */ readonly customLearnedIpRanges?: ComputeRouterPeerCustomLearnedIpRanges[] | cdktf.IResolvable; /** * md5_authentication_key block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#md5_authentication_key ComputeRouterPeer#md5_authentication_key} */ readonly md5AuthenticationKey?: ComputeRouterPeerMd5AuthenticationKey; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#timeouts ComputeRouterPeer#timeouts} */ readonly timeouts?: ComputeRouterPeerTimeouts; } export interface ComputeRouterPeerAdvertisedIpRanges { /** * User-specified description for the IP range. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#description ComputeRouterPeer#description} */ readonly description?: string; /** * The IP range to advertise. The value must be a * CIDR-formatted string. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#range ComputeRouterPeer#range} */ readonly range: string; } export declare function computeRouterPeerAdvertisedIpRangesToTerraform(struct?: ComputeRouterPeerAdvertisedIpRanges | cdktf.IResolvable): any; export declare function computeRouterPeerAdvertisedIpRangesToHclTerraform(struct?: ComputeRouterPeerAdvertisedIpRanges | cdktf.IResolvable): any; export declare class ComputeRouterPeerAdvertisedIpRangesOutputReference 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(): ComputeRouterPeerAdvertisedIpRanges | cdktf.IResolvable | undefined; set internalValue(value: ComputeRouterPeerAdvertisedIpRanges | cdktf.IResolvable | undefined); private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _range?; get range(): string; set range(value: string); get rangeInput(): string | undefined; } export declare class ComputeRouterPeerAdvertisedIpRangesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeRouterPeerAdvertisedIpRanges[] | 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): ComputeRouterPeerAdvertisedIpRangesOutputReference; } export interface ComputeRouterPeerBfd { /** * The minimum interval, in milliseconds, between BFD control packets * received from the peer router. The actual value is negotiated * between the two routers and is equal to the greater of this value * and the transmit interval of the other router. If set, this value * must be between 1000 and 30000. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#min_receive_interval ComputeRouterPeer#min_receive_interval} */ readonly minReceiveInterval?: number; /** * The minimum interval, in milliseconds, between BFD control packets * transmitted to the peer router. The actual value is negotiated * between the two routers and is equal to the greater of this value * and the corresponding receive interval of the other router. If set, * this value must be between 1000 and 30000. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#min_transmit_interval ComputeRouterPeer#min_transmit_interval} */ readonly minTransmitInterval?: number; /** * The number of consecutive BFD packets that must be missed before * BFD declares that a peer is unavailable. If set, the value must * be a value between 5 and 16. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#multiplier ComputeRouterPeer#multiplier} */ readonly multiplier?: number; /** * The BFD session initialization mode for this BGP peer. * If set to 'ACTIVE', the Cloud Router will initiate the BFD session * for this BGP peer. If set to 'PASSIVE', the Cloud Router will wait * for the peer router to initiate the BFD session for this BGP peer. * If set to 'DISABLED', BFD is disabled for this BGP peer. Possible values: ["ACTIVE", "DISABLED", "PASSIVE"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#session_initialization_mode ComputeRouterPeer#session_initialization_mode} */ readonly sessionInitializationMode: string; } export declare function computeRouterPeerBfdToTerraform(struct?: ComputeRouterPeerBfdOutputReference | ComputeRouterPeerBfd): any; export declare function computeRouterPeerBfdToHclTerraform(struct?: ComputeRouterPeerBfdOutputReference | ComputeRouterPeerBfd): any; export declare class ComputeRouterPeerBfdOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ComputeRouterPeerBfd | undefined; set internalValue(value: ComputeRouterPeerBfd | undefined); private _minReceiveInterval?; get minReceiveInterval(): number; set minReceiveInterval(value: number); resetMinReceiveInterval(): void; get minReceiveIntervalInput(): number | undefined; private _minTransmitInterval?; get minTransmitInterval(): number; set minTransmitInterval(value: number); resetMinTransmitInterval(): void; get minTransmitIntervalInput(): number | undefined; private _multiplier?; get multiplier(): number; set multiplier(value: number); resetMultiplier(): void; get multiplierInput(): number | undefined; private _sessionInitializationMode?; get sessionInitializationMode(): string; set sessionInitializationMode(value: string); get sessionInitializationModeInput(): string | undefined; } export interface ComputeRouterPeerCustomLearnedIpRanges { /** * The IP range to learn. The value must be a * CIDR-formatted string. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#range ComputeRouterPeer#range} */ readonly range: string; } export declare function computeRouterPeerCustomLearnedIpRangesToTerraform(struct?: ComputeRouterPeerCustomLearnedIpRanges | cdktf.IResolvable): any; export declare function computeRouterPeerCustomLearnedIpRangesToHclTerraform(struct?: ComputeRouterPeerCustomLearnedIpRanges | cdktf.IResolvable): any; export declare class ComputeRouterPeerCustomLearnedIpRangesOutputReference 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(): ComputeRouterPeerCustomLearnedIpRanges | cdktf.IResolvable | undefined; set internalValue(value: ComputeRouterPeerCustomLearnedIpRanges | cdktf.IResolvable | undefined); private _range?; get range(): string; set range(value: string); get rangeInput(): string | undefined; } export declare class ComputeRouterPeerCustomLearnedIpRangesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeRouterPeerCustomLearnedIpRanges[] | 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): ComputeRouterPeerCustomLearnedIpRangesOutputReference; } export interface ComputeRouterPeerMd5AuthenticationKey { /** * Value of the key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#key ComputeRouterPeer#key} */ readonly key: string; /** * [REQUIRED] Name used to identify the key. * Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#name ComputeRouterPeer#name} */ readonly name: string; } export declare function computeRouterPeerMd5AuthenticationKeyToTerraform(struct?: ComputeRouterPeerMd5AuthenticationKeyOutputReference | ComputeRouterPeerMd5AuthenticationKey): any; export declare function computeRouterPeerMd5AuthenticationKeyToHclTerraform(struct?: ComputeRouterPeerMd5AuthenticationKeyOutputReference | ComputeRouterPeerMd5AuthenticationKey): any; export declare class ComputeRouterPeerMd5AuthenticationKeyOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ComputeRouterPeerMd5AuthenticationKey | undefined; set internalValue(value: ComputeRouterPeerMd5AuthenticationKey | undefined); private _key?; get key(): string; set key(value: string); get keyInput(): string | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; } export interface ComputeRouterPeerTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#create ComputeRouterPeer#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#delete ComputeRouterPeer#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#update ComputeRouterPeer#update} */ readonly update?: string; } export declare function computeRouterPeerTimeoutsToTerraform(struct?: ComputeRouterPeerTimeouts | cdktf.IResolvable): any; export declare function computeRouterPeerTimeoutsToHclTerraform(struct?: ComputeRouterPeerTimeouts | cdktf.IResolvable): any; export declare class ComputeRouterPeerTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ComputeRouterPeerTimeouts | cdktf.IResolvable | undefined; set internalValue(value: ComputeRouterPeerTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string | undefined; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string | undefined; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer google_compute_router_peer} */ export declare class ComputeRouterPeer extends cdktf.TerraformResource { static readonly tfResourceType = "google_compute_router_peer"; /** * Generates CDKTF code for importing a ComputeRouterPeer resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the ComputeRouterPeer to import * @param importFromId The id of the existing ComputeRouterPeer that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ComputeRouterPeer to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource; /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_router_peer google_compute_router_peer} 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 ComputeRouterPeerConfig */ constructor(scope: Construct, id: string, config: ComputeRouterPeerConfig); private _advertiseMode?; get advertiseMode(): string; set advertiseMode(value: string); resetAdvertiseMode(): void; get advertiseModeInput(): string | undefined; private _advertisedGroups?; get advertisedGroups(): string[]; set advertisedGroups(value: string[]); resetAdvertisedGroups(): void; get advertisedGroupsInput(): string[] | undefined; private _advertisedRoutePriority?; get advertisedRoutePriority(): number; set advertisedRoutePriority(value: number); resetAdvertisedRoutePriority(): void; get advertisedRoutePriorityInput(): number | undefined; private _customLearnedRoutePriority?; get customLearnedRoutePriority(): number; set customLearnedRoutePriority(value: number); resetCustomLearnedRoutePriority(): void; get customLearnedRoutePriorityInput(): number | undefined; private _enable?; get enable(): boolean | cdktf.IResolvable; set enable(value: boolean | cdktf.IResolvable); resetEnable(): void; get enableInput(): boolean | cdktf.IResolvable | undefined; private _enableIpv4?; get enableIpv4(): boolean | cdktf.IResolvable; set enableIpv4(value: boolean | cdktf.IResolvable); resetEnableIpv4(): void; get enableIpv4Input(): boolean | cdktf.IResolvable | undefined; private _enableIpv6?; get enableIpv6(): boolean | cdktf.IResolvable; set enableIpv6(value: boolean | cdktf.IResolvable); resetEnableIpv6(): void; get enableIpv6Input(): boolean | cdktf.IResolvable | undefined; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _interface?; get interface(): string; set interface(value: string); get interfaceInput(): string | undefined; private _ipAddress?; get ipAddress(): string; set ipAddress(value: string); resetIpAddress(): void; get ipAddressInput(): string | undefined; private _ipv4NexthopAddress?; get ipv4NexthopAddress(): string; set ipv4NexthopAddress(value: string); resetIpv4NexthopAddress(): void; get ipv4NexthopAddressInput(): string | undefined; private _ipv6NexthopAddress?; get ipv6NexthopAddress(): string; set ipv6NexthopAddress(value: string); resetIpv6NexthopAddress(): void; get ipv6NexthopAddressInput(): string | undefined; get managementType(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _peerAsn?; get peerAsn(): number; set peerAsn(value: number); get peerAsnInput(): number | undefined; private _peerIpAddress?; get peerIpAddress(): string; set peerIpAddress(value: string); resetPeerIpAddress(): void; get peerIpAddressInput(): string | undefined; private _peerIpv4NexthopAddress?; get peerIpv4NexthopAddress(): string; set peerIpv4NexthopAddress(value: string); resetPeerIpv4NexthopAddress(): void; get peerIpv4NexthopAddressInput(): string | undefined; private _peerIpv6NexthopAddress?; get peerIpv6NexthopAddress(): string; set peerIpv6NexthopAddress(value: string); resetPeerIpv6NexthopAddress(): void; get peerIpv6NexthopAddressInput(): string | undefined; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; private _region?; get region(): string; set region(value: string); resetRegion(): void; get regionInput(): string | undefined; private _router?; get router(): string; set router(value: string); get routerInput(): string | undefined; private _routerApplianceInstance?; get routerApplianceInstance(): string; set routerApplianceInstance(value: string); resetRouterApplianceInstance(): void; get routerApplianceInstanceInput(): string | undefined; private _advertisedIpRanges; get advertisedIpRanges(): ComputeRouterPeerAdvertisedIpRangesList; putAdvertisedIpRanges(value: ComputeRouterPeerAdvertisedIpRanges[] | cdktf.IResolvable): void; resetAdvertisedIpRanges(): void; get advertisedIpRangesInput(): cdktf.IResolvable | ComputeRouterPeerAdvertisedIpRanges[] | undefined; private _bfd; get bfd(): ComputeRouterPeerBfdOutputReference; putBfd(value: ComputeRouterPeerBfd): void; resetBfd(): void; get bfdInput(): ComputeRouterPeerBfd | undefined; private _customLearnedIpRanges; get customLearnedIpRanges(): ComputeRouterPeerCustomLearnedIpRangesList; putCustomLearnedIpRanges(value: ComputeRouterPeerCustomLearnedIpRanges[] | cdktf.IResolvable): void; resetCustomLearnedIpRanges(): void; get customLearnedIpRangesInput(): cdktf.IResolvable | ComputeRouterPeerCustomLearnedIpRanges[] | undefined; private _md5AuthenticationKey; get md5AuthenticationKey(): ComputeRouterPeerMd5AuthenticationKeyOutputReference; putMd5AuthenticationKey(value: ComputeRouterPeerMd5AuthenticationKey): void; resetMd5AuthenticationKey(): void; get md5AuthenticationKeyInput(): ComputeRouterPeerMd5AuthenticationKey | undefined; private _timeouts; get timeouts(): ComputeRouterPeerTimeoutsOutputReference; putTimeouts(value: ComputeRouterPeerTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | ComputeRouterPeerTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }