@pulumi/sdwan
Version:
A Pulumi package for managing resources on Cisco Catalyst SD-WAN.. Based on terraform-provider-sdwan: version v0.4.1
230 lines • 11.7 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.ServiceLanVpnInterfaceSviFeature = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("./utilities");
/**
* This resource can manage a Service LAN VPN Interface SVI 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.ServiceLanVpnInterfaceSviFeature("example", {
* name: "Example",
* description: "My Example",
* featureProfileId: "f6dd22c8-0b4f-496c-9a0b-6813d1f8b8ac",
* serviceLanVpnFeatureId: "140331f6-5418-4755-a059-13c77eb96037",
* shutdown: false,
* interfaceName: "Vlan1",
* interfaceDescription: "SVI",
* interfaceMtu: 1500,
* ipMtu: 1500,
* ipv4Address: "1.2.3.4",
* ipv4SubnetMask: "0.0.0.0",
* ipv4SecondaryAddresses: [{
* address: "2.3.4.5",
* ipv4SubnetMask: "0.0.0.0",
* }],
* ipv4DhcpHelpers: ["4.5.6.7"],
* ipv6Address: "2001:0:0:1::0/32",
* ipv6SecondaryAddresses: [{
* address: "::2/32",
* }],
* ipv6DhcpHelpers: [{
* address: "2001:0:0:1::0",
* vpn: 1,
* }],
* aclIpv4EgressFeatureId: "f6dd22c8-0b4f-496c-9a0b-6813d1f8b8ac",
* aclIpv6IngressFeatureId: "f6dd22c8-0b4f-496c-9a0b-6813d1f8b8ac",
* arps: [{
* ipAddress: "1.2.3.4",
* macAddress: "00-B0-D0-63-C2-26",
* }],
* ipv4Vrrps: [{
* groupId: 1,
* priority: 100,
* timer: 1000,
* trackOmp: false,
* prefixList: "prefix",
* address: "1.2.3.4",
* secondaryAddresses: [{
* address: "2.3.4.5",
* }],
* tlocPrefixChange: true,
* tlocPrefixChangeValue: 100,
* trackingObjects: [{
* trackerId: "1b270f6d-479b-47e3-ab0b-51bc6811a303",
* trackAction: "decrement",
* decrementValue: 100,
* }],
* }],
* ipv6Vrrps: [{
* groupId: 1,
* priority: 100,
* timer: 1000,
* trackOmp: false,
* trackPrefixList: "1",
* addresses: [{
* linkLocalAddress: "1::1",
* globalAddress: "1::1/24",
* }],
* secondaryAddresses: [{
* prefix: "::20/32",
* }],
* }],
* enableDhcpv6: false,
* tcpMss: 1024,
* arpTimeout: 1200,
* ipDirectedBroadcast: false,
* icmpRedirectDisable: true,
* });
* ```
*
* ## Import
*
* The `pulumi import` command can be used, for example:
*
* Expected import identifier with the format: "service_lan_vpn_interface_svi_feature_id,feature_profile_id,service_lan_vpn_feature_id"
*
* ```sh
* $ pulumi import sdwan:index/serviceLanVpnInterfaceSviFeature:ServiceLanVpnInterfaceSviFeature example "f6b2c44c-693c-4763-b010-895aa3d236bd,f6dd22c8-0b4f-496c-9a0b-6813d1f8b8ac,140331f6-5418-4755-a059-13c77eb96037"
* ```
*/
class ServiceLanVpnInterfaceSviFeature extends pulumi.CustomResource {
/**
* Get an existing ServiceLanVpnInterfaceSviFeature 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 ServiceLanVpnInterfaceSviFeature(name, state, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of ServiceLanVpnInterfaceSviFeature. 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'] === ServiceLanVpnInterfaceSviFeature.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["aclIpv4EgressFeatureId"] = state?.aclIpv4EgressFeatureId;
resourceInputs["aclIpv4IngressFeatureId"] = state?.aclIpv4IngressFeatureId;
resourceInputs["aclIpv6EgressFeatureId"] = state?.aclIpv6EgressFeatureId;
resourceInputs["aclIpv6IngressFeatureId"] = state?.aclIpv6IngressFeatureId;
resourceInputs["arpTimeout"] = state?.arpTimeout;
resourceInputs["arpTimeoutVariable"] = state?.arpTimeoutVariable;
resourceInputs["arps"] = state?.arps;
resourceInputs["description"] = state?.description;
resourceInputs["enableDhcpv6"] = state?.enableDhcpv6;
resourceInputs["enableDhcpv6Variable"] = state?.enableDhcpv6Variable;
resourceInputs["featureProfileId"] = state?.featureProfileId;
resourceInputs["icmpRedirectDisable"] = state?.icmpRedirectDisable;
resourceInputs["icmpRedirectDisableVariable"] = state?.icmpRedirectDisableVariable;
resourceInputs["interfaceDescription"] = state?.interfaceDescription;
resourceInputs["interfaceDescriptionVariable"] = state?.interfaceDescriptionVariable;
resourceInputs["interfaceMtu"] = state?.interfaceMtu;
resourceInputs["interfaceMtuVariable"] = state?.interfaceMtuVariable;
resourceInputs["interfaceName"] = state?.interfaceName;
resourceInputs["interfaceNameVariable"] = state?.interfaceNameVariable;
resourceInputs["ipDirectedBroadcast"] = state?.ipDirectedBroadcast;
resourceInputs["ipDirectedBroadcastVariable"] = state?.ipDirectedBroadcastVariable;
resourceInputs["ipMtu"] = state?.ipMtu;
resourceInputs["ipMtuVariable"] = state?.ipMtuVariable;
resourceInputs["ipv4Address"] = state?.ipv4Address;
resourceInputs["ipv4AddressVariable"] = state?.ipv4AddressVariable;
resourceInputs["ipv4DhcpHelpers"] = state?.ipv4DhcpHelpers;
resourceInputs["ipv4DhcpHelpersVariable"] = state?.ipv4DhcpHelpersVariable;
resourceInputs["ipv4SecondaryAddresses"] = state?.ipv4SecondaryAddresses;
resourceInputs["ipv4SubnetMask"] = state?.ipv4SubnetMask;
resourceInputs["ipv4SubnetMaskVariable"] = state?.ipv4SubnetMaskVariable;
resourceInputs["ipv4Vrrps"] = state?.ipv4Vrrps;
resourceInputs["ipv6Address"] = state?.ipv6Address;
resourceInputs["ipv6AddressVariable"] = state?.ipv6AddressVariable;
resourceInputs["ipv6DhcpHelpers"] = state?.ipv6DhcpHelpers;
resourceInputs["ipv6SecondaryAddresses"] = state?.ipv6SecondaryAddresses;
resourceInputs["ipv6Vrrps"] = state?.ipv6Vrrps;
resourceInputs["name"] = state?.name;
resourceInputs["serviceLanVpnFeatureId"] = state?.serviceLanVpnFeatureId;
resourceInputs["shutdown"] = state?.shutdown;
resourceInputs["shutdownVariable"] = state?.shutdownVariable;
resourceInputs["tcpMss"] = state?.tcpMss;
resourceInputs["tcpMssVariable"] = state?.tcpMssVariable;
resourceInputs["version"] = state?.version;
}
else {
const args = argsOrState;
if (args?.featureProfileId === undefined && !opts.urn) {
throw new Error("Missing required property 'featureProfileId'");
}
if (args?.serviceLanVpnFeatureId === undefined && !opts.urn) {
throw new Error("Missing required property 'serviceLanVpnFeatureId'");
}
resourceInputs["aclIpv4EgressFeatureId"] = args?.aclIpv4EgressFeatureId;
resourceInputs["aclIpv4IngressFeatureId"] = args?.aclIpv4IngressFeatureId;
resourceInputs["aclIpv6EgressFeatureId"] = args?.aclIpv6EgressFeatureId;
resourceInputs["aclIpv6IngressFeatureId"] = args?.aclIpv6IngressFeatureId;
resourceInputs["arpTimeout"] = args?.arpTimeout;
resourceInputs["arpTimeoutVariable"] = args?.arpTimeoutVariable;
resourceInputs["arps"] = args?.arps;
resourceInputs["description"] = args?.description;
resourceInputs["enableDhcpv6"] = args?.enableDhcpv6;
resourceInputs["enableDhcpv6Variable"] = args?.enableDhcpv6Variable;
resourceInputs["featureProfileId"] = args?.featureProfileId;
resourceInputs["icmpRedirectDisable"] = args?.icmpRedirectDisable;
resourceInputs["icmpRedirectDisableVariable"] = args?.icmpRedirectDisableVariable;
resourceInputs["interfaceDescription"] = args?.interfaceDescription;
resourceInputs["interfaceDescriptionVariable"] = args?.interfaceDescriptionVariable;
resourceInputs["interfaceMtu"] = args?.interfaceMtu;
resourceInputs["interfaceMtuVariable"] = args?.interfaceMtuVariable;
resourceInputs["interfaceName"] = args?.interfaceName;
resourceInputs["interfaceNameVariable"] = args?.interfaceNameVariable;
resourceInputs["ipDirectedBroadcast"] = args?.ipDirectedBroadcast;
resourceInputs["ipDirectedBroadcastVariable"] = args?.ipDirectedBroadcastVariable;
resourceInputs["ipMtu"] = args?.ipMtu;
resourceInputs["ipMtuVariable"] = args?.ipMtuVariable;
resourceInputs["ipv4Address"] = args?.ipv4Address;
resourceInputs["ipv4AddressVariable"] = args?.ipv4AddressVariable;
resourceInputs["ipv4DhcpHelpers"] = args?.ipv4DhcpHelpers;
resourceInputs["ipv4DhcpHelpersVariable"] = args?.ipv4DhcpHelpersVariable;
resourceInputs["ipv4SecondaryAddresses"] = args?.ipv4SecondaryAddresses;
resourceInputs["ipv4SubnetMask"] = args?.ipv4SubnetMask;
resourceInputs["ipv4SubnetMaskVariable"] = args?.ipv4SubnetMaskVariable;
resourceInputs["ipv4Vrrps"] = args?.ipv4Vrrps;
resourceInputs["ipv6Address"] = args?.ipv6Address;
resourceInputs["ipv6AddressVariable"] = args?.ipv6AddressVariable;
resourceInputs["ipv6DhcpHelpers"] = args?.ipv6DhcpHelpers;
resourceInputs["ipv6SecondaryAddresses"] = args?.ipv6SecondaryAddresses;
resourceInputs["ipv6Vrrps"] = args?.ipv6Vrrps;
resourceInputs["name"] = args?.name;
resourceInputs["serviceLanVpnFeatureId"] = args?.serviceLanVpnFeatureId;
resourceInputs["shutdown"] = args?.shutdown;
resourceInputs["shutdownVariable"] = args?.shutdownVariable;
resourceInputs["tcpMss"] = args?.tcpMss;
resourceInputs["tcpMssVariable"] = args?.tcpMssVariable;
resourceInputs["version"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(ServiceLanVpnInterfaceSviFeature.__pulumiType, name, resourceInputs, opts);
}
}
exports.ServiceLanVpnInterfaceSviFeature = ServiceLanVpnInterfaceSviFeature;
/** @internal */
ServiceLanVpnInterfaceSviFeature.__pulumiType = 'sdwan:index/serviceLanVpnInterfaceSviFeature:ServiceLanVpnInterfaceSviFeature';
//# sourceMappingURL=serviceLanVpnInterfaceSviFeature.js.map