UNPKG

@pulumiverse/fortios

Version:

A Pulumi package for creating and managing Fortios resources. Based on terraform-provider-fortios: version v1.16.0

287 lines (286 loc) 13.6 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Configure FortiClient endpoint control profiles. Applies to FortiOS Version `<= 6.2.0`. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as fortios from "@pulumiverse/fortios"; * * const trname = new fortios.endpointcontrol.Profile("trname", { * deviceGroups: [{ * name: "Mobile Devices", * }], * forticlientAndroidSettings: { * disableWfWhenProtected: "enable", * forticlientAdvancedVpn: "disable", * forticlientVpnProvisioning: "disable", * forticlientWf: "disable", * }, * forticlientIosSettings: { * clientVpnProvisioning: "disable", * disableWfWhenProtected: "enable", * distributeConfigurationProfile: "disable", * forticlientWf: "disable", * }, * forticlientWinmacSettings: { * avRealtimeProtection: "disable", * avSignatureUpToDate: "disable", * forticlientApplicationFirewall: "disable", * forticlientAv: "disable", * forticlientEmsCompliance: "disable", * forticlientEmsComplianceAction: "warning", * forticlientLinuxVer: "5.4.1", * forticlientLogUpload: "enable", * forticlientLogUploadLevel: "traffic vulnerability event", * forticlientMacVer: "5.4.1", * forticlientMinimumSoftwareVersion: "disable", * forticlientRegistrationComplianceAction: "warning", * forticlientSecurityPosture: "disable", * forticlientSecurityPostureComplianceAction: "warning", * forticlientSystemCompliance: "enable", * forticlientSystemComplianceAction: "warning", * forticlientVulnScan: "enable", * forticlientVulnScanComplianceAction: "warning", * forticlientVulnScanEnforce: "high", * forticlientVulnScanEnforceGrace: 1, * forticlientVulnScanExempt: "disable", * forticlientWf: "disable", * forticlientWinVer: "5.4.1", * osAvSoftwareInstalled: "disable", * sandboxAnalysis: "disable", * }, * onNetAddrs: [{ * name: "all", * }], * profileName: "1", * users: [{ * name: "guest", * }], * }); * ``` * * ## Import * * EndpointControl Profile can be imported using any of these accepted formats: * * ```sh * $ pulumi import fortios:endpointcontrol/profile:Profile labelname {{profile_name}} * ``` * * If you do not want to import arguments of block: * * $ export "FORTIOS_IMPORT_TABLE"="false" * * ```sh * $ pulumi import fortios:endpointcontrol/profile:Profile labelname {{profile_name}} * ``` * * $ unset "FORTIOS_IMPORT_TABLE" */ export declare class Profile extends pulumi.CustomResource { /** * Get an existing Profile 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?: ProfileState, opts?: pulumi.CustomResourceOptions): Profile; /** * Returns true if the given object is an instance of Profile. 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 Profile; /** * Description. */ readonly description: pulumi.Output<string | undefined>; /** * Device groups. The structure of `deviceGroups` block is documented below. */ readonly deviceGroups: pulumi.Output<outputs.endpointcontrol.ProfileDeviceGroup[] | undefined>; /** * 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>; /** * FortiClient settings for Android platform. The structure of `forticlientAndroidSettings` block is documented below. */ readonly forticlientAndroidSettings: pulumi.Output<outputs.endpointcontrol.ProfileForticlientAndroidSettings>; /** * FortiClient settings for iOS platform. The structure of `forticlientIosSettings` block is documented below. */ readonly forticlientIosSettings: pulumi.Output<outputs.endpointcontrol.ProfileForticlientIosSettings>; /** * FortiClient settings for Windows/Mac platform. The structure of `forticlientWinmacSettings` block is documented below. */ readonly forticlientWinmacSettings: pulumi.Output<outputs.endpointcontrol.ProfileForticlientWinmacSettings>; /** * 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>; /** * Addresses for on-net detection. The structure of `onNetAddr` block is documented below. */ readonly onNetAddrs: pulumi.Output<outputs.endpointcontrol.ProfileOnNetAddr[] | undefined>; /** * Profile name. */ readonly profileName: pulumi.Output<string>; /** * Select an endpoint control replacement message override group from available options. */ readonly replacemsgOverrideGroup: pulumi.Output<string>; /** * Source addresses. The structure of `srcAddr` block is documented below. */ readonly srcAddrs: pulumi.Output<outputs.endpointcontrol.ProfileSrcAddr[] | undefined>; /** * User groups. The structure of `userGroups` block is documented below. */ readonly userGroups: pulumi.Output<outputs.endpointcontrol.ProfileUserGroup[] | undefined>; /** * Users. The structure of `users` block is documented below. */ readonly users: pulumi.Output<outputs.endpointcontrol.ProfileUser[] | undefined>; /** * 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 Profile 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?: ProfileArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Profile resources. */ export interface ProfileState { /** * Description. */ description?: pulumi.Input<string>; /** * Device groups. The structure of `deviceGroups` block is documented below. */ deviceGroups?: pulumi.Input<pulumi.Input<inputs.endpointcontrol.ProfileDeviceGroup>[]>; /** * 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>; /** * FortiClient settings for Android platform. The structure of `forticlientAndroidSettings` block is documented below. */ forticlientAndroidSettings?: pulumi.Input<inputs.endpointcontrol.ProfileForticlientAndroidSettings>; /** * FortiClient settings for iOS platform. The structure of `forticlientIosSettings` block is documented below. */ forticlientIosSettings?: pulumi.Input<inputs.endpointcontrol.ProfileForticlientIosSettings>; /** * FortiClient settings for Windows/Mac platform. The structure of `forticlientWinmacSettings` block is documented below. */ forticlientWinmacSettings?: pulumi.Input<inputs.endpointcontrol.ProfileForticlientWinmacSettings>; /** * 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>; /** * Addresses for on-net detection. The structure of `onNetAddr` block is documented below. */ onNetAddrs?: pulumi.Input<pulumi.Input<inputs.endpointcontrol.ProfileOnNetAddr>[]>; /** * Profile name. */ profileName?: pulumi.Input<string>; /** * Select an endpoint control replacement message override group from available options. */ replacemsgOverrideGroup?: pulumi.Input<string>; /** * Source addresses. The structure of `srcAddr` block is documented below. */ srcAddrs?: pulumi.Input<pulumi.Input<inputs.endpointcontrol.ProfileSrcAddr>[]>; /** * User groups. The structure of `userGroups` block is documented below. */ userGroups?: pulumi.Input<pulumi.Input<inputs.endpointcontrol.ProfileUserGroup>[]>; /** * Users. The structure of `users` block is documented below. */ users?: pulumi.Input<pulumi.Input<inputs.endpointcontrol.ProfileUser>[]>; /** * 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 Profile resource. */ export interface ProfileArgs { /** * Description. */ description?: pulumi.Input<string>; /** * Device groups. The structure of `deviceGroups` block is documented below. */ deviceGroups?: pulumi.Input<pulumi.Input<inputs.endpointcontrol.ProfileDeviceGroup>[]>; /** * 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>; /** * FortiClient settings for Android platform. The structure of `forticlientAndroidSettings` block is documented below. */ forticlientAndroidSettings?: pulumi.Input<inputs.endpointcontrol.ProfileForticlientAndroidSettings>; /** * FortiClient settings for iOS platform. The structure of `forticlientIosSettings` block is documented below. */ forticlientIosSettings?: pulumi.Input<inputs.endpointcontrol.ProfileForticlientIosSettings>; /** * FortiClient settings for Windows/Mac platform. The structure of `forticlientWinmacSettings` block is documented below. */ forticlientWinmacSettings?: pulumi.Input<inputs.endpointcontrol.ProfileForticlientWinmacSettings>; /** * 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>; /** * Addresses for on-net detection. The structure of `onNetAddr` block is documented below. */ onNetAddrs?: pulumi.Input<pulumi.Input<inputs.endpointcontrol.ProfileOnNetAddr>[]>; /** * Profile name. */ profileName?: pulumi.Input<string>; /** * Select an endpoint control replacement message override group from available options. */ replacemsgOverrideGroup?: pulumi.Input<string>; /** * Source addresses. The structure of `srcAddr` block is documented below. */ srcAddrs?: pulumi.Input<pulumi.Input<inputs.endpointcontrol.ProfileSrcAddr>[]>; /** * User groups. The structure of `userGroups` block is documented below. */ userGroups?: pulumi.Input<pulumi.Input<inputs.endpointcontrol.ProfileUserGroup>[]>; /** * Users. The structure of `users` block is documented below. */ users?: pulumi.Input<pulumi.Input<inputs.endpointcontrol.ProfileUser>[]>; /** * 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>; }