UNPKG

@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
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>; }