@pulumi/scm
Version:
A Pulumi package for managing resources on Strata Cloud Manager.. Based on terraform-provider-scm: version v0.2.1
259 lines (258 loc) • 8.35 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
* AggregateInterface resource
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as scm from "@pulumi/scm";
*
* //
* // Creates a layer 2 aggregate interface without vlan configuration
* //
* const scmAggregateIntfL2 = new scm.AggregateInterface("scm_aggregate_intf_l2", {
* name: "$scm_aggregate_intf_l2",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* layer2: {},
* });
* //
* // Creates a layer 2 aggregate interface with vlan and lacp configuration
* //
* const scmAggregateIntfL2Lacp = new scm.AggregateInterface("scm_aggregate_intf_l2_lacp", {
* name: "$scm_aggregate_intf_l2_lacp",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* layer2: {
* vlanTag: "1234",
* lacp: {
* enable: true,
* fastFailover: true,
* systenPriority: 32768,
* transmissionRate: "fast",
* },
* lldp: {
* enable: false,
* },
* },
* });
* //
* // Creates a layer3 aggregate interface without ip configuration
* //
* const scmAggregateIntfL3 = new scm.AggregateInterface("scm_aggregate_intf_l3", {
* name: "$scm_aggregate_intf_l3",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* layer3: {},
* });
* //
* // Creates a layer3 aggregate interface with static ip address and lacp
* //
* const scmAggregateIntfL3Static = new scm.AggregateInterface("scm_aggregate_intf_l3_static", {
* name: "$scm_aggregate_intf_l3_static",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* layer3: {
* ips: [{
* name: "198.18.1.1/24",
* }],
* lacp: {
* enable: true,
* fastFailover: true,
* systenPriority: 32768,
* transmissionRate: "fast",
* },
* },
* });
* //
* // Creates a layer3 aggregate interface with dhcp-assigned ip address
* //
* const scmAggregateIntfL3Dhcp = new scm.AggregateInterface("scm_aggregate_intf_l3_dhcp", {
* name: "$scm_aggregate_intf_l3_dhcp",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* layer3: {
* dhcpClient: {
* enable: true,
* createDefaultRoute: true,
* defaultRouteMetric: 10,
* },
* },
* });
* //
* // Creates a layer3 aggregate interface with multiple static ip addresses
* //
* const scmAggregateIntfL3Complex = new scm.AggregateInterface("scm_aggregate_intf_l3_complex", {
* name: "$scm_aggregate_intf_l3_complex",
* comment: "Managed by Pulumi",
* folder: "ngfw-shared",
* layer3: {
* ips: [{
* name: "198.18.1.1/24",
* name: "198.18.1.2/32",
* }],
* mtu: 1500,
* },
* });
* ```
*/
export declare class AggregateInterface extends pulumi.CustomResource {
/**
* Get an existing AggregateInterface 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?: AggregateInterfaceState, opts?: pulumi.CustomResourceOptions): AggregateInterface;
/**
* Returns true if the given object is an instance of AggregateInterface. 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 AggregateInterface;
/**
* Aggregate 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
*/
readonly device: pulumi.Output<string | undefined>;
/**
* 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 `layer2` and `layer3`.
*/
readonly layer2: pulumi.Output<outputs.AggregateInterfaceLayer2>;
/**
* Aggregate Interface Layer 3 configuration
*
* > ℹ️ **Note:** You must specify exactly one of `layer2` and `layer3`.
*/
readonly layer3: pulumi.Output<outputs.AggregateInterfaceLayer3>;
/**
* Aggregate interface name
*/
readonly name: pulumi.Output<string>;
/**
* 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>;
readonly tfid: pulumi.Output<string>;
/**
* Create a AggregateInterface 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?: AggregateInterfaceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering AggregateInterface resources.
*/
export interface AggregateInterfaceState {
/**
* Aggregate interface description
*/
comment?: pulumi.Input<string>;
/**
* Default interface assignment
*/
defaultValue?: pulumi.Input<string>;
/**
* The device in which the resource is defined
*/
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 `layer2` and `layer3`.
*/
layer2?: pulumi.Input<inputs.AggregateInterfaceLayer2>;
/**
* Aggregate Interface Layer 3 configuration
*
* > ℹ️ **Note:** You must specify exactly one of `layer2` and `layer3`.
*/
layer3?: pulumi.Input<inputs.AggregateInterfaceLayer3>;
/**
* Aggregate interface name
*/
name?: 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>;
tfid?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a AggregateInterface resource.
*/
export interface AggregateInterfaceArgs {
/**
* Aggregate interface description
*/
comment?: pulumi.Input<string>;
/**
* Default interface assignment
*/
defaultValue?: pulumi.Input<string>;
/**
* The device in which the resource is defined
*/
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 `layer2` and `layer3`.
*/
layer2?: pulumi.Input<inputs.AggregateInterfaceLayer2>;
/**
* Aggregate Interface Layer 3 configuration
*
* > ℹ️ **Note:** You must specify exactly one of `layer2` and `layer3`.
*/
layer3?: pulumi.Input<inputs.AggregateInterfaceLayer3>;
/**
* Aggregate interface name
*/
name?: 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>;
}