UNPKG

@pulumi/sdwan

Version:

A Pulumi package for managing resources on Cisco Catalyst SD-WAN.. Based on terraform-provider-sdwan: version v0.4.1

848 lines (847 loc) 26 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * This resource can manage a Service Routing BGP Feature. * - Minimum SD-WAN Manager version: `20.12.0` * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as sdwan from "@pulumi/sdwan"; * * const example = new sdwan.ServiceRoutingBgpFeature("example", { * name: "Example", * description: "My Example", * featureProfileId: "f6dd22c8-0b4f-496c-9a0b-6813d1f8b8ac", * asNumber: 429, * routerId: "1.2.3.4", * propagateAsPath: false, * propagateCommunity: false, * externalRoutesDistance: 20, * internalRoutesDistance: 200, * localRoutesDistance: 20, * keepaliveTime: 60, * holdTime: 180, * alwaysCompareMed: false, * deterministicMed: false, * missingMedAsWorst: false, * compareRouterId: false, * multipathRelax: false, * ipv4Neighbors: [{ * address: "1.2.3.4", * description: "neighbor1", * shutdown: false, * remoteAs: 200, * localAs: 200, * keepaliveTime: 40, * holdTime: 200, * updateSourceInterface: "GigabitEthernet0", * nextHopSelf: false, * sendCommunity: true, * sendExtendedCommunity: true, * ebgpMultihop: 1, * password: "myPassword", * sendLabel: true, * asOverride: false, * allowasInNumber: 1, * addressFamilies: [{ * familyType: "ipv4-unicast", * policyType: "restart", * restartMaxNumberOfPrefixes: 2000, * restartThreshold: 75, * restartInterval: 30, * }], * }], * ipv6Neighbors: [{ * address: "2001::1", * description: "neighbor2", * shutdown: false, * remoteAs: 200, * localAs: 200, * keepaliveTime: 180, * holdTime: 60, * updateSourceInterface: "Loopback1", * nextHopSelf: true, * sendCommunity: true, * sendExtendedCommunity: true, * ebgpMultihop: 3, * password: "myPassword", * asOverride: true, * allowasInNumber: 3, * addressFamilies: [{ * familyType: "ipv6-unicast", * policyType: "restart", * restartMaxNumberOfPrefixes: 2000, * restartThreshold: 75, * restartInterval: 30, * }], * }], * ipv4AggregateAddresses: [{ * networkAddress: "10.10.0.0", * subnetMask: "255.255.0.0", * asSetPath: false, * summaryOnly: false, * }], * ipv4Networks: [{ * networkAddress: "10.10.0.0", * subnetMask: "255.255.0.0", * }], * ipv4EibgpMaximumPaths: 1, * ipv4Originate: false, * ipv4TableMapFilter: false, * ipv6AggregateAddresses: [{ * aggregatePrefix: "3001::1/128", * asSetPath: false, * summaryOnly: false, * }], * ipv6Networks: [{ * networkPrefix: "2001:0DB8:0000:000b::/64", * }], * ipv6EibgpMaximumPaths: 2, * ipv6Originate: true, * ipv6TableMapFilter: false, * }); * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * Expected import identifier with the format: "service_routing_bgp_feature_id,feature_profile_id" * * ```sh * $ pulumi import sdwan:index/serviceRoutingBgpFeature:ServiceRoutingBgpFeature example "f6b2c44c-693c-4763-b010-895aa3d236bd,f6dd22c8-0b4f-496c-9a0b-6813d1f8b8ac" * ``` */ export declare class ServiceRoutingBgpFeature extends pulumi.CustomResource { /** * Get an existing ServiceRoutingBgpFeature resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ServiceRoutingBgpFeatureState, opts?: pulumi.CustomResourceOptions): ServiceRoutingBgpFeature; /** * Returns true if the given object is an instance of ServiceRoutingBgpFeature. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ServiceRoutingBgpFeature; /** * Compare MEDs from all ASs when selecting active BGP paths * - Default value: `false` */ readonly alwaysCompareMed: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly alwaysCompareMedVariable: pulumi.Output<string | undefined>; /** * Set autonomous system number <1..4294967295> or <XX.YY> */ readonly asNumber: pulumi.Output<number | undefined>; /** * Variable name */ readonly asNumberVariable: pulumi.Output<string | undefined>; /** * Compare router IDs when selecting active BGP paths * - Default value: `false` */ readonly compareRouterId: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly compareRouterIdVariable: pulumi.Output<string | undefined>; /** * The description of the Feature */ readonly description: pulumi.Output<string | undefined>; /** * Compare MEDs from all routes from same AS when selecting active BGP paths * - Default value: `false` */ readonly deterministicMed: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly deterministicMedVariable: pulumi.Output<string | undefined>; /** * Set administrative distance for external BGP routes * - Range: `1`-`255` * - Default value: `20` */ readonly externalRoutesDistance: pulumi.Output<number | undefined>; /** * Variable name */ readonly externalRoutesDistanceVariable: pulumi.Output<string | undefined>; /** * Feature Profile ID */ readonly featureProfileId: pulumi.Output<string>; /** * Interval (seconds) not receiving a keepalive message declares a BGP peer down * - Range: `0`-`65535` * - Default value: `180` */ readonly holdTime: pulumi.Output<number | undefined>; /** * Variable name */ readonly holdTimeVariable: pulumi.Output<string | undefined>; /** * Set administrative distance for internal BGP routes * - Range: `1`-`255` * - Default value: `200` */ readonly internalRoutesDistance: pulumi.Output<number | undefined>; /** * Variable name */ readonly internalRoutesDistanceVariable: pulumi.Output<string | undefined>; /** * Aggregate prefixes in specific range */ readonly ipv4AggregateAddresses: pulumi.Output<outputs.ServiceRoutingBgpFeatureIpv4AggregateAddress[] | undefined>; /** * Set maximum number of parallel IBGP paths for multipath load sharing * - Range: `1`-`32` */ readonly ipv4EibgpMaximumPaths: pulumi.Output<number | undefined>; /** * Variable name */ readonly ipv4EibgpMaximumPathsVariable: pulumi.Output<string | undefined>; /** * Set BGP IPv4 neighbors */ readonly ipv4Neighbors: pulumi.Output<outputs.ServiceRoutingBgpFeatureIpv4Neighbor[] | undefined>; /** * Configure the networks for BGP to advertise */ readonly ipv4Networks: pulumi.Output<outputs.ServiceRoutingBgpFeatureIpv4Network[] | undefined>; /** * BGP Default Information Originate * - Default value: `false` */ readonly ipv4Originate: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly ipv4OriginateVariable: pulumi.Output<string | undefined>; /** * Redistribute routes into BGP */ readonly ipv4Redistributes: pulumi.Output<outputs.ServiceRoutingBgpFeatureIpv4Redistribute[] | undefined>; /** * Table map filtered or not * - Default value: `false` */ readonly ipv4TableMapFilter: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly ipv4TableMapFilterVariable: pulumi.Output<string | undefined>; readonly ipv4TableMapRoutePolicyId: pulumi.Output<string | undefined>; /** * IPv6 Aggregate prefixes in specific range */ readonly ipv6AggregateAddresses: pulumi.Output<outputs.ServiceRoutingBgpFeatureIpv6AggregateAddress[] | undefined>; /** * Set maximum number of parallel IBGP paths for multipath load sharing * - Range: `1`-`32` */ readonly ipv6EibgpMaximumPaths: pulumi.Output<number | undefined>; /** * Variable name */ readonly ipv6EibgpMaximumPathsVariable: pulumi.Output<string | undefined>; /** * Set BGP IPv6 neighbors */ readonly ipv6Neighbors: pulumi.Output<outputs.ServiceRoutingBgpFeatureIpv6Neighbor[] | undefined>; /** * Configure the networks for BGP to advertise */ readonly ipv6Networks: pulumi.Output<outputs.ServiceRoutingBgpFeatureIpv6Network[] | undefined>; /** * BGP Default Information Originate * - Default value: `false` */ readonly ipv6Originate: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly ipv6OriginateVariable: pulumi.Output<string | undefined>; /** * Redistribute routes into BGP */ readonly ipv6Redistributes: pulumi.Output<outputs.ServiceRoutingBgpFeatureIpv6Redistribute[] | undefined>; /** * Table map filtered or not * - Default value: `false` */ readonly ipv6TableMapFilter: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly ipv6TableMapFilterVariable: pulumi.Output<string | undefined>; readonly ipv6TableMapRoutePolicyId: pulumi.Output<string | undefined>; /** * Interval (seconds) of keepalive messages sent to its BGP peer * - Range: `0`-`65535` * - Default value: `60` */ readonly keepaliveTime: pulumi.Output<number | undefined>; /** * Variable name */ readonly keepaliveTimeVariable: pulumi.Output<string | undefined>; /** * Set administrative distance for local BGP routes * - Range: `1`-`255` * - Default value: `20` */ readonly localRoutesDistance: pulumi.Output<number | undefined>; /** * Variable name */ readonly localRoutesDistanceVariable: pulumi.Output<string | undefined>; /** * If path has no MED, consider it to be worst path when selecting active BGP paths * - Default value: `false` */ readonly missingMedAsWorst: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly missingMedAsWorstVariable: pulumi.Output<string | undefined>; /** * Ignore AS for multipath selection * - Default value: `false` */ readonly multipathRelax: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly multipathRelaxVariable: pulumi.Output<string | undefined>; /** * The name of the Feature */ readonly name: pulumi.Output<string>; /** * Propagate AS Path * - Default value: `false` */ readonly propagateAsPath: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly propagateAsPathVariable: pulumi.Output<string | undefined>; /** * Propagate Community * - Default value: `false` */ readonly propagateCommunity: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly propagateCommunityVariable: pulumi.Output<string | undefined>; /** * Configure BGP router identifier */ readonly routerId: pulumi.Output<string | undefined>; /** * Variable name */ readonly routerIdVariable: pulumi.Output<string | undefined>; /** * The version of the Feature */ readonly version: pulumi.Output<number>; /** * Create a ServiceRoutingBgpFeature resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ServiceRoutingBgpFeatureArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ServiceRoutingBgpFeature resources. */ export interface ServiceRoutingBgpFeatureState { /** * Compare MEDs from all ASs when selecting active BGP paths * - Default value: `false` */ alwaysCompareMed?: pulumi.Input<boolean>; /** * Variable name */ alwaysCompareMedVariable?: pulumi.Input<string>; /** * Set autonomous system number <1..4294967295> or <XX.YY> */ asNumber?: pulumi.Input<number>; /** * Variable name */ asNumberVariable?: pulumi.Input<string>; /** * Compare router IDs when selecting active BGP paths * - Default value: `false` */ compareRouterId?: pulumi.Input<boolean>; /** * Variable name */ compareRouterIdVariable?: pulumi.Input<string>; /** * The description of the Feature */ description?: pulumi.Input<string>; /** * Compare MEDs from all routes from same AS when selecting active BGP paths * - Default value: `false` */ deterministicMed?: pulumi.Input<boolean>; /** * Variable name */ deterministicMedVariable?: pulumi.Input<string>; /** * Set administrative distance for external BGP routes * - Range: `1`-`255` * - Default value: `20` */ externalRoutesDistance?: pulumi.Input<number>; /** * Variable name */ externalRoutesDistanceVariable?: pulumi.Input<string>; /** * Feature Profile ID */ featureProfileId?: pulumi.Input<string>; /** * Interval (seconds) not receiving a keepalive message declares a BGP peer down * - Range: `0`-`65535` * - Default value: `180` */ holdTime?: pulumi.Input<number>; /** * Variable name */ holdTimeVariable?: pulumi.Input<string>; /** * Set administrative distance for internal BGP routes * - Range: `1`-`255` * - Default value: `200` */ internalRoutesDistance?: pulumi.Input<number>; /** * Variable name */ internalRoutesDistanceVariable?: pulumi.Input<string>; /** * Aggregate prefixes in specific range */ ipv4AggregateAddresses?: pulumi.Input<pulumi.Input<inputs.ServiceRoutingBgpFeatureIpv4AggregateAddress>[]>; /** * Set maximum number of parallel IBGP paths for multipath load sharing * - Range: `1`-`32` */ ipv4EibgpMaximumPaths?: pulumi.Input<number>; /** * Variable name */ ipv4EibgpMaximumPathsVariable?: pulumi.Input<string>; /** * Set BGP IPv4 neighbors */ ipv4Neighbors?: pulumi.Input<pulumi.Input<inputs.ServiceRoutingBgpFeatureIpv4Neighbor>[]>; /** * Configure the networks for BGP to advertise */ ipv4Networks?: pulumi.Input<pulumi.Input<inputs.ServiceRoutingBgpFeatureIpv4Network>[]>; /** * BGP Default Information Originate * - Default value: `false` */ ipv4Originate?: pulumi.Input<boolean>; /** * Variable name */ ipv4OriginateVariable?: pulumi.Input<string>; /** * Redistribute routes into BGP */ ipv4Redistributes?: pulumi.Input<pulumi.Input<inputs.ServiceRoutingBgpFeatureIpv4Redistribute>[]>; /** * Table map filtered or not * - Default value: `false` */ ipv4TableMapFilter?: pulumi.Input<boolean>; /** * Variable name */ ipv4TableMapFilterVariable?: pulumi.Input<string>; ipv4TableMapRoutePolicyId?: pulumi.Input<string>; /** * IPv6 Aggregate prefixes in specific range */ ipv6AggregateAddresses?: pulumi.Input<pulumi.Input<inputs.ServiceRoutingBgpFeatureIpv6AggregateAddress>[]>; /** * Set maximum number of parallel IBGP paths for multipath load sharing * - Range: `1`-`32` */ ipv6EibgpMaximumPaths?: pulumi.Input<number>; /** * Variable name */ ipv6EibgpMaximumPathsVariable?: pulumi.Input<string>; /** * Set BGP IPv6 neighbors */ ipv6Neighbors?: pulumi.Input<pulumi.Input<inputs.ServiceRoutingBgpFeatureIpv6Neighbor>[]>; /** * Configure the networks for BGP to advertise */ ipv6Networks?: pulumi.Input<pulumi.Input<inputs.ServiceRoutingBgpFeatureIpv6Network>[]>; /** * BGP Default Information Originate * - Default value: `false` */ ipv6Originate?: pulumi.Input<boolean>; /** * Variable name */ ipv6OriginateVariable?: pulumi.Input<string>; /** * Redistribute routes into BGP */ ipv6Redistributes?: pulumi.Input<pulumi.Input<inputs.ServiceRoutingBgpFeatureIpv6Redistribute>[]>; /** * Table map filtered or not * - Default value: `false` */ ipv6TableMapFilter?: pulumi.Input<boolean>; /** * Variable name */ ipv6TableMapFilterVariable?: pulumi.Input<string>; ipv6TableMapRoutePolicyId?: pulumi.Input<string>; /** * Interval (seconds) of keepalive messages sent to its BGP peer * - Range: `0`-`65535` * - Default value: `60` */ keepaliveTime?: pulumi.Input<number>; /** * Variable name */ keepaliveTimeVariable?: pulumi.Input<string>; /** * Set administrative distance for local BGP routes * - Range: `1`-`255` * - Default value: `20` */ localRoutesDistance?: pulumi.Input<number>; /** * Variable name */ localRoutesDistanceVariable?: pulumi.Input<string>; /** * If path has no MED, consider it to be worst path when selecting active BGP paths * - Default value: `false` */ missingMedAsWorst?: pulumi.Input<boolean>; /** * Variable name */ missingMedAsWorstVariable?: pulumi.Input<string>; /** * Ignore AS for multipath selection * - Default value: `false` */ multipathRelax?: pulumi.Input<boolean>; /** * Variable name */ multipathRelaxVariable?: pulumi.Input<string>; /** * The name of the Feature */ name?: pulumi.Input<string>; /** * Propagate AS Path * - Default value: `false` */ propagateAsPath?: pulumi.Input<boolean>; /** * Variable name */ propagateAsPathVariable?: pulumi.Input<string>; /** * Propagate Community * - Default value: `false` */ propagateCommunity?: pulumi.Input<boolean>; /** * Variable name */ propagateCommunityVariable?: pulumi.Input<string>; /** * Configure BGP router identifier */ routerId?: pulumi.Input<string>; /** * Variable name */ routerIdVariable?: pulumi.Input<string>; /** * The version of the Feature */ version?: pulumi.Input<number>; } /** * The set of arguments for constructing a ServiceRoutingBgpFeature resource. */ export interface ServiceRoutingBgpFeatureArgs { /** * Compare MEDs from all ASs when selecting active BGP paths * - Default value: `false` */ alwaysCompareMed?: pulumi.Input<boolean>; /** * Variable name */ alwaysCompareMedVariable?: pulumi.Input<string>; /** * Set autonomous system number <1..4294967295> or <XX.YY> */ asNumber?: pulumi.Input<number>; /** * Variable name */ asNumberVariable?: pulumi.Input<string>; /** * Compare router IDs when selecting active BGP paths * - Default value: `false` */ compareRouterId?: pulumi.Input<boolean>; /** * Variable name */ compareRouterIdVariable?: pulumi.Input<string>; /** * The description of the Feature */ description?: pulumi.Input<string>; /** * Compare MEDs from all routes from same AS when selecting active BGP paths * - Default value: `false` */ deterministicMed?: pulumi.Input<boolean>; /** * Variable name */ deterministicMedVariable?: pulumi.Input<string>; /** * Set administrative distance for external BGP routes * - Range: `1`-`255` * - Default value: `20` */ externalRoutesDistance?: pulumi.Input<number>; /** * Variable name */ externalRoutesDistanceVariable?: pulumi.Input<string>; /** * Feature Profile ID */ featureProfileId: pulumi.Input<string>; /** * Interval (seconds) not receiving a keepalive message declares a BGP peer down * - Range: `0`-`65535` * - Default value: `180` */ holdTime?: pulumi.Input<number>; /** * Variable name */ holdTimeVariable?: pulumi.Input<string>; /** * Set administrative distance for internal BGP routes * - Range: `1`-`255` * - Default value: `200` */ internalRoutesDistance?: pulumi.Input<number>; /** * Variable name */ internalRoutesDistanceVariable?: pulumi.Input<string>; /** * Aggregate prefixes in specific range */ ipv4AggregateAddresses?: pulumi.Input<pulumi.Input<inputs.ServiceRoutingBgpFeatureIpv4AggregateAddress>[]>; /** * Set maximum number of parallel IBGP paths for multipath load sharing * - Range: `1`-`32` */ ipv4EibgpMaximumPaths?: pulumi.Input<number>; /** * Variable name */ ipv4EibgpMaximumPathsVariable?: pulumi.Input<string>; /** * Set BGP IPv4 neighbors */ ipv4Neighbors?: pulumi.Input<pulumi.Input<inputs.ServiceRoutingBgpFeatureIpv4Neighbor>[]>; /** * Configure the networks for BGP to advertise */ ipv4Networks?: pulumi.Input<pulumi.Input<inputs.ServiceRoutingBgpFeatureIpv4Network>[]>; /** * BGP Default Information Originate * - Default value: `false` */ ipv4Originate?: pulumi.Input<boolean>; /** * Variable name */ ipv4OriginateVariable?: pulumi.Input<string>; /** * Redistribute routes into BGP */ ipv4Redistributes?: pulumi.Input<pulumi.Input<inputs.ServiceRoutingBgpFeatureIpv4Redistribute>[]>; /** * Table map filtered or not * - Default value: `false` */ ipv4TableMapFilter?: pulumi.Input<boolean>; /** * Variable name */ ipv4TableMapFilterVariable?: pulumi.Input<string>; ipv4TableMapRoutePolicyId?: pulumi.Input<string>; /** * IPv6 Aggregate prefixes in specific range */ ipv6AggregateAddresses?: pulumi.Input<pulumi.Input<inputs.ServiceRoutingBgpFeatureIpv6AggregateAddress>[]>; /** * Set maximum number of parallel IBGP paths for multipath load sharing * - Range: `1`-`32` */ ipv6EibgpMaximumPaths?: pulumi.Input<number>; /** * Variable name */ ipv6EibgpMaximumPathsVariable?: pulumi.Input<string>; /** * Set BGP IPv6 neighbors */ ipv6Neighbors?: pulumi.Input<pulumi.Input<inputs.ServiceRoutingBgpFeatureIpv6Neighbor>[]>; /** * Configure the networks for BGP to advertise */ ipv6Networks?: pulumi.Input<pulumi.Input<inputs.ServiceRoutingBgpFeatureIpv6Network>[]>; /** * BGP Default Information Originate * - Default value: `false` */ ipv6Originate?: pulumi.Input<boolean>; /** * Variable name */ ipv6OriginateVariable?: pulumi.Input<string>; /** * Redistribute routes into BGP */ ipv6Redistributes?: pulumi.Input<pulumi.Input<inputs.ServiceRoutingBgpFeatureIpv6Redistribute>[]>; /** * Table map filtered or not * - Default value: `false` */ ipv6TableMapFilter?: pulumi.Input<boolean>; /** * Variable name */ ipv6TableMapFilterVariable?: pulumi.Input<string>; ipv6TableMapRoutePolicyId?: pulumi.Input<string>; /** * Interval (seconds) of keepalive messages sent to its BGP peer * - Range: `0`-`65535` * - Default value: `60` */ keepaliveTime?: pulumi.Input<number>; /** * Variable name */ keepaliveTimeVariable?: pulumi.Input<string>; /** * Set administrative distance for local BGP routes * - Range: `1`-`255` * - Default value: `20` */ localRoutesDistance?: pulumi.Input<number>; /** * Variable name */ localRoutesDistanceVariable?: pulumi.Input<string>; /** * If path has no MED, consider it to be worst path when selecting active BGP paths * - Default value: `false` */ missingMedAsWorst?: pulumi.Input<boolean>; /** * Variable name */ missingMedAsWorstVariable?: pulumi.Input<string>; /** * Ignore AS for multipath selection * - Default value: `false` */ multipathRelax?: pulumi.Input<boolean>; /** * Variable name */ multipathRelaxVariable?: pulumi.Input<string>; /** * The name of the Feature */ name?: pulumi.Input<string>; /** * Propagate AS Path * - Default value: `false` */ propagateAsPath?: pulumi.Input<boolean>; /** * Variable name */ propagateAsPathVariable?: pulumi.Input<string>; /** * Propagate Community * - Default value: `false` */ propagateCommunity?: pulumi.Input<boolean>; /** * Variable name */ propagateCommunityVariable?: pulumi.Input<string>; /** * Configure BGP router identifier */ routerId?: pulumi.Input<string>; /** * Variable name */ routerIdVariable?: pulumi.Input<string>; }