@pulumi/scm
Version:
A Pulumi package for managing resources on Strata Cloud Manager.. Based on terraform-provider-scm: version v0.2.1
229 lines • 8.08 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.EthernetInterface = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("./utilities");
/**
* EthernetInterface resource
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as scm from "@pulumi/scm";
*
* //
* // Creates various resources used for subsequent examples
* //
* const scmAeIntf = new scm.AggregateInterface("scm_ae_intf", {
* name: "$scm_ae_intf",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* layer2: {},
* });
* //
* // Creates a layer 2 ethernet interface without vlan configuration
* //
* const scmL2Intf = new scm.EthernetInterface("scm_l2_intf", {
* name: "$scm_l2_intf",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* linkSpeed: "auto",
* linkDuplex: "full",
* linkState: "auto",
* layer2: {},
* });
* //
* // Creates a tap ethernet interface without vlan configuration
* //
* const scmTapIntf = new scm.EthernetInterface("scm_tap_intf", {
* name: "$scm_tap_intf",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* linkSpeed: "auto",
* linkDuplex: "full",
* linkState: "auto",
* tap: {},
* });
* //
* // Creates a layer3 ethernet interface without ip configuration
* //
* const scmL3Intf = new scm.EthernetInterface("scm_l3_intf", {
* name: "$scm_l3_intf",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* linkSpeed: "auto",
* linkDuplex: "full",
* linkState: "auto",
* layer3: {},
* });
* //
* // Creates a layer3 ethernet interface with static ip address
* //
* const scmL3IntfStatic = new scm.EthernetInterface("scm_l3_intf_static", {
* name: "$scm_l3_intf_static",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* layer3: {
* ips: [{
* name: "198.18.1.1/24",
* }],
* },
* });
* //
* // Creates a layer3 ethernet interface with dhcp-assigned ip address
* //
* const scmL3IntfDhcp = new scm.EthernetInterface("scm_l3_intf_dhcp", {
* name: "$scm_l3_intf_dhcp",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* layer3: {
* dhcpClient: {
* enable: true,
* createDefaultRoute: true,
* defaultRouteMetric: 10,
* },
* },
* });
* //
* // Creates a layer3 ethernet interface with pppoe
* //
* const scmL3IntfPppoe = new scm.EthernetInterface("scm_l3_intf_pppoe", {
* name: "$scm_l3_intf_pppoe",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* layer3: {
* pppoe: {
* authentication: "auto",
* enable: true,
* username: "testname",
* password: "testpass",
* createDefaultRoute: true,
* defaultRouteMetric: 10,
* },
* },
* });
* //
* // Creates a layer3 ethernet interface with multiple static ip addresses
* //
* const scmL3IntfComplex = new scm.EthernetInterface("scm_l3_intf_complex", {
* name: "$scm_l3_intf_complex",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* linkSpeed: "auto",
* linkDuplex: "full",
* linkState: "auto",
* layer3: {
* ips: [{
* name: "198.18.1.1/24",
* name: "198.18.1.2/32",
* }],
* mtu: 1500,
* },
* });
* //
* // Creates an ethernet interface assigned to an AggregateEthernet Interface
* //
* const scmAeMember1 = new scm.EthernetInterface("scm_ae_member_1", {
* name: "$scm_ae_member_1",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* aggregateGroup: "$scm_ae_intf",
* linkSpeed: "auto",
* linkDuplex: "full",
* linkState: "auto",
* }, {
* dependsOn: [scmAeIntf],
* });
* //
* // Creates an ethernet interface assigned to an AggregateEthernet Interface
* //
* const scmAeMember2 = new scm.EthernetInterface("scm_ae_member_2", {
* name: "$scm_ae_member_2",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* aggregateGroup: "$scm_ae_intf",
* linkSpeed: "auto",
* linkDuplex: "full",
* linkState: "auto",
* }, {
* dependsOn: [scmAeIntf],
* });
* ```
*/
class EthernetInterface extends pulumi.CustomResource {
/**
* Get an existing EthernetInterface 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 EthernetInterface(name, state, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of EthernetInterface. 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'] === EthernetInterface.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["aggregateGroup"] = state?.aggregateGroup;
resourceInputs["comment"] = state?.comment;
resourceInputs["defaultValue"] = state?.defaultValue;
resourceInputs["device"] = state?.device;
resourceInputs["encryptedValues"] = state?.encryptedValues;
resourceInputs["folder"] = state?.folder;
resourceInputs["layer2"] = state?.layer2;
resourceInputs["layer3"] = state?.layer3;
resourceInputs["linkDuplex"] = state?.linkDuplex;
resourceInputs["linkSpeed"] = state?.linkSpeed;
resourceInputs["linkState"] = state?.linkState;
resourceInputs["name"] = state?.name;
resourceInputs["poe"] = state?.poe;
resourceInputs["snippet"] = state?.snippet;
resourceInputs["tap"] = state?.tap;
resourceInputs["tfid"] = state?.tfid;
}
else {
const args = argsOrState;
resourceInputs["aggregateGroup"] = args?.aggregateGroup;
resourceInputs["comment"] = args?.comment;
resourceInputs["defaultValue"] = args?.defaultValue;
resourceInputs["device"] = args?.device;
resourceInputs["folder"] = args?.folder;
resourceInputs["layer2"] = args?.layer2;
resourceInputs["layer3"] = args?.layer3;
resourceInputs["linkDuplex"] = args?.linkDuplex;
resourceInputs["linkSpeed"] = args?.linkSpeed;
resourceInputs["linkState"] = args?.linkState;
resourceInputs["name"] = args?.name;
resourceInputs["poe"] = args?.poe;
resourceInputs["snippet"] = args?.snippet;
resourceInputs["tap"] = args?.tap;
resourceInputs["encryptedValues"] = undefined /*out*/;
resourceInputs["tfid"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const secretOpts = { additionalSecretOutputs: ["encryptedValues"] };
opts = pulumi.mergeOptions(opts, secretOpts);
super(EthernetInterface.__pulumiType, name, resourceInputs, opts);
}
}
exports.EthernetInterface = EthernetInterface;
/** @internal */
EthernetInterface.__pulumiType = 'scm:index/ethernetInterface:EthernetInterface';
//# sourceMappingURL=ethernetInterface.js.map