@pulumi/sdwan
Version:
A Pulumi package for managing resources on Cisco Catalyst SD-WAN.. Based on terraform-provider-sdwan: version v0.4.1
153 lines • 7.19 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.TransportWanVpnFeature = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("./utilities");
/**
* This resource can manage a Transport WAN VPN 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.TransportWanVpnFeature("example", {
* name: "Example",
* description: "My Example",
* featureProfileId: "f6dd22c8-0b4f-496c-9a0b-6813d1f8b8ac",
* vpn: 0,
* enhanceEcmpKeying: true,
* primaryDnsAddressIpv4: "1.2.3.4",
* secondaryDnsAddressIpv4: "2.3.4.5",
* primaryDnsAddressIpv6: "2001:0:0:1::0",
* secondaryDnsAddressIpv6: "2001:0:0:2::0",
* newHostMappings: [{
* hostName: "example",
* listOfIpAddresses: ["1.2.3.4"],
* }],
* ipv4StaticRoutes: [{
* networkAddress: "1.2.3.4",
* subnetMask: "0.0.0.0",
* gateway: "nextHop",
* nextHops: [{
* address: "1.2.3.4",
* administrativeDistance: 1,
* }],
* }],
* ipv6StaticRoutes: [{
* prefix: "2002::/16",
* gateway: "nextHop",
* nextHops: [{
* address: "2001:0:0:1::0",
* administrativeDistance: 1,
* }],
* }],
* services: [{
* serviceType: "TE",
* }],
* nat64V4Pools: [{
* nat64V4PoolName: "example",
* nat64V4PoolRangeStart: "203.0.113.50",
* nat64V4PoolRangeEnd: "203.0.113.100",
* nat64V4PoolOverload: false,
* }],
* });
* ```
*
* ## Import
*
* The `pulumi import` command can be used, for example:
*
* Expected import identifier with the format: "transport_wan_vpn_feature_id,feature_profile_id"
*
* ```sh
* $ pulumi import sdwan:index/transportWanVpnFeature:TransportWanVpnFeature example "f6b2c44c-693c-4763-b010-895aa3d236bd,f6dd22c8-0b4f-496c-9a0b-6813d1f8b8ac"
* ```
*/
class TransportWanVpnFeature extends pulumi.CustomResource {
/**
* Get an existing TransportWanVpnFeature 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 TransportWanVpnFeature(name, state, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of TransportWanVpnFeature. 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'] === TransportWanVpnFeature.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["description"] = state?.description;
resourceInputs["enhanceEcmpKeying"] = state?.enhanceEcmpKeying;
resourceInputs["enhanceEcmpKeyingVariable"] = state?.enhanceEcmpKeyingVariable;
resourceInputs["featureProfileId"] = state?.featureProfileId;
resourceInputs["ipv4StaticRoutes"] = state?.ipv4StaticRoutes;
resourceInputs["ipv6StaticRoutes"] = state?.ipv6StaticRoutes;
resourceInputs["name"] = state?.name;
resourceInputs["nat64V4Pools"] = state?.nat64V4Pools;
resourceInputs["newHostMappings"] = state?.newHostMappings;
resourceInputs["primaryDnsAddressIpv4"] = state?.primaryDnsAddressIpv4;
resourceInputs["primaryDnsAddressIpv4Variable"] = state?.primaryDnsAddressIpv4Variable;
resourceInputs["primaryDnsAddressIpv6"] = state?.primaryDnsAddressIpv6;
resourceInputs["primaryDnsAddressIpv6Variable"] = state?.primaryDnsAddressIpv6Variable;
resourceInputs["secondaryDnsAddressIpv4"] = state?.secondaryDnsAddressIpv4;
resourceInputs["secondaryDnsAddressIpv4Variable"] = state?.secondaryDnsAddressIpv4Variable;
resourceInputs["secondaryDnsAddressIpv6"] = state?.secondaryDnsAddressIpv6;
resourceInputs["secondaryDnsAddressIpv6Variable"] = state?.secondaryDnsAddressIpv6Variable;
resourceInputs["services"] = state?.services;
resourceInputs["version"] = state?.version;
resourceInputs["vpn"] = state?.vpn;
}
else {
const args = argsOrState;
if (args?.featureProfileId === undefined && !opts.urn) {
throw new Error("Missing required property 'featureProfileId'");
}
resourceInputs["description"] = args?.description;
resourceInputs["enhanceEcmpKeying"] = args?.enhanceEcmpKeying;
resourceInputs["enhanceEcmpKeyingVariable"] = args?.enhanceEcmpKeyingVariable;
resourceInputs["featureProfileId"] = args?.featureProfileId;
resourceInputs["ipv4StaticRoutes"] = args?.ipv4StaticRoutes;
resourceInputs["ipv6StaticRoutes"] = args?.ipv6StaticRoutes;
resourceInputs["name"] = args?.name;
resourceInputs["nat64V4Pools"] = args?.nat64V4Pools;
resourceInputs["newHostMappings"] = args?.newHostMappings;
resourceInputs["primaryDnsAddressIpv4"] = args?.primaryDnsAddressIpv4;
resourceInputs["primaryDnsAddressIpv4Variable"] = args?.primaryDnsAddressIpv4Variable;
resourceInputs["primaryDnsAddressIpv6"] = args?.primaryDnsAddressIpv6;
resourceInputs["primaryDnsAddressIpv6Variable"] = args?.primaryDnsAddressIpv6Variable;
resourceInputs["secondaryDnsAddressIpv4"] = args?.secondaryDnsAddressIpv4;
resourceInputs["secondaryDnsAddressIpv4Variable"] = args?.secondaryDnsAddressIpv4Variable;
resourceInputs["secondaryDnsAddressIpv6"] = args?.secondaryDnsAddressIpv6;
resourceInputs["secondaryDnsAddressIpv6Variable"] = args?.secondaryDnsAddressIpv6Variable;
resourceInputs["services"] = args?.services;
resourceInputs["vpn"] = args?.vpn;
resourceInputs["version"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(TransportWanVpnFeature.__pulumiType, name, resourceInputs, opts);
}
}
exports.TransportWanVpnFeature = TransportWanVpnFeature;
/** @internal */
TransportWanVpnFeature.__pulumiType = 'sdwan:index/transportWanVpnFeature:TransportWanVpnFeature';
//# sourceMappingURL=transportWanVpnFeature.js.map