@pulumi/scm
Version:
A Pulumi package for managing resources on Strata Cloud Manager.. Based on terraform-provider-scm: version v0.2.1
405 lines (404 loc) • 12.1 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
* 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],
* });
* ```
*/
export declare 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: string, id: pulumi.Input<pulumi.ID>, state?: EthernetInterfaceState, opts?: pulumi.CustomResourceOptions): EthernetInterface;
/**
* 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: any): obj is EthernetInterface;
/**
* Aggregate group
*/
readonly aggregateGroup: pulumi.Output<string | undefined>;
/**
* Interface description
*/
readonly comment: pulumi.Output<string | undefined>;
/**
* Default interface assignment
*/
readonly defaultValue: pulumi.Output<string | undefined>;
/**
* The device in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
readonly device: pulumi.Output<string | undefined>;
/**
* Map of sensitive values returned from the API.
*/
readonly encryptedValues: pulumi.Output<{
[key: string]: string;
}>;
/**
* The folder in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
readonly folder: pulumi.Output<string | undefined>;
/**
* Layer2
*
* > ℹ️ **Note:** You must specify exactly one of `aggregateGroup`, `layer2`, `layer3`, and `tap`.
*/
readonly layer2: pulumi.Output<outputs.EthernetInterfaceLayer2 | undefined>;
/**
* Ethernet Interface Layer 3 configuration
*
* > ℹ️ **Note:** You must specify exactly one of `aggregateGroup`, `layer2`, `layer3`, and `tap`.
*/
readonly layer3: pulumi.Output<outputs.EthernetInterfaceLayer3>;
/**
* Link duplex
*/
readonly linkDuplex: pulumi.Output<string>;
/**
* Link speed
*/
readonly linkSpeed: pulumi.Output<string>;
/**
* Link state
*/
readonly linkState: pulumi.Output<string>;
/**
* Interface name
*/
readonly name: pulumi.Output<string>;
/**
* Poe
*/
readonly poe: pulumi.Output<outputs.EthernetInterfacePoe>;
/**
* The snippet in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
readonly snippet: pulumi.Output<string | undefined>;
/**
* Tap
*
* > ℹ️ **Note:** You must specify exactly one of `aggregateGroup`, `layer2`, `layer3`, and `tap`.
*/
readonly tap: pulumi.Output<outputs.EthernetInterfaceTap | undefined>;
readonly tfid: pulumi.Output<string>;
/**
* Create a EthernetInterface resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: EthernetInterfaceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering EthernetInterface resources.
*/
export interface EthernetInterfaceState {
/**
* Aggregate group
*/
aggregateGroup?: pulumi.Input<string>;
/**
* Interface description
*/
comment?: pulumi.Input<string>;
/**
* Default interface assignment
*/
defaultValue?: pulumi.Input<string>;
/**
* The device in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
device?: pulumi.Input<string>;
/**
* Map of sensitive values returned from the API.
*/
encryptedValues?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* The folder in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
folder?: pulumi.Input<string>;
/**
* Layer2
*
* > ℹ️ **Note:** You must specify exactly one of `aggregateGroup`, `layer2`, `layer3`, and `tap`.
*/
layer2?: pulumi.Input<inputs.EthernetInterfaceLayer2>;
/**
* Ethernet Interface Layer 3 configuration
*
* > ℹ️ **Note:** You must specify exactly one of `aggregateGroup`, `layer2`, `layer3`, and `tap`.
*/
layer3?: pulumi.Input<inputs.EthernetInterfaceLayer3>;
/**
* Link duplex
*/
linkDuplex?: pulumi.Input<string>;
/**
* Link speed
*/
linkSpeed?: pulumi.Input<string>;
/**
* Link state
*/
linkState?: pulumi.Input<string>;
/**
* Interface name
*/
name?: pulumi.Input<string>;
/**
* Poe
*/
poe?: pulumi.Input<inputs.EthernetInterfacePoe>;
/**
* The snippet in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
snippet?: pulumi.Input<string>;
/**
* Tap
*
* > ℹ️ **Note:** You must specify exactly one of `aggregateGroup`, `layer2`, `layer3`, and `tap`.
*/
tap?: pulumi.Input<inputs.EthernetInterfaceTap>;
tfid?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a EthernetInterface resource.
*/
export interface EthernetInterfaceArgs {
/**
* Aggregate group
*/
aggregateGroup?: pulumi.Input<string>;
/**
* Interface description
*/
comment?: pulumi.Input<string>;
/**
* Default interface assignment
*/
defaultValue?: pulumi.Input<string>;
/**
* The device in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
device?: pulumi.Input<string>;
/**
* The folder in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
folder?: pulumi.Input<string>;
/**
* Layer2
*
* > ℹ️ **Note:** You must specify exactly one of `aggregateGroup`, `layer2`, `layer3`, and `tap`.
*/
layer2?: pulumi.Input<inputs.EthernetInterfaceLayer2>;
/**
* Ethernet Interface Layer 3 configuration
*
* > ℹ️ **Note:** You must specify exactly one of `aggregateGroup`, `layer2`, `layer3`, and `tap`.
*/
layer3?: pulumi.Input<inputs.EthernetInterfaceLayer3>;
/**
* Link duplex
*/
linkDuplex?: pulumi.Input<string>;
/**
* Link speed
*/
linkSpeed?: pulumi.Input<string>;
/**
* Link state
*/
linkState?: pulumi.Input<string>;
/**
* Interface name
*/
name?: pulumi.Input<string>;
/**
* Poe
*/
poe?: pulumi.Input<inputs.EthernetInterfacePoe>;
/**
* The snippet in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
snippet?: pulumi.Input<string>;
/**
* Tap
*
* > ℹ️ **Note:** You must specify exactly one of `aggregateGroup`, `layer2`, `layer3`, and `tap`.
*/
tap?: pulumi.Input<inputs.EthernetInterfaceTap>;
}