UNPKG

@muhlba91/pulumi-proxmoxve

Version:

A Pulumi package for creating and managing Proxmox Virtual Environment cloud resources.

250 lines (249 loc) 8 kB
import * as pulumi from "@pulumi/pulumi"; /** * Manages firewall options on VM / Container level. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve"; * * const example = new proxmoxve.network.FirewallOptions("example", { * nodeName: proxmox_virtual_environment_vm.example.node_name, * vmId: proxmox_virtual_environment_vm.example.vm_id, * dhcp: true, * enabled: false, * ipfilter: true, * logLevelIn: "info", * logLevelOut: "info", * macfilter: false, * ndp: true, * inputPolicy: "ACCEPT", * outputPolicy: "ACCEPT", * radv: true, * }, { * dependsOn: [proxmox_virtual_environment_vm.example], * }); * ``` */ export declare class FirewallOptions extends pulumi.CustomResource { /** * Get an existing FirewallOptions 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?: FirewallOptionsState, opts?: pulumi.CustomResourceOptions): FirewallOptions; /** * Returns true if the given object is an instance of FirewallOptions. 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 FirewallOptions; /** * Container ID. Leave empty for cluster level aliases. */ readonly containerId: pulumi.Output<number | undefined>; /** * Enable DHCP. */ readonly dhcp: pulumi.Output<boolean | undefined>; /** * Enable or disable the firewall. */ readonly enabled: pulumi.Output<boolean | undefined>; /** * The default input * policy (`ACCEPT`, `DROP`, `REJECT`). */ readonly inputPolicy: pulumi.Output<string | undefined>; /** * Enable default IP filters. This is equivalent to * adding an empty `ipfilter-net<id>` ipset for every interface. Such ipsets * implicitly contain sane default restrictions such as restricting IPv6 link * local addresses to the one derived from the interface's MAC address. For * containers the configured IP addresses will be implicitly added. */ readonly ipfilter: pulumi.Output<boolean | undefined>; /** * Log level for incoming * packets (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`, * `debug`, `nolog`). */ readonly logLevelIn: pulumi.Output<string | undefined>; /** * Log level for outgoing * packets (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`, * `debug`, `nolog`). */ readonly logLevelOut: pulumi.Output<string | undefined>; /** * Enable/disable MAC address filter. */ readonly macfilter: pulumi.Output<boolean | undefined>; /** * Enable NDP (Neighbor Discovery Protocol). */ readonly ndp: pulumi.Output<boolean | undefined>; /** * Node name. */ readonly nodeName: pulumi.Output<string>; /** * The default output * policy (`ACCEPT`, `DROP`, `REJECT`). */ readonly outputPolicy: pulumi.Output<string | undefined>; /** * Enable Router Advertisement. */ readonly radv: pulumi.Output<boolean | undefined>; /** * VM ID. Leave empty for cluster level aliases. */ readonly vmId: pulumi.Output<number | undefined>; /** * Create a FirewallOptions 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: FirewallOptionsArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering FirewallOptions resources. */ export interface FirewallOptionsState { /** * Container ID. Leave empty for cluster level aliases. */ containerId?: pulumi.Input<number>; /** * Enable DHCP. */ dhcp?: pulumi.Input<boolean>; /** * Enable or disable the firewall. */ enabled?: pulumi.Input<boolean>; /** * The default input * policy (`ACCEPT`, `DROP`, `REJECT`). */ inputPolicy?: pulumi.Input<string>; /** * Enable default IP filters. This is equivalent to * adding an empty `ipfilter-net<id>` ipset for every interface. Such ipsets * implicitly contain sane default restrictions such as restricting IPv6 link * local addresses to the one derived from the interface's MAC address. For * containers the configured IP addresses will be implicitly added. */ ipfilter?: pulumi.Input<boolean>; /** * Log level for incoming * packets (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`, * `debug`, `nolog`). */ logLevelIn?: pulumi.Input<string>; /** * Log level for outgoing * packets (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`, * `debug`, `nolog`). */ logLevelOut?: pulumi.Input<string>; /** * Enable/disable MAC address filter. */ macfilter?: pulumi.Input<boolean>; /** * Enable NDP (Neighbor Discovery Protocol). */ ndp?: pulumi.Input<boolean>; /** * Node name. */ nodeName?: pulumi.Input<string>; /** * The default output * policy (`ACCEPT`, `DROP`, `REJECT`). */ outputPolicy?: pulumi.Input<string>; /** * Enable Router Advertisement. */ radv?: pulumi.Input<boolean>; /** * VM ID. Leave empty for cluster level aliases. */ vmId?: pulumi.Input<number>; } /** * The set of arguments for constructing a FirewallOptions resource. */ export interface FirewallOptionsArgs { /** * Container ID. Leave empty for cluster level aliases. */ containerId?: pulumi.Input<number>; /** * Enable DHCP. */ dhcp?: pulumi.Input<boolean>; /** * Enable or disable the firewall. */ enabled?: pulumi.Input<boolean>; /** * The default input * policy (`ACCEPT`, `DROP`, `REJECT`). */ inputPolicy?: pulumi.Input<string>; /** * Enable default IP filters. This is equivalent to * adding an empty `ipfilter-net<id>` ipset for every interface. Such ipsets * implicitly contain sane default restrictions such as restricting IPv6 link * local addresses to the one derived from the interface's MAC address. For * containers the configured IP addresses will be implicitly added. */ ipfilter?: pulumi.Input<boolean>; /** * Log level for incoming * packets (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`, * `debug`, `nolog`). */ logLevelIn?: pulumi.Input<string>; /** * Log level for outgoing * packets (`emerg`, `alert`, `crit`, `err`, `warning`, `notice`, `info`, * `debug`, `nolog`). */ logLevelOut?: pulumi.Input<string>; /** * Enable/disable MAC address filter. */ macfilter?: pulumi.Input<boolean>; /** * Enable NDP (Neighbor Discovery Protocol). */ ndp?: pulumi.Input<boolean>; /** * Node name. */ nodeName: pulumi.Input<string>; /** * The default output * policy (`ACCEPT`, `DROP`, `REJECT`). */ outputPolicy?: pulumi.Input<string>; /** * Enable Router Advertisement. */ radv?: pulumi.Input<boolean>; /** * VM ID. Leave empty for cluster level aliases. */ vmId?: pulumi.Input<number>; }