UNPKG

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