UNPKG

@pulumi/meraki

Version:

A Pulumi package for creating and managing Cisco Meraki resources. Based on terraform-provider-meraki: version v0.2.0

445 lines (444 loc) 16.5 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as meraki from "@pulumi/meraki"; * * const example = new meraki.devices.SwitchPorts("example", { * accessPolicyNumber: 2, * accessPolicyType: "Sticky MAC allow list", * adaptivePolicyGroupId: "123", * allowedVlans: "1,3,5-10", * daiTrusted: false, * enabled: true, * flexibleStackingEnabled: true, * isolationEnabled: false, * linkNegotiation: "Auto negotiate", * macAllowLists: [ * "34:56:fe:ce:8e:b0", * "34:56:fe:ce:8e:b1", * ], * name: "My switch port", * peerSgtCapable: false, * poeEnabled: true, * portId: "string", * portScheduleId: "1234", * profile: { * enabled: false, * id: "1284392014819", * iname: "iname", * }, * rstpEnabled: true, * serial: "string", * stickyMacAllowLists: [ * "34:56:fe:ce:8e:b0", * "34:56:fe:ce:8e:b1", * ], * stickyMacAllowListLimit: 5, * stormControlEnabled: true, * stpGuard: "disabled", * tags: [ * "tag1", * "tag2", * ], * type: "access", * udld: "Alert only", * vlan: 10, * voiceVlan: 20, * }); * export const merakiDevicesSwitchPortsExample = example; * ``` * * ## Import * * ```sh * $ pulumi import meraki:devices/switchPorts:SwitchPorts example "port_id,serial" * ``` */ export declare class SwitchPorts extends pulumi.CustomResource { /** * Get an existing SwitchPorts 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?: SwitchPortsState, opts?: pulumi.CustomResourceOptions): SwitchPorts; /** * Returns true if the given object is an instance of SwitchPorts. 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 SwitchPorts; /** * The number of a custom access policy to configure on the switch port. Only applicable when 'accessPolicyType' is 'Custom access policy'. */ readonly accessPolicyNumber: pulumi.Output<number>; /** * The type of the access policy of the switch port. Only applicable to access ports. Can be one of 'Open', 'Custom access policy', 'MAC allow list' or 'Sticky MAC allow list'. */ readonly accessPolicyType: pulumi.Output<string>; /** * The adaptive policy group ID that will be used to tag traffic through this switch port. This ID must pre-exist during the configuration, else needs to be created using adaptivePolicy/groups API. Cannot be applied to a port on a switch bound to profile. */ readonly adaptivePolicyGroupId: pulumi.Output<string>; /** * The VLANs allowed on the switch port. Only applicable to trunk ports. */ readonly allowedVlans: pulumi.Output<string>; /** * If true, ARP packets for this port will be considered trusted, and Dynamic ARP Inspection will allow the traffic. */ readonly daiTrusted: pulumi.Output<boolean>; /** * The status of the switch port. */ readonly enabled: pulumi.Output<boolean>; /** * For supported switches (e.g. MS420/MS425), whether or not the port has flexible stacking enabled. */ readonly flexibleStackingEnabled: pulumi.Output<boolean>; /** * The isolation status of the switch port. */ readonly isolationEnabled: pulumi.Output<boolean>; /** * The link speed for the switch port. */ readonly linkNegotiation: pulumi.Output<string>; /** * Available link speeds for the switch port. */ readonly linkNegotiationCapabilities: pulumi.Output<string[]>; /** * Only devices with MAC addresses specified in this list will have access to this port. Up to 20 MAC addresses can be defined. Only applicable when 'accessPolicyType' is 'MAC allow list'. */ readonly macAllowLists: pulumi.Output<string[]>; /** * Port mirror */ readonly mirror: pulumi.Output<outputs.devices.SwitchPortsMirror>; /** * Expansion module */ readonly module: pulumi.Output<outputs.devices.SwitchPortsModule>; /** * The name of the switch port. */ readonly name: pulumi.Output<string>; /** * If true, Peer SGT is enabled for traffic through this switch port. Applicable to trunk port only, not access port. Cannot be applied to a port on a switch bound to profile. */ readonly peerSgtCapable: pulumi.Output<boolean>; /** * The PoE status of the switch port. */ readonly poeEnabled: pulumi.Output<boolean>; /** * The identifier of the switch port. */ readonly portId: pulumi.Output<string>; /** * The ID of the port schedule. A value of null will clear the port schedule. */ readonly portScheduleId: pulumi.Output<string>; /** * Profile attributes */ readonly profile: pulumi.Output<outputs.devices.SwitchPortsProfile>; /** * The rapid spanning tree protocol status. */ readonly rstpEnabled: pulumi.Output<boolean>; /** * serial path parameter. */ readonly serial: pulumi.Output<string>; /** * The maximum number of MAC addresses for sticky MAC allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'. */ readonly stickyMacAllowListLimit: pulumi.Output<number>; /** * The initial list of MAC addresses for sticky Mac allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'. */ readonly stickyMacAllowLists: pulumi.Output<string[]>; /** * The storm control status of the switch port. */ readonly stormControlEnabled: pulumi.Output<boolean>; /** * The state of the STP guard ('disabled', 'root guard', 'bpdu guard' or 'loop guard'). */ readonly stpGuard: pulumi.Output<string>; /** * The list of tags of the switch port. */ readonly tags: pulumi.Output<string[]>; /** * The type of the switch port ('trunk' or 'access'). */ readonly type: pulumi.Output<string>; /** * The action to take when Unidirectional Link is detected (Alert only, Enforce). Default configuration is Alert only. */ readonly udld: pulumi.Output<string>; /** * The VLAN of the switch port. For a trunk port, this is the native VLAN. A null value will clear the value set for trunk ports. */ readonly vlan: pulumi.Output<number>; /** * The voice VLAN of the switch port. Only applicable to access ports. */ readonly voiceVlan: pulumi.Output<number>; /** * Create a SwitchPorts 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: SwitchPortsArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SwitchPorts resources. */ export interface SwitchPortsState { /** * The number of a custom access policy to configure on the switch port. Only applicable when 'accessPolicyType' is 'Custom access policy'. */ accessPolicyNumber?: pulumi.Input<number>; /** * The type of the access policy of the switch port. Only applicable to access ports. Can be one of 'Open', 'Custom access policy', 'MAC allow list' or 'Sticky MAC allow list'. */ accessPolicyType?: pulumi.Input<string>; /** * The adaptive policy group ID that will be used to tag traffic through this switch port. This ID must pre-exist during the configuration, else needs to be created using adaptivePolicy/groups API. Cannot be applied to a port on a switch bound to profile. */ adaptivePolicyGroupId?: pulumi.Input<string>; /** * The VLANs allowed on the switch port. Only applicable to trunk ports. */ allowedVlans?: pulumi.Input<string>; /** * If true, ARP packets for this port will be considered trusted, and Dynamic ARP Inspection will allow the traffic. */ daiTrusted?: pulumi.Input<boolean>; /** * The status of the switch port. */ enabled?: pulumi.Input<boolean>; /** * For supported switches (e.g. MS420/MS425), whether or not the port has flexible stacking enabled. */ flexibleStackingEnabled?: pulumi.Input<boolean>; /** * The isolation status of the switch port. */ isolationEnabled?: pulumi.Input<boolean>; /** * The link speed for the switch port. */ linkNegotiation?: pulumi.Input<string>; /** * Available link speeds for the switch port. */ linkNegotiationCapabilities?: pulumi.Input<pulumi.Input<string>[]>; /** * Only devices with MAC addresses specified in this list will have access to this port. Up to 20 MAC addresses can be defined. Only applicable when 'accessPolicyType' is 'MAC allow list'. */ macAllowLists?: pulumi.Input<pulumi.Input<string>[]>; /** * Port mirror */ mirror?: pulumi.Input<inputs.devices.SwitchPortsMirror>; /** * Expansion module */ module?: pulumi.Input<inputs.devices.SwitchPortsModule>; /** * The name of the switch port. */ name?: pulumi.Input<string>; /** * If true, Peer SGT is enabled for traffic through this switch port. Applicable to trunk port only, not access port. Cannot be applied to a port on a switch bound to profile. */ peerSgtCapable?: pulumi.Input<boolean>; /** * The PoE status of the switch port. */ poeEnabled?: pulumi.Input<boolean>; /** * The identifier of the switch port. */ portId?: pulumi.Input<string>; /** * The ID of the port schedule. A value of null will clear the port schedule. */ portScheduleId?: pulumi.Input<string>; /** * Profile attributes */ profile?: pulumi.Input<inputs.devices.SwitchPortsProfile>; /** * The rapid spanning tree protocol status. */ rstpEnabled?: pulumi.Input<boolean>; /** * serial path parameter. */ serial?: pulumi.Input<string>; /** * The maximum number of MAC addresses for sticky MAC allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'. */ stickyMacAllowListLimit?: pulumi.Input<number>; /** * The initial list of MAC addresses for sticky Mac allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'. */ stickyMacAllowLists?: pulumi.Input<pulumi.Input<string>[]>; /** * The storm control status of the switch port. */ stormControlEnabled?: pulumi.Input<boolean>; /** * The state of the STP guard ('disabled', 'root guard', 'bpdu guard' or 'loop guard'). */ stpGuard?: pulumi.Input<string>; /** * The list of tags of the switch port. */ tags?: pulumi.Input<pulumi.Input<string>[]>; /** * The type of the switch port ('trunk' or 'access'). */ type?: pulumi.Input<string>; /** * The action to take when Unidirectional Link is detected (Alert only, Enforce). Default configuration is Alert only. */ udld?: pulumi.Input<string>; /** * The VLAN of the switch port. For a trunk port, this is the native VLAN. A null value will clear the value set for trunk ports. */ vlan?: pulumi.Input<number>; /** * The voice VLAN of the switch port. Only applicable to access ports. */ voiceVlan?: pulumi.Input<number>; } /** * The set of arguments for constructing a SwitchPorts resource. */ export interface SwitchPortsArgs { /** * The number of a custom access policy to configure on the switch port. Only applicable when 'accessPolicyType' is 'Custom access policy'. */ accessPolicyNumber?: pulumi.Input<number>; /** * The type of the access policy of the switch port. Only applicable to access ports. Can be one of 'Open', 'Custom access policy', 'MAC allow list' or 'Sticky MAC allow list'. */ accessPolicyType?: pulumi.Input<string>; /** * The adaptive policy group ID that will be used to tag traffic through this switch port. This ID must pre-exist during the configuration, else needs to be created using adaptivePolicy/groups API. Cannot be applied to a port on a switch bound to profile. */ adaptivePolicyGroupId?: pulumi.Input<string>; /** * The VLANs allowed on the switch port. Only applicable to trunk ports. */ allowedVlans?: pulumi.Input<string>; /** * If true, ARP packets for this port will be considered trusted, and Dynamic ARP Inspection will allow the traffic. */ daiTrusted?: pulumi.Input<boolean>; /** * The status of the switch port. */ enabled?: pulumi.Input<boolean>; /** * For supported switches (e.g. MS420/MS425), whether or not the port has flexible stacking enabled. */ flexibleStackingEnabled?: pulumi.Input<boolean>; /** * The isolation status of the switch port. */ isolationEnabled?: pulumi.Input<boolean>; /** * The link speed for the switch port. */ linkNegotiation?: pulumi.Input<string>; /** * Only devices with MAC addresses specified in this list will have access to this port. Up to 20 MAC addresses can be defined. Only applicable when 'accessPolicyType' is 'MAC allow list'. */ macAllowLists?: pulumi.Input<pulumi.Input<string>[]>; /** * The name of the switch port. */ name?: pulumi.Input<string>; /** * If true, Peer SGT is enabled for traffic through this switch port. Applicable to trunk port only, not access port. Cannot be applied to a port on a switch bound to profile. */ peerSgtCapable?: pulumi.Input<boolean>; /** * The PoE status of the switch port. */ poeEnabled?: pulumi.Input<boolean>; /** * The identifier of the switch port. */ portId: pulumi.Input<string>; /** * The ID of the port schedule. A value of null will clear the port schedule. */ portScheduleId?: pulumi.Input<string>; /** * Profile attributes */ profile?: pulumi.Input<inputs.devices.SwitchPortsProfile>; /** * The rapid spanning tree protocol status. */ rstpEnabled?: pulumi.Input<boolean>; /** * serial path parameter. */ serial: pulumi.Input<string>; /** * The maximum number of MAC addresses for sticky MAC allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'. */ stickyMacAllowListLimit?: pulumi.Input<number>; /** * The initial list of MAC addresses for sticky Mac allow list. Only applicable when 'accessPolicyType' is 'Sticky MAC allow list'. */ stickyMacAllowLists?: pulumi.Input<pulumi.Input<string>[]>; /** * The storm control status of the switch port. */ stormControlEnabled?: pulumi.Input<boolean>; /** * The state of the STP guard ('disabled', 'root guard', 'bpdu guard' or 'loop guard'). */ stpGuard?: pulumi.Input<string>; /** * The list of tags of the switch port. */ tags?: pulumi.Input<pulumi.Input<string>[]>; /** * The type of the switch port ('trunk' or 'access'). */ type?: pulumi.Input<string>; /** * The action to take when Unidirectional Link is detected (Alert only, Enforce). Default configuration is Alert only. */ udld?: pulumi.Input<string>; /** * The VLAN of the switch port. For a trunk port, this is the native VLAN. A null value will clear the value set for trunk ports. */ vlan?: pulumi.Input<number>; /** * The voice VLAN of the switch port. Only applicable to access ports. */ voiceVlan?: pulumi.Input<number>; }