UNPKG

@pulumi/sdwan

Version:

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

718 lines (717 loc) 21.8 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * This resource can manage a Cisco BGP feature template. * - Minimum SD-WAN Manager version: `15.0.0` * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as sdwan from "@pulumi/sdwan"; * * const example = new sdwan.CiscoBgpFeatureTemplate("example", { * name: "Example", * description: "My Example", * deviceTypes: ["vedge-C8000V"], * asNumber: "65000", * shutdown: true, * routerId: "1.2.3.4", * propagateAspath: true, * propagateCommunity: true, * ipv4RouteTargets: [{ * vpnId: 1, * "export": [{ * asnIp: "10:100", * }], * "import": [{ * asnIp: "10:100", * }], * }], * ipv6RouteTargets: [{ * vpnId: 1, * "export": [{ * asnIp: "10:100", * }], * "import": [{ * asnIp: "10:100", * }], * }], * mplsInterfaces: [{ * interfaceName: "GigabitEthernet0", * }], * distanceExternal: 30, * distanceInternal: 210, * distanceLocal: 30, * keepalive: 90, * holdtime: 220, * alwaysCompareMed: true, * deterministicMed: true, * missingMedWorst: true, * compareRouterId: true, * multipathRelax: true, * addressFamilies: [{ * familyType: "ipv4-unicast", * ipv4AggregateAddresses: [{ * prefix: "10.0.0.0/8", * asSetPath: true, * summaryOnly: true, * }], * ipv4Networks: [{ * prefix: "10.2.2.0/24", * }], * maximumPaths: 8, * defaultInformationOriginate: true, * tableMapPolicy: "MAP1", * tableMapFilter: true, * redistributeRoutes: [{ * protocol: "ospf", * routePolicy: "POLICY1", * }], * }], * ipv4Neighbors: [{ * address: "10.2.2.2", * description: "My neighbor", * shutdown: true, * remoteAs: "65001", * keepalive: 30, * holdtime: 90, * sourceInterface: "GigabitEthernet1", * nextHopSelf: true, * sendCommunity: false, * sendExtCommunity: false, * ebgpMultihop: 10, * password: "cisco123", * sendLabel: true, * sendLabelExplicit: true, * asOverride: true, * allowAsIn: 5, * addressFamilies: [{ * familyType: "ipv4-unicast", * maximumPrefixes: 10000, * maximumPrefixesThreshold: 80, * maximumPrefixesRestart: 180, * maximumPrefixesWarningOnly: true, * routePolicies: [{ * direction: "in", * policyName: "POLICY1", * }], * }], * }], * ipv6Neighbors: [{ * address: "2001:1::1", * description: "My neighbor", * shutdown: true, * remoteAs: "65001", * keepalive: 30, * holdtime: 90, * sourceInterface: "GigabitEthernet1", * nextHopSelf: true, * sendCommunity: false, * sendExtCommunity: false, * ebgpMultihop: 10, * password: "cisco123", * sendLabel: true, * sendLabelExplicit: true, * asOverride: true, * allowAsIn: 5, * addressFamilies: [{ * familyType: "ipv6-unicast", * maximumPrefixes: 10000, * maximumPrefixesThreshold: 80, * maximumPrefixesRestart: 180, * maximumPrefixesWarningOnly: true, * routePolicies: [{ * direction: "in", * policyName: "POLICY1", * }], * }], * }], * }); * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * ```sh * $ pulumi import sdwan:index/ciscoBgpFeatureTemplate:CiscoBgpFeatureTemplate example "f6b2c44c-693c-4763-b010-895aa3d236bd" * ``` */ export declare class CiscoBgpFeatureTemplate extends pulumi.CustomResource { /** * Get an existing CiscoBgpFeatureTemplate 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?: CiscoBgpFeatureTemplateState, opts?: pulumi.CustomResourceOptions): CiscoBgpFeatureTemplate; /** * Returns true if the given object is an instance of CiscoBgpFeatureTemplate. 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 CiscoBgpFeatureTemplate; /** * Set BGP address family */ readonly addressFamilies: pulumi.Output<outputs.CiscoBgpFeatureTemplateAddressFamily[] | undefined>; /** * 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<string | 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 template */ readonly description: pulumi.Output<string>; /** * 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>; /** * List of supported device types * - Choices: `vedge-C8000V`, `vedge-C8300-1N1S-4T2X`, `vedge-C8300-1N1S-6T`, `vedge-C8300-2N2S-6T`, `vedge-C8300-2N2S-4T2X`, `vedge-C8500-12X4QC`, `vedge-C8500-12X`, `vedge-C8500-20X6C`, `vedge-C8500L-8S4X`, `vedge-C8200-1N-4T`, `vedge-C8200L-1N-4T` */ readonly deviceTypes: pulumi.Output<string[]>; /** * Set administrative distance for external BGP routes * - Range: `1`-`255` * - Default value: `20` */ readonly distanceExternal: pulumi.Output<number | undefined>; /** * Variable name */ readonly distanceExternalVariable: pulumi.Output<string | undefined>; /** * Set administrative distance for internal BGP routes * - Range: `1`-`255` * - Default value: `200` */ readonly distanceInternal: pulumi.Output<number | undefined>; /** * Variable name */ readonly distanceInternalVariable: pulumi.Output<string | undefined>; /** * Set administrative distance for local BGP routes * - Range: `1`-`255` * - Default value: `20` */ readonly distanceLocal: pulumi.Output<number | undefined>; /** * Variable name */ readonly distanceLocalVariable: pulumi.Output<string | undefined>; /** * Set the interval when BGP considers a neighbor to be down * - Range: `0`-`65535` * - Default value: `180` */ readonly holdtime: pulumi.Output<number | undefined>; /** * Variable name */ readonly holdtimeVariable: pulumi.Output<string | undefined>; /** * Set BGP neighbors */ readonly ipv4Neighbors: pulumi.Output<outputs.CiscoBgpFeatureTemplateIpv4Neighbor[] | undefined>; /** * Router Target for IPV4 */ readonly ipv4RouteTargets: pulumi.Output<outputs.CiscoBgpFeatureTemplateIpv4RouteTarget[] | undefined>; /** * Set BGP IPv6 neighbors */ readonly ipv6Neighbors: pulumi.Output<outputs.CiscoBgpFeatureTemplateIpv6Neighbor[] | undefined>; /** * Router Target for IPV6 */ readonly ipv6RouteTargets: pulumi.Output<outputs.CiscoBgpFeatureTemplateIpv6RouteTarget[] | undefined>; /** * Set how often keepalive messages are sent to BGP peer * - Range: `0`-`65535` * - Default value: `60` */ readonly keepalive: pulumi.Output<number | undefined>; /** * Variable name */ readonly keepaliveVariable: pulumi.Output<string | undefined>; /** * If path has no MED, consider it to be worst path when selecting active BGP paths * - Default value: `false` */ readonly missingMedWorst: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly missingMedWorstVariable: pulumi.Output<string | undefined>; /** * MPLS BGP Interface */ readonly mplsInterfaces: pulumi.Output<outputs.CiscoBgpFeatureTemplateMplsInterface[] | 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 template */ 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>; /** * Enable or disable BGP * - Default value: `false` */ readonly shutdown: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly shutdownVariable: pulumi.Output<string | undefined>; /** * The template type */ readonly templateType: pulumi.Output<string>; /** * The version of the feature template */ readonly version: pulumi.Output<number>; /** * Create a CiscoBgpFeatureTemplate 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: CiscoBgpFeatureTemplateArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering CiscoBgpFeatureTemplate resources. */ export interface CiscoBgpFeatureTemplateState { /** * Set BGP address family */ addressFamilies?: pulumi.Input<pulumi.Input<inputs.CiscoBgpFeatureTemplateAddressFamily>[]>; /** * 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<string>; /** * 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 template */ 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>; /** * List of supported device types * - Choices: `vedge-C8000V`, `vedge-C8300-1N1S-4T2X`, `vedge-C8300-1N1S-6T`, `vedge-C8300-2N2S-6T`, `vedge-C8300-2N2S-4T2X`, `vedge-C8500-12X4QC`, `vedge-C8500-12X`, `vedge-C8500-20X6C`, `vedge-C8500L-8S4X`, `vedge-C8200-1N-4T`, `vedge-C8200L-1N-4T` */ deviceTypes?: pulumi.Input<pulumi.Input<string>[]>; /** * Set administrative distance for external BGP routes * - Range: `1`-`255` * - Default value: `20` */ distanceExternal?: pulumi.Input<number>; /** * Variable name */ distanceExternalVariable?: pulumi.Input<string>; /** * Set administrative distance for internal BGP routes * - Range: `1`-`255` * - Default value: `200` */ distanceInternal?: pulumi.Input<number>; /** * Variable name */ distanceInternalVariable?: pulumi.Input<string>; /** * Set administrative distance for local BGP routes * - Range: `1`-`255` * - Default value: `20` */ distanceLocal?: pulumi.Input<number>; /** * Variable name */ distanceLocalVariable?: pulumi.Input<string>; /** * Set the interval when BGP considers a neighbor to be down * - Range: `0`-`65535` * - Default value: `180` */ holdtime?: pulumi.Input<number>; /** * Variable name */ holdtimeVariable?: pulumi.Input<string>; /** * Set BGP neighbors */ ipv4Neighbors?: pulumi.Input<pulumi.Input<inputs.CiscoBgpFeatureTemplateIpv4Neighbor>[]>; /** * Router Target for IPV4 */ ipv4RouteTargets?: pulumi.Input<pulumi.Input<inputs.CiscoBgpFeatureTemplateIpv4RouteTarget>[]>; /** * Set BGP IPv6 neighbors */ ipv6Neighbors?: pulumi.Input<pulumi.Input<inputs.CiscoBgpFeatureTemplateIpv6Neighbor>[]>; /** * Router Target for IPV6 */ ipv6RouteTargets?: pulumi.Input<pulumi.Input<inputs.CiscoBgpFeatureTemplateIpv6RouteTarget>[]>; /** * Set how often keepalive messages are sent to BGP peer * - Range: `0`-`65535` * - Default value: `60` */ keepalive?: pulumi.Input<number>; /** * Variable name */ keepaliveVariable?: pulumi.Input<string>; /** * If path has no MED, consider it to be worst path when selecting active BGP paths * - Default value: `false` */ missingMedWorst?: pulumi.Input<boolean>; /** * Variable name */ missingMedWorstVariable?: pulumi.Input<string>; /** * MPLS BGP Interface */ mplsInterfaces?: pulumi.Input<pulumi.Input<inputs.CiscoBgpFeatureTemplateMplsInterface>[]>; /** * Ignore AS for multipath selection * - Default value: `false` */ multipathRelax?: pulumi.Input<boolean>; /** * Variable name */ multipathRelaxVariable?: pulumi.Input<string>; /** * The name of the feature template */ 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>; /** * Enable or disable BGP * - Default value: `false` */ shutdown?: pulumi.Input<boolean>; /** * Variable name */ shutdownVariable?: pulumi.Input<string>; /** * The template type */ templateType?: pulumi.Input<string>; /** * The version of the feature template */ version?: pulumi.Input<number>; } /** * The set of arguments for constructing a CiscoBgpFeatureTemplate resource. */ export interface CiscoBgpFeatureTemplateArgs { /** * Set BGP address family */ addressFamilies?: pulumi.Input<pulumi.Input<inputs.CiscoBgpFeatureTemplateAddressFamily>[]>; /** * 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<string>; /** * 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 template */ 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>; /** * List of supported device types * - Choices: `vedge-C8000V`, `vedge-C8300-1N1S-4T2X`, `vedge-C8300-1N1S-6T`, `vedge-C8300-2N2S-6T`, `vedge-C8300-2N2S-4T2X`, `vedge-C8500-12X4QC`, `vedge-C8500-12X`, `vedge-C8500-20X6C`, `vedge-C8500L-8S4X`, `vedge-C8200-1N-4T`, `vedge-C8200L-1N-4T` */ deviceTypes: pulumi.Input<pulumi.Input<string>[]>; /** * Set administrative distance for external BGP routes * - Range: `1`-`255` * - Default value: `20` */ distanceExternal?: pulumi.Input<number>; /** * Variable name */ distanceExternalVariable?: pulumi.Input<string>; /** * Set administrative distance for internal BGP routes * - Range: `1`-`255` * - Default value: `200` */ distanceInternal?: pulumi.Input<number>; /** * Variable name */ distanceInternalVariable?: pulumi.Input<string>; /** * Set administrative distance for local BGP routes * - Range: `1`-`255` * - Default value: `20` */ distanceLocal?: pulumi.Input<number>; /** * Variable name */ distanceLocalVariable?: pulumi.Input<string>; /** * Set the interval when BGP considers a neighbor to be down * - Range: `0`-`65535` * - Default value: `180` */ holdtime?: pulumi.Input<number>; /** * Variable name */ holdtimeVariable?: pulumi.Input<string>; /** * Set BGP neighbors */ ipv4Neighbors?: pulumi.Input<pulumi.Input<inputs.CiscoBgpFeatureTemplateIpv4Neighbor>[]>; /** * Router Target for IPV4 */ ipv4RouteTargets?: pulumi.Input<pulumi.Input<inputs.CiscoBgpFeatureTemplateIpv4RouteTarget>[]>; /** * Set BGP IPv6 neighbors */ ipv6Neighbors?: pulumi.Input<pulumi.Input<inputs.CiscoBgpFeatureTemplateIpv6Neighbor>[]>; /** * Router Target for IPV6 */ ipv6RouteTargets?: pulumi.Input<pulumi.Input<inputs.CiscoBgpFeatureTemplateIpv6RouteTarget>[]>; /** * Set how often keepalive messages are sent to BGP peer * - Range: `0`-`65535` * - Default value: `60` */ keepalive?: pulumi.Input<number>; /** * Variable name */ keepaliveVariable?: pulumi.Input<string>; /** * If path has no MED, consider it to be worst path when selecting active BGP paths * - Default value: `false` */ missingMedWorst?: pulumi.Input<boolean>; /** * Variable name */ missingMedWorstVariable?: pulumi.Input<string>; /** * MPLS BGP Interface */ mplsInterfaces?: pulumi.Input<pulumi.Input<inputs.CiscoBgpFeatureTemplateMplsInterface>[]>; /** * Ignore AS for multipath selection * - Default value: `false` */ multipathRelax?: pulumi.Input<boolean>; /** * Variable name */ multipathRelaxVariable?: pulumi.Input<string>; /** * The name of the feature template */ 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>; /** * Enable or disable BGP * - Default value: `false` */ shutdown?: pulumi.Input<boolean>; /** * Variable name */ shutdownVariable?: pulumi.Input<string>; }