@pulumiverse/fortios
Version:
A Pulumi package for creating and managing Fortios resources. Based on terraform-provider-fortios: version v1.16.0
432 lines (431 loc) • 15.8 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Configure NAC policy matching pattern to identify matching NAC devices. Applies to FortiOS Version `>= 6.4.0`.
*
* ## Import
*
* User NacPolicy can be imported using any of these accepted formats:
*
* ```sh
* $ pulumi import fortios:user/nacpolicy:Nacpolicy labelname {{name}}
* ```
*
* If you do not want to import arguments of block:
*
* $ export "FORTIOS_IMPORT_TABLE"="false"
*
* ```sh
* $ pulumi import fortios:user/nacpolicy:Nacpolicy labelname {{name}}
* ```
*
* $ unset "FORTIOS_IMPORT_TABLE"
*/
export declare class Nacpolicy extends pulumi.CustomResource {
/**
* Get an existing Nacpolicy 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?: NacpolicyState, opts?: pulumi.CustomResourceOptions): Nacpolicy;
/**
* Returns true if the given object is an instance of Nacpolicy. 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 Nacpolicy;
/**
* Category of NAC policy.
*/
readonly category: pulumi.Output<string>;
/**
* Description for the NAC policy matching pattern.
*/
readonly description: pulumi.Output<string>;
/**
* Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].
*/
readonly dynamicSortSubtable: pulumi.Output<string | undefined>;
/**
* NAC policy matching EMS tag.
*/
readonly emsTag: pulumi.Output<string>;
/**
* NAC policy matching family.
*/
readonly family: pulumi.Output<string>;
/**
* Dynamic firewall address to associate MAC which match this policy.
*/
readonly firewallAddress: pulumi.Output<string>;
/**
* NAC policy matching FortiVoice tag.
*/
readonly fortivoiceTag: pulumi.Output<string>;
/**
* Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.
*/
readonly getAllTables: pulumi.Output<string | undefined>;
/**
* NAC policy matching host.
*/
readonly host: pulumi.Output<string>;
/**
* NAC policy matching hardware vendor.
*/
readonly hwVendor: pulumi.Output<string>;
/**
* NAC policy matching hardware version.
*/
readonly hwVersion: pulumi.Output<string>;
/**
* NAC policy matching MAC address.
*/
readonly mac: pulumi.Output<string>;
/**
* Number of days the matched devices will be retained (0 - always retain)
*/
readonly matchPeriod: pulumi.Output<number>;
/**
* Match and retain the devices based on the type. Valid values: `dynamic`, `override`.
*/
readonly matchType: pulumi.Output<string>;
/**
* NAC policy name.
*/
readonly name: pulumi.Output<string>;
/**
* NAC policy matching operating system.
*/
readonly os: pulumi.Output<string>;
/**
* NAC policy matching devices vulnerability severity lists. The structure of `severity` block is documented below.
*/
readonly severities: pulumi.Output<outputs.user.NacpolicySeverity[] | undefined>;
/**
* NAC policy matching source.
*/
readonly src: pulumi.Output<string>;
/**
* SSID policy to be applied on the matched NAC policy.
*/
readonly ssidPolicy: pulumi.Output<string>;
/**
* Enable/disable NAC policy. Valid values: `enable`, `disable`.
*/
readonly status: pulumi.Output<string>;
/**
* NAC policy matching software version.
*/
readonly swVersion: pulumi.Output<string>;
/**
* NAC device auto authorization when discovered and nac-policy matched. Valid values: `global`, `disable`, `enable`.
*/
readonly switchAutoAuth: pulumi.Output<string>;
/**
* FortiLink interface for which this NAC policy belongs to.
*/
readonly switchFortilink: pulumi.Output<string>;
/**
* List of managed FortiSwitch groups on which NAC policy can be applied. The structure of `switchGroup` block is documented below.
*/
readonly switchGroups: pulumi.Output<outputs.user.NacpolicySwitchGroup[] | undefined>;
/**
* switch-mac-policy to be applied on the matched NAC policy.
*/
readonly switchMacPolicy: pulumi.Output<string>;
/**
* switch-port-policy to be applied on the matched NAC policy.
*/
readonly switchPortPolicy: pulumi.Output<string>;
/**
* List of managed FortiSwitches on which NAC policy can be applied. The structure of `switchScope` block is documented below.
*/
readonly switchScopes: pulumi.Output<outputs.user.NacpolicySwitchScope[] | undefined>;
/**
* NAC policy matching type.
*/
readonly type: pulumi.Output<string>;
/**
* NAC policy matching user.
*/
readonly user: pulumi.Output<string>;
/**
* NAC policy matching user group.
*/
readonly userGroup: pulumi.Output<string>;
/**
* Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
*/
readonly vdomparam: pulumi.Output<string>;
/**
* Create a Nacpolicy 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?: NacpolicyArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Nacpolicy resources.
*/
export interface NacpolicyState {
/**
* Category of NAC policy.
*/
category?: pulumi.Input<string>;
/**
* Description for the NAC policy matching pattern.
*/
description?: pulumi.Input<string>;
/**
* Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].
*/
dynamicSortSubtable?: pulumi.Input<string>;
/**
* NAC policy matching EMS tag.
*/
emsTag?: pulumi.Input<string>;
/**
* NAC policy matching family.
*/
family?: pulumi.Input<string>;
/**
* Dynamic firewall address to associate MAC which match this policy.
*/
firewallAddress?: pulumi.Input<string>;
/**
* NAC policy matching FortiVoice tag.
*/
fortivoiceTag?: pulumi.Input<string>;
/**
* Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.
*/
getAllTables?: pulumi.Input<string>;
/**
* NAC policy matching host.
*/
host?: pulumi.Input<string>;
/**
* NAC policy matching hardware vendor.
*/
hwVendor?: pulumi.Input<string>;
/**
* NAC policy matching hardware version.
*/
hwVersion?: pulumi.Input<string>;
/**
* NAC policy matching MAC address.
*/
mac?: pulumi.Input<string>;
/**
* Number of days the matched devices will be retained (0 - always retain)
*/
matchPeriod?: pulumi.Input<number>;
/**
* Match and retain the devices based on the type. Valid values: `dynamic`, `override`.
*/
matchType?: pulumi.Input<string>;
/**
* NAC policy name.
*/
name?: pulumi.Input<string>;
/**
* NAC policy matching operating system.
*/
os?: pulumi.Input<string>;
/**
* NAC policy matching devices vulnerability severity lists. The structure of `severity` block is documented below.
*/
severities?: pulumi.Input<pulumi.Input<inputs.user.NacpolicySeverity>[]>;
/**
* NAC policy matching source.
*/
src?: pulumi.Input<string>;
/**
* SSID policy to be applied on the matched NAC policy.
*/
ssidPolicy?: pulumi.Input<string>;
/**
* Enable/disable NAC policy. Valid values: `enable`, `disable`.
*/
status?: pulumi.Input<string>;
/**
* NAC policy matching software version.
*/
swVersion?: pulumi.Input<string>;
/**
* NAC device auto authorization when discovered and nac-policy matched. Valid values: `global`, `disable`, `enable`.
*/
switchAutoAuth?: pulumi.Input<string>;
/**
* FortiLink interface for which this NAC policy belongs to.
*/
switchFortilink?: pulumi.Input<string>;
/**
* List of managed FortiSwitch groups on which NAC policy can be applied. The structure of `switchGroup` block is documented below.
*/
switchGroups?: pulumi.Input<pulumi.Input<inputs.user.NacpolicySwitchGroup>[]>;
/**
* switch-mac-policy to be applied on the matched NAC policy.
*/
switchMacPolicy?: pulumi.Input<string>;
/**
* switch-port-policy to be applied on the matched NAC policy.
*/
switchPortPolicy?: pulumi.Input<string>;
/**
* List of managed FortiSwitches on which NAC policy can be applied. The structure of `switchScope` block is documented below.
*/
switchScopes?: pulumi.Input<pulumi.Input<inputs.user.NacpolicySwitchScope>[]>;
/**
* NAC policy matching type.
*/
type?: pulumi.Input<string>;
/**
* NAC policy matching user.
*/
user?: pulumi.Input<string>;
/**
* NAC policy matching user group.
*/
userGroup?: pulumi.Input<string>;
/**
* Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
*/
vdomparam?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a Nacpolicy resource.
*/
export interface NacpolicyArgs {
/**
* Category of NAC policy.
*/
category?: pulumi.Input<string>;
/**
* Description for the NAC policy matching pattern.
*/
description?: pulumi.Input<string>;
/**
* Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].
*/
dynamicSortSubtable?: pulumi.Input<string>;
/**
* NAC policy matching EMS tag.
*/
emsTag?: pulumi.Input<string>;
/**
* NAC policy matching family.
*/
family?: pulumi.Input<string>;
/**
* Dynamic firewall address to associate MAC which match this policy.
*/
firewallAddress?: pulumi.Input<string>;
/**
* NAC policy matching FortiVoice tag.
*/
fortivoiceTag?: pulumi.Input<string>;
/**
* Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.
*/
getAllTables?: pulumi.Input<string>;
/**
* NAC policy matching host.
*/
host?: pulumi.Input<string>;
/**
* NAC policy matching hardware vendor.
*/
hwVendor?: pulumi.Input<string>;
/**
* NAC policy matching hardware version.
*/
hwVersion?: pulumi.Input<string>;
/**
* NAC policy matching MAC address.
*/
mac?: pulumi.Input<string>;
/**
* Number of days the matched devices will be retained (0 - always retain)
*/
matchPeriod?: pulumi.Input<number>;
/**
* Match and retain the devices based on the type. Valid values: `dynamic`, `override`.
*/
matchType?: pulumi.Input<string>;
/**
* NAC policy name.
*/
name?: pulumi.Input<string>;
/**
* NAC policy matching operating system.
*/
os?: pulumi.Input<string>;
/**
* NAC policy matching devices vulnerability severity lists. The structure of `severity` block is documented below.
*/
severities?: pulumi.Input<pulumi.Input<inputs.user.NacpolicySeverity>[]>;
/**
* NAC policy matching source.
*/
src?: pulumi.Input<string>;
/**
* SSID policy to be applied on the matched NAC policy.
*/
ssidPolicy?: pulumi.Input<string>;
/**
* Enable/disable NAC policy. Valid values: `enable`, `disable`.
*/
status?: pulumi.Input<string>;
/**
* NAC policy matching software version.
*/
swVersion?: pulumi.Input<string>;
/**
* NAC device auto authorization when discovered and nac-policy matched. Valid values: `global`, `disable`, `enable`.
*/
switchAutoAuth?: pulumi.Input<string>;
/**
* FortiLink interface for which this NAC policy belongs to.
*/
switchFortilink?: pulumi.Input<string>;
/**
* List of managed FortiSwitch groups on which NAC policy can be applied. The structure of `switchGroup` block is documented below.
*/
switchGroups?: pulumi.Input<pulumi.Input<inputs.user.NacpolicySwitchGroup>[]>;
/**
* switch-mac-policy to be applied on the matched NAC policy.
*/
switchMacPolicy?: pulumi.Input<string>;
/**
* switch-port-policy to be applied on the matched NAC policy.
*/
switchPortPolicy?: pulumi.Input<string>;
/**
* List of managed FortiSwitches on which NAC policy can be applied. The structure of `switchScope` block is documented below.
*/
switchScopes?: pulumi.Input<pulumi.Input<inputs.user.NacpolicySwitchScope>[]>;
/**
* NAC policy matching type.
*/
type?: pulumi.Input<string>;
/**
* NAC policy matching user.
*/
user?: pulumi.Input<string>;
/**
* NAC policy matching user group.
*/
userGroup?: pulumi.Input<string>;
/**
* Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
*/
vdomparam?: pulumi.Input<string>;
}