@pulumi/scm
Version:
A Pulumi package for managing resources on Strata Cloud Manager.. Based on terraform-provider-scm: version v0.2.1
283 lines (282 loc) • 8.9 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
* Layer3Subinterface resource
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as scm from "@pulumi/scm";
*
* //
* // Creates a ethernet interface used as parent-interface for subsequent examples
* //
* const scmParentInterface = new scm.EthernetInterface("scm_parent_interface", {
* name: "$scm_parent_interface",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* layer3: {},
* });
* //
* // Creates a layer3 sub-interface with static ip address
* //
* const scmL3Subinterface = new scm.Layer3Subinterface("scm_l3_subinterface", {
* name: "$scm_parent_interface.100",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* tag: 100,
* parentInterface: "$scm_parent_interface",
* ips: [{
* name: "198.18.1.1/32",
* }],
* }, {
* dependsOn: [scmParentInterface],
* });
* const scmParentDhcpInterface = new scm.EthernetInterface("scm_parent_dhcp_interface", {
* name: "$scm_parent_dhcp_interface",
* comment: "Managed by Pulumi",
* folder: "All",
* layer3: {},
* });
* //
* // Creates a layer3 sub-interface with dhcp
* //
* const scmL3DhcpSubinterface = new scm.Layer3Subinterface("scm_l3_dhcp_subinterface", {
* name: "$scm_parent_dhcp_interface.100",
* comment: "Managed by Pulumi",
* folder: "All",
* tag: 100,
* parentInterface: "$scm_parent_dhcp_interface",
* dhcpClient: {
* enable: true,
* createDefaultRoute: true,
* defaultRouteMetric: 20,
* sendHostname: {
* enable: true,
* hostname: "client-vlan50-host",
* },
* },
* }, {
* dependsOn: [scmParentDhcpInterface],
* });
* ```
*/
export declare class Layer3Subinterface extends pulumi.CustomResource {
/**
* Get an existing Layer3Subinterface 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?: Layer3SubinterfaceState, opts?: pulumi.CustomResourceOptions): Layer3Subinterface;
/**
* Returns true if the given object is an instance of Layer3Subinterface. 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 Layer3Subinterface;
/**
* Layer 3 sub Interfaces ARP configuration
*/
readonly arps: pulumi.Output<outputs.Layer3SubinterfaceArp[] | undefined>;
/**
* Description
*/
readonly comment: pulumi.Output<string | undefined>;
/**
* Dynamic DNS configuration specific to the Layer 3 sub Interfaces.
*/
readonly ddnsConfig: pulumi.Output<outputs.Layer3SubinterfaceDdnsConfig>;
/**
* The device in which the resource is defined
*/
readonly device: pulumi.Output<string | undefined>;
/**
* Layer3 sub interfaces DHCP Client Object
*
* > ℹ️ **Note:** You must specify exactly one of `dhcpClient` and `ip`.
*/
readonly dhcpClient: pulumi.Output<outputs.Layer3SubinterfaceDhcpClient>;
/**
* 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>;
/**
* Interface management profile
*/
readonly interfaceManagementProfile: pulumi.Output<string | undefined>;
/**
* L3 sub-interface IP Parent
*
* > ℹ️ **Note:** You must specify exactly one of `dhcpClient` and `ip`.
*/
readonly ips: pulumi.Output<outputs.Layer3SubinterfaceIp[] | undefined>;
/**
* MTU
*/
readonly mtu: pulumi.Output<number | undefined>;
/**
* L3 sub-interface name
*/
readonly name: pulumi.Output<string>;
/**
* Parent interface
*/
readonly parentInterface: pulumi.Output<string | undefined>;
/**
* 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>;
/**
* VLAN tag
*/
readonly tag: pulumi.Output<number | undefined>;
readonly tfid: pulumi.Output<string>;
/**
* Create a Layer3Subinterface 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?: Layer3SubinterfaceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Layer3Subinterface resources.
*/
export interface Layer3SubinterfaceState {
/**
* Layer 3 sub Interfaces ARP configuration
*/
arps?: pulumi.Input<pulumi.Input<inputs.Layer3SubinterfaceArp>[]>;
/**
* Description
*/
comment?: pulumi.Input<string>;
/**
* Dynamic DNS configuration specific to the Layer 3 sub Interfaces.
*/
ddnsConfig?: pulumi.Input<inputs.Layer3SubinterfaceDdnsConfig>;
/**
* The device in which the resource is defined
*/
device?: pulumi.Input<string>;
/**
* Layer3 sub interfaces DHCP Client Object
*
* > ℹ️ **Note:** You must specify exactly one of `dhcpClient` and `ip`.
*/
dhcpClient?: pulumi.Input<inputs.Layer3SubinterfaceDhcpClient>;
/**
* The folder in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
folder?: pulumi.Input<string>;
/**
* Interface management profile
*/
interfaceManagementProfile?: pulumi.Input<string>;
/**
* L3 sub-interface IP Parent
*
* > ℹ️ **Note:** You must specify exactly one of `dhcpClient` and `ip`.
*/
ips?: pulumi.Input<pulumi.Input<inputs.Layer3SubinterfaceIp>[]>;
/**
* MTU
*/
mtu?: pulumi.Input<number>;
/**
* L3 sub-interface name
*/
name?: pulumi.Input<string>;
/**
* Parent interface
*/
parentInterface?: pulumi.Input<string>;
/**
* The snippet in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
snippet?: pulumi.Input<string>;
/**
* VLAN tag
*/
tag?: pulumi.Input<number>;
tfid?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a Layer3Subinterface resource.
*/
export interface Layer3SubinterfaceArgs {
/**
* Layer 3 sub Interfaces ARP configuration
*/
arps?: pulumi.Input<pulumi.Input<inputs.Layer3SubinterfaceArp>[]>;
/**
* Description
*/
comment?: pulumi.Input<string>;
/**
* Dynamic DNS configuration specific to the Layer 3 sub Interfaces.
*/
ddnsConfig?: pulumi.Input<inputs.Layer3SubinterfaceDdnsConfig>;
/**
* The device in which the resource is defined
*/
device?: pulumi.Input<string>;
/**
* Layer3 sub interfaces DHCP Client Object
*
* > ℹ️ **Note:** You must specify exactly one of `dhcpClient` and `ip`.
*/
dhcpClient?: pulumi.Input<inputs.Layer3SubinterfaceDhcpClient>;
/**
* The folder in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
folder?: pulumi.Input<string>;
/**
* Interface management profile
*/
interfaceManagementProfile?: pulumi.Input<string>;
/**
* L3 sub-interface IP Parent
*
* > ℹ️ **Note:** You must specify exactly one of `dhcpClient` and `ip`.
*/
ips?: pulumi.Input<pulumi.Input<inputs.Layer3SubinterfaceIp>[]>;
/**
* MTU
*/
mtu?: pulumi.Input<number>;
/**
* L3 sub-interface name
*/
name?: pulumi.Input<string>;
/**
* Parent interface
*/
parentInterface?: pulumi.Input<string>;
/**
* The snippet in which the resource is defined
*
* > ℹ️ **Note:** You must specify exactly one of `device`, `folder`, and `snippet`.
*/
snippet?: pulumi.Input<string>;
/**
* VLAN tag
*/
tag?: pulumi.Input<number>;
}