@pulumi/sdwan
Version:
A Pulumi package for managing resources on Cisco Catalyst SD-WAN.. Based on terraform-provider-sdwan: version v0.4.1
272 lines • 14.2 kB
JavaScript
;
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.ServiceRoutingBgpFeature = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("./utilities");
/**
* 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",
* maxNumberOfPrefixes: 2000,
* threshold: 75,
* policyType: "restart",
* 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"
* ```
*/
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, id, state, opts) {
return new ServiceRoutingBgpFeature(name, state, { ...opts, id: id });
}
/**
* 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) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === ServiceRoutingBgpFeature.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["alwaysCompareMed"] = state?.alwaysCompareMed;
resourceInputs["alwaysCompareMedVariable"] = state?.alwaysCompareMedVariable;
resourceInputs["asNumber"] = state?.asNumber;
resourceInputs["asNumberVariable"] = state?.asNumberVariable;
resourceInputs["compareRouterId"] = state?.compareRouterId;
resourceInputs["compareRouterIdVariable"] = state?.compareRouterIdVariable;
resourceInputs["description"] = state?.description;
resourceInputs["deterministicMed"] = state?.deterministicMed;
resourceInputs["deterministicMedVariable"] = state?.deterministicMedVariable;
resourceInputs["externalRoutesDistance"] = state?.externalRoutesDistance;
resourceInputs["externalRoutesDistanceVariable"] = state?.externalRoutesDistanceVariable;
resourceInputs["featureProfileId"] = state?.featureProfileId;
resourceInputs["holdTime"] = state?.holdTime;
resourceInputs["holdTimeVariable"] = state?.holdTimeVariable;
resourceInputs["internalRoutesDistance"] = state?.internalRoutesDistance;
resourceInputs["internalRoutesDistanceVariable"] = state?.internalRoutesDistanceVariable;
resourceInputs["ipv4AggregateAddresses"] = state?.ipv4AggregateAddresses;
resourceInputs["ipv4EibgpMaximumPaths"] = state?.ipv4EibgpMaximumPaths;
resourceInputs["ipv4EibgpMaximumPathsVariable"] = state?.ipv4EibgpMaximumPathsVariable;
resourceInputs["ipv4Neighbors"] = state?.ipv4Neighbors;
resourceInputs["ipv4Networks"] = state?.ipv4Networks;
resourceInputs["ipv4Originate"] = state?.ipv4Originate;
resourceInputs["ipv4OriginateVariable"] = state?.ipv4OriginateVariable;
resourceInputs["ipv4Redistributes"] = state?.ipv4Redistributes;
resourceInputs["ipv4TableMapFilter"] = state?.ipv4TableMapFilter;
resourceInputs["ipv4TableMapFilterVariable"] = state?.ipv4TableMapFilterVariable;
resourceInputs["ipv4TableMapRoutePolicyId"] = state?.ipv4TableMapRoutePolicyId;
resourceInputs["ipv6AggregateAddresses"] = state?.ipv6AggregateAddresses;
resourceInputs["ipv6EibgpMaximumPaths"] = state?.ipv6EibgpMaximumPaths;
resourceInputs["ipv6EibgpMaximumPathsVariable"] = state?.ipv6EibgpMaximumPathsVariable;
resourceInputs["ipv6Neighbors"] = state?.ipv6Neighbors;
resourceInputs["ipv6Networks"] = state?.ipv6Networks;
resourceInputs["ipv6Originate"] = state?.ipv6Originate;
resourceInputs["ipv6OriginateVariable"] = state?.ipv6OriginateVariable;
resourceInputs["ipv6Redistributes"] = state?.ipv6Redistributes;
resourceInputs["ipv6TableMapFilter"] = state?.ipv6TableMapFilter;
resourceInputs["ipv6TableMapFilterVariable"] = state?.ipv6TableMapFilterVariable;
resourceInputs["ipv6TableMapRoutePolicyId"] = state?.ipv6TableMapRoutePolicyId;
resourceInputs["keepaliveTime"] = state?.keepaliveTime;
resourceInputs["keepaliveTimeVariable"] = state?.keepaliveTimeVariable;
resourceInputs["localRoutesDistance"] = state?.localRoutesDistance;
resourceInputs["localRoutesDistanceVariable"] = state?.localRoutesDistanceVariable;
resourceInputs["missingMedAsWorst"] = state?.missingMedAsWorst;
resourceInputs["missingMedAsWorstVariable"] = state?.missingMedAsWorstVariable;
resourceInputs["multipathRelax"] = state?.multipathRelax;
resourceInputs["multipathRelaxVariable"] = state?.multipathRelaxVariable;
resourceInputs["name"] = state?.name;
resourceInputs["propagateAsPath"] = state?.propagateAsPath;
resourceInputs["propagateAsPathVariable"] = state?.propagateAsPathVariable;
resourceInputs["propagateCommunity"] = state?.propagateCommunity;
resourceInputs["propagateCommunityVariable"] = state?.propagateCommunityVariable;
resourceInputs["routerId"] = state?.routerId;
resourceInputs["routerIdVariable"] = state?.routerIdVariable;
resourceInputs["version"] = state?.version;
}
else {
const args = argsOrState;
if (args?.featureProfileId === undefined && !opts.urn) {
throw new Error("Missing required property 'featureProfileId'");
}
resourceInputs["alwaysCompareMed"] = args?.alwaysCompareMed;
resourceInputs["alwaysCompareMedVariable"] = args?.alwaysCompareMedVariable;
resourceInputs["asNumber"] = args?.asNumber;
resourceInputs["asNumberVariable"] = args?.asNumberVariable;
resourceInputs["compareRouterId"] = args?.compareRouterId;
resourceInputs["compareRouterIdVariable"] = args?.compareRouterIdVariable;
resourceInputs["description"] = args?.description;
resourceInputs["deterministicMed"] = args?.deterministicMed;
resourceInputs["deterministicMedVariable"] = args?.deterministicMedVariable;
resourceInputs["externalRoutesDistance"] = args?.externalRoutesDistance;
resourceInputs["externalRoutesDistanceVariable"] = args?.externalRoutesDistanceVariable;
resourceInputs["featureProfileId"] = args?.featureProfileId;
resourceInputs["holdTime"] = args?.holdTime;
resourceInputs["holdTimeVariable"] = args?.holdTimeVariable;
resourceInputs["internalRoutesDistance"] = args?.internalRoutesDistance;
resourceInputs["internalRoutesDistanceVariable"] = args?.internalRoutesDistanceVariable;
resourceInputs["ipv4AggregateAddresses"] = args?.ipv4AggregateAddresses;
resourceInputs["ipv4EibgpMaximumPaths"] = args?.ipv4EibgpMaximumPaths;
resourceInputs["ipv4EibgpMaximumPathsVariable"] = args?.ipv4EibgpMaximumPathsVariable;
resourceInputs["ipv4Neighbors"] = args?.ipv4Neighbors;
resourceInputs["ipv4Networks"] = args?.ipv4Networks;
resourceInputs["ipv4Originate"] = args?.ipv4Originate;
resourceInputs["ipv4OriginateVariable"] = args?.ipv4OriginateVariable;
resourceInputs["ipv4Redistributes"] = args?.ipv4Redistributes;
resourceInputs["ipv4TableMapFilter"] = args?.ipv4TableMapFilter;
resourceInputs["ipv4TableMapFilterVariable"] = args?.ipv4TableMapFilterVariable;
resourceInputs["ipv4TableMapRoutePolicyId"] = args?.ipv4TableMapRoutePolicyId;
resourceInputs["ipv6AggregateAddresses"] = args?.ipv6AggregateAddresses;
resourceInputs["ipv6EibgpMaximumPaths"] = args?.ipv6EibgpMaximumPaths;
resourceInputs["ipv6EibgpMaximumPathsVariable"] = args?.ipv6EibgpMaximumPathsVariable;
resourceInputs["ipv6Neighbors"] = args?.ipv6Neighbors;
resourceInputs["ipv6Networks"] = args?.ipv6Networks;
resourceInputs["ipv6Originate"] = args?.ipv6Originate;
resourceInputs["ipv6OriginateVariable"] = args?.ipv6OriginateVariable;
resourceInputs["ipv6Redistributes"] = args?.ipv6Redistributes;
resourceInputs["ipv6TableMapFilter"] = args?.ipv6TableMapFilter;
resourceInputs["ipv6TableMapFilterVariable"] = args?.ipv6TableMapFilterVariable;
resourceInputs["ipv6TableMapRoutePolicyId"] = args?.ipv6TableMapRoutePolicyId;
resourceInputs["keepaliveTime"] = args?.keepaliveTime;
resourceInputs["keepaliveTimeVariable"] = args?.keepaliveTimeVariable;
resourceInputs["localRoutesDistance"] = args?.localRoutesDistance;
resourceInputs["localRoutesDistanceVariable"] = args?.localRoutesDistanceVariable;
resourceInputs["missingMedAsWorst"] = args?.missingMedAsWorst;
resourceInputs["missingMedAsWorstVariable"] = args?.missingMedAsWorstVariable;
resourceInputs["multipathRelax"] = args?.multipathRelax;
resourceInputs["multipathRelaxVariable"] = args?.multipathRelaxVariable;
resourceInputs["name"] = args?.name;
resourceInputs["propagateAsPath"] = args?.propagateAsPath;
resourceInputs["propagateAsPathVariable"] = args?.propagateAsPathVariable;
resourceInputs["propagateCommunity"] = args?.propagateCommunity;
resourceInputs["propagateCommunityVariable"] = args?.propagateCommunityVariable;
resourceInputs["routerId"] = args?.routerId;
resourceInputs["routerIdVariable"] = args?.routerIdVariable;
resourceInputs["version"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(ServiceRoutingBgpFeature.__pulumiType, name, resourceInputs, opts);
}
}
exports.ServiceRoutingBgpFeature = ServiceRoutingBgpFeature;
/** @internal */
ServiceRoutingBgpFeature.__pulumiType = 'sdwan:index/serviceRoutingBgpFeature:ServiceRoutingBgpFeature';
//# sourceMappingURL=serviceRoutingBgpFeature.js.map