@pulumi/sdwan
Version:
A Pulumi package for managing resources on Cisco Catalyst SD-WAN.. Based on terraform-provider-sdwan: version v0.4.1
234 lines • 11.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.VpnInterfaceSviFeatureTemplate = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("./utilities");
/**
* This resource can manage a VPN Interface SVI 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.VpnInterfaceSviFeatureTemplate("example", {
* name: "Example",
* description: "My Example",
* deviceTypes: ["vedge-C8000V"],
* ifName: "Vlan100",
* interfaceDescription: "VPN Interface SVI",
* ipv4Address: "2.3.4.5",
* ipv4SecondaryAddresses: [{
* ipv4Address: "4.5.6.7",
* }],
* ipv6Address: "2001:db8:85a3::8a2e:370:7334",
* ipv6DhcpClient: false,
* ipv6DhcpDistance: 101,
* ipv6DhcpRapidCommit: false,
* ipv6SecondaryAddresses: [{
* ipv6Address: "2001:db8:85a3::8a2e:370:7334",
* }],
* ipv4DhcpHelpers: ["7.7.7.7"],
* ipv6DhcpHelpers: [{
* address: "2001:db8:85a3::8a2e:370:7334",
* vpnId: 100,
* }],
* ipDirectedBroadcast: true,
* mtu: 1500,
* ipMtu: 1500,
* tcpMssAdjust: 1400,
* shutdown: false,
* arpTimeout: 100,
* ipv4AccessLists: [{
* direction: "in",
* aclName: "ACL1",
* }],
* ipv6AccessLists: [{
* direction: "in",
* aclName: "ACL2",
* }],
* policers: [{
* direction: "in",
* policerName: "POLICER1",
* }],
* staticArpEntries: [{
* ipv4Address: "3.4.4.5",
* macAddress: "00:00:00:00:00:00",
* }],
* ipv4Vrrps: [{
* groupId: 1,
* priority: 100,
* timer: 1000,
* trackOmp: true,
* trackPrefixList: "TRACK1",
* ipv4Address: "5.6.7.8",
* ipv4SecondaryAddresses: [{
* ipv4Address: "8.8.8.8",
* }],
* tlocPreferenceChange: true,
* tlocPreferenceChangeValue: 100,
* trackingObjects: [{
* name: 100,
* trackAction: "decrement",
* decrementValue: 10,
* }],
* }],
* ipv6Vrrps: [{
* groupId: 1,
* priority: 100,
* timer: 1000,
* trackOmp: true,
* trackPrefixList: "TRACK1",
* ipv6Addresses: [{
* linkLocalAddress: "FE80::1/64",
* prefix: "2001:db8:85a3::8a2e:370:7335",
* }],
* ipv6SecondaryAddresses: [{
* prefix: "2001:db8:85a3::8a2e:370:7336",
* }],
* }],
* });
* ```
*
* ## Import
*
* The `pulumi import` command can be used, for example:
*
* ```sh
* $ pulumi import sdwan:index/vpnInterfaceSviFeatureTemplate:VpnInterfaceSviFeatureTemplate example "f6b2c44c-693c-4763-b010-895aa3d236bd"
* ```
*/
class VpnInterfaceSviFeatureTemplate extends pulumi.CustomResource {
/**
* Get an existing VpnInterfaceSviFeatureTemplate 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 VpnInterfaceSviFeatureTemplate(name, state, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of VpnInterfaceSviFeatureTemplate. 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'] === VpnInterfaceSviFeatureTemplate.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["arpTimeout"] = state?.arpTimeout;
resourceInputs["arpTimeoutVariable"] = state?.arpTimeoutVariable;
resourceInputs["description"] = state?.description;
resourceInputs["deviceTypes"] = state?.deviceTypes;
resourceInputs["ifName"] = state?.ifName;
resourceInputs["ifNameVariable"] = state?.ifNameVariable;
resourceInputs["interfaceDescription"] = state?.interfaceDescription;
resourceInputs["interfaceDescriptionVariable"] = state?.interfaceDescriptionVariable;
resourceInputs["ipDirectedBroadcast"] = state?.ipDirectedBroadcast;
resourceInputs["ipDirectedBroadcastVariable"] = state?.ipDirectedBroadcastVariable;
resourceInputs["ipMtu"] = state?.ipMtu;
resourceInputs["ipMtuVariable"] = state?.ipMtuVariable;
resourceInputs["ipv4AccessLists"] = state?.ipv4AccessLists;
resourceInputs["ipv4Address"] = state?.ipv4Address;
resourceInputs["ipv4AddressVariable"] = state?.ipv4AddressVariable;
resourceInputs["ipv4DhcpHelperVariable"] = state?.ipv4DhcpHelperVariable;
resourceInputs["ipv4DhcpHelpers"] = state?.ipv4DhcpHelpers;
resourceInputs["ipv4SecondaryAddresses"] = state?.ipv4SecondaryAddresses;
resourceInputs["ipv4Vrrps"] = state?.ipv4Vrrps;
resourceInputs["ipv6AccessLists"] = state?.ipv6AccessLists;
resourceInputs["ipv6Address"] = state?.ipv6Address;
resourceInputs["ipv6AddressVariable"] = state?.ipv6AddressVariable;
resourceInputs["ipv6DhcpClient"] = state?.ipv6DhcpClient;
resourceInputs["ipv6DhcpClientVariable"] = state?.ipv6DhcpClientVariable;
resourceInputs["ipv6DhcpDistance"] = state?.ipv6DhcpDistance;
resourceInputs["ipv6DhcpDistanceVariable"] = state?.ipv6DhcpDistanceVariable;
resourceInputs["ipv6DhcpHelpers"] = state?.ipv6DhcpHelpers;
resourceInputs["ipv6DhcpRapidCommit"] = state?.ipv6DhcpRapidCommit;
resourceInputs["ipv6DhcpRapidCommitVariable"] = state?.ipv6DhcpRapidCommitVariable;
resourceInputs["ipv6SecondaryAddresses"] = state?.ipv6SecondaryAddresses;
resourceInputs["ipv6Vrrps"] = state?.ipv6Vrrps;
resourceInputs["mtu"] = state?.mtu;
resourceInputs["mtuVariable"] = state?.mtuVariable;
resourceInputs["name"] = state?.name;
resourceInputs["policers"] = state?.policers;
resourceInputs["shutdown"] = state?.shutdown;
resourceInputs["shutdownVariable"] = state?.shutdownVariable;
resourceInputs["staticArpEntries"] = state?.staticArpEntries;
resourceInputs["tcpMssAdjust"] = state?.tcpMssAdjust;
resourceInputs["tcpMssAdjustVariable"] = state?.tcpMssAdjustVariable;
resourceInputs["templateType"] = state?.templateType;
resourceInputs["version"] = state?.version;
}
else {
const args = argsOrState;
if (args?.description === undefined && !opts.urn) {
throw new Error("Missing required property 'description'");
}
if (args?.deviceTypes === undefined && !opts.urn) {
throw new Error("Missing required property 'deviceTypes'");
}
resourceInputs["arpTimeout"] = args?.arpTimeout;
resourceInputs["arpTimeoutVariable"] = args?.arpTimeoutVariable;
resourceInputs["description"] = args?.description;
resourceInputs["deviceTypes"] = args?.deviceTypes;
resourceInputs["ifName"] = args?.ifName;
resourceInputs["ifNameVariable"] = args?.ifNameVariable;
resourceInputs["interfaceDescription"] = args?.interfaceDescription;
resourceInputs["interfaceDescriptionVariable"] = args?.interfaceDescriptionVariable;
resourceInputs["ipDirectedBroadcast"] = args?.ipDirectedBroadcast;
resourceInputs["ipDirectedBroadcastVariable"] = args?.ipDirectedBroadcastVariable;
resourceInputs["ipMtu"] = args?.ipMtu;
resourceInputs["ipMtuVariable"] = args?.ipMtuVariable;
resourceInputs["ipv4AccessLists"] = args?.ipv4AccessLists;
resourceInputs["ipv4Address"] = args?.ipv4Address;
resourceInputs["ipv4AddressVariable"] = args?.ipv4AddressVariable;
resourceInputs["ipv4DhcpHelperVariable"] = args?.ipv4DhcpHelperVariable;
resourceInputs["ipv4DhcpHelpers"] = args?.ipv4DhcpHelpers;
resourceInputs["ipv4SecondaryAddresses"] = args?.ipv4SecondaryAddresses;
resourceInputs["ipv4Vrrps"] = args?.ipv4Vrrps;
resourceInputs["ipv6AccessLists"] = args?.ipv6AccessLists;
resourceInputs["ipv6Address"] = args?.ipv6Address;
resourceInputs["ipv6AddressVariable"] = args?.ipv6AddressVariable;
resourceInputs["ipv6DhcpClient"] = args?.ipv6DhcpClient;
resourceInputs["ipv6DhcpClientVariable"] = args?.ipv6DhcpClientVariable;
resourceInputs["ipv6DhcpDistance"] = args?.ipv6DhcpDistance;
resourceInputs["ipv6DhcpDistanceVariable"] = args?.ipv6DhcpDistanceVariable;
resourceInputs["ipv6DhcpHelpers"] = args?.ipv6DhcpHelpers;
resourceInputs["ipv6DhcpRapidCommit"] = args?.ipv6DhcpRapidCommit;
resourceInputs["ipv6DhcpRapidCommitVariable"] = args?.ipv6DhcpRapidCommitVariable;
resourceInputs["ipv6SecondaryAddresses"] = args?.ipv6SecondaryAddresses;
resourceInputs["ipv6Vrrps"] = args?.ipv6Vrrps;
resourceInputs["mtu"] = args?.mtu;
resourceInputs["mtuVariable"] = args?.mtuVariable;
resourceInputs["name"] = args?.name;
resourceInputs["policers"] = args?.policers;
resourceInputs["shutdown"] = args?.shutdown;
resourceInputs["shutdownVariable"] = args?.shutdownVariable;
resourceInputs["staticArpEntries"] = args?.staticArpEntries;
resourceInputs["tcpMssAdjust"] = args?.tcpMssAdjust;
resourceInputs["tcpMssAdjustVariable"] = args?.tcpMssAdjustVariable;
resourceInputs["templateType"] = undefined /*out*/;
resourceInputs["version"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(VpnInterfaceSviFeatureTemplate.__pulumiType, name, resourceInputs, opts);
}
}
exports.VpnInterfaceSviFeatureTemplate = VpnInterfaceSviFeatureTemplate;
/** @internal */
VpnInterfaceSviFeatureTemplate.__pulumiType = 'sdwan:index/vpnInterfaceSviFeatureTemplate:VpnInterfaceSviFeatureTemplate';
//# sourceMappingURL=vpnInterfaceSviFeatureTemplate.js.map