@pulumiverse/fortios
Version:
A Pulumi package for creating and managing Fortios resources. Based on terraform-provider-fortios: version v1.16.0
405 lines (404 loc) • 16.5 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Configure user groups.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as fortios from "@pulumiverse/fortios";
*
* const trname = new fortios.user.Group("trname", {
* company: "optional",
* email: "enable",
* expire: 14400,
* expireType: "immediately",
* groupType: "firewall",
* maxAccounts: 0,
* members: [{
* name: "guest",
* }],
* mobilePhone: "disable",
* multipleGuestAdd: "disable",
* });
* ```
*
* ## Import
*
* User Group can be imported using any of these accepted formats:
*
* ```sh
* $ pulumi import fortios:user/group:Group labelname {{name}}
* ```
*
* If you do not want to import arguments of block:
*
* $ export "FORTIOS_IMPORT_TABLE"="false"
*
* ```sh
* $ pulumi import fortios:user/group:Group labelname {{name}}
* ```
*
* $ unset "FORTIOS_IMPORT_TABLE"
*/
export declare class Group extends pulumi.CustomResource {
/**
* Get an existing Group 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?: GroupState, opts?: pulumi.CustomResourceOptions): Group;
/**
* Returns true if the given object is an instance of Group. 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 Group;
/**
* Enable/disable overriding the global number of concurrent authentication sessions for this user group. Valid values: `enable`, `disable`.
*/
readonly authConcurrentOverride: pulumi.Output<string>;
/**
* Maximum number of concurrent authenticated connections per user (0 - 100).
*/
readonly authConcurrentValue: pulumi.Output<number>;
/**
* Authentication timeout in minutes for this user group. 0 to use the global user setting auth-timeout.
*/
readonly authtimeout: pulumi.Output<number>;
/**
* Set the action for the company guest user field. Valid values: `optional`, `mandatory`, `disabled`.
*/
readonly company: 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>;
/**
* Enable/disable the guest user email address field. Valid values: `disable`, `enable`.
*/
readonly email: pulumi.Output<string>;
/**
* Time in seconds before guest user accounts expire (1 - 31536000).
*/
readonly expire: pulumi.Output<number>;
/**
* Determine when the expiration countdown begins. Valid values: `immediately`, `first-successful-login`.
*/
readonly expireType: pulumi.Output<string>;
/**
* Group ID.
*/
readonly fosid: pulumi.Output<number>;
/**
* 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>;
/**
* Set the group to be for firewall authentication, FSSO, RSSO, or guest users. Valid values: `firewall`, `fsso-service`, `rsso`, `guest`.
*/
readonly groupType: pulumi.Output<string>;
/**
* Guest User. The structure of `guest` block is documented below.
*/
readonly guests: pulumi.Output<outputs.user.GroupGuest[] | undefined>;
/**
* Realm attribute for MD5-digest authentication.
*/
readonly httpDigestRealm: pulumi.Output<string>;
/**
* Group matches. The structure of `match` block is documented below.
*/
readonly matches: pulumi.Output<outputs.user.GroupMatch[] | undefined>;
/**
* Maximum number of guest accounts that can be created for this group (0 means unlimited).
*/
readonly maxAccounts: pulumi.Output<number>;
/**
* Names of users, peers, LDAP severs, or RADIUS servers to add to the user group. The structure of `member` block is documented below.
*/
readonly members: pulumi.Output<outputs.user.GroupMember[] | undefined>;
/**
* Enable/disable the guest user mobile phone number field. Valid values: `disable`, `enable`.
*/
readonly mobilePhone: pulumi.Output<string>;
/**
* Enable/disable addition of multiple guests. Valid values: `disable`, `enable`.
*/
readonly multipleGuestAdd: pulumi.Output<string>;
/**
* Group name.
*/
readonly name: pulumi.Output<string>;
/**
* Guest user password type. Valid values: `auto-generate`, `specify`, `disable`.
*/
readonly password: pulumi.Output<string>;
/**
* SMS server.
*/
readonly smsCustomServer: pulumi.Output<string>;
/**
* Send SMS through FortiGuard or other external server. Valid values: `fortiguard`, `custom`.
*/
readonly smsServer: pulumi.Output<string>;
/**
* Set the action for the sponsor guest user field. Valid values: `optional`, `mandatory`, `disabled`.
*/
readonly sponsor: pulumi.Output<string>;
/**
* Name of the RADIUS user group that this local user group represents.
*/
readonly ssoAttributeValue: pulumi.Output<string>;
/**
* Guest user ID type. Valid values: `email`, `auto-generate`, `specify`.
*/
readonly userId: pulumi.Output<string>;
/**
* Enable/disable the guest user name entry. Valid values: `disable`, `enable`.
*/
readonly userName: 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 Group 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?: GroupArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Group resources.
*/
export interface GroupState {
/**
* Enable/disable overriding the global number of concurrent authentication sessions for this user group. Valid values: `enable`, `disable`.
*/
authConcurrentOverride?: pulumi.Input<string>;
/**
* Maximum number of concurrent authenticated connections per user (0 - 100).
*/
authConcurrentValue?: pulumi.Input<number>;
/**
* Authentication timeout in minutes for this user group. 0 to use the global user setting auth-timeout.
*/
authtimeout?: pulumi.Input<number>;
/**
* Set the action for the company guest user field. Valid values: `optional`, `mandatory`, `disabled`.
*/
company?: 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>;
/**
* Enable/disable the guest user email address field. Valid values: `disable`, `enable`.
*/
email?: pulumi.Input<string>;
/**
* Time in seconds before guest user accounts expire (1 - 31536000).
*/
expire?: pulumi.Input<number>;
/**
* Determine when the expiration countdown begins. Valid values: `immediately`, `first-successful-login`.
*/
expireType?: pulumi.Input<string>;
/**
* Group ID.
*/
fosid?: pulumi.Input<number>;
/**
* 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>;
/**
* Set the group to be for firewall authentication, FSSO, RSSO, or guest users. Valid values: `firewall`, `fsso-service`, `rsso`, `guest`.
*/
groupType?: pulumi.Input<string>;
/**
* Guest User. The structure of `guest` block is documented below.
*/
guests?: pulumi.Input<pulumi.Input<inputs.user.GroupGuest>[]>;
/**
* Realm attribute for MD5-digest authentication.
*/
httpDigestRealm?: pulumi.Input<string>;
/**
* Group matches. The structure of `match` block is documented below.
*/
matches?: pulumi.Input<pulumi.Input<inputs.user.GroupMatch>[]>;
/**
* Maximum number of guest accounts that can be created for this group (0 means unlimited).
*/
maxAccounts?: pulumi.Input<number>;
/**
* Names of users, peers, LDAP severs, or RADIUS servers to add to the user group. The structure of `member` block is documented below.
*/
members?: pulumi.Input<pulumi.Input<inputs.user.GroupMember>[]>;
/**
* Enable/disable the guest user mobile phone number field. Valid values: `disable`, `enable`.
*/
mobilePhone?: pulumi.Input<string>;
/**
* Enable/disable addition of multiple guests. Valid values: `disable`, `enable`.
*/
multipleGuestAdd?: pulumi.Input<string>;
/**
* Group name.
*/
name?: pulumi.Input<string>;
/**
* Guest user password type. Valid values: `auto-generate`, `specify`, `disable`.
*/
password?: pulumi.Input<string>;
/**
* SMS server.
*/
smsCustomServer?: pulumi.Input<string>;
/**
* Send SMS through FortiGuard or other external server. Valid values: `fortiguard`, `custom`.
*/
smsServer?: pulumi.Input<string>;
/**
* Set the action for the sponsor guest user field. Valid values: `optional`, `mandatory`, `disabled`.
*/
sponsor?: pulumi.Input<string>;
/**
* Name of the RADIUS user group that this local user group represents.
*/
ssoAttributeValue?: pulumi.Input<string>;
/**
* Guest user ID type. Valid values: `email`, `auto-generate`, `specify`.
*/
userId?: pulumi.Input<string>;
/**
* Enable/disable the guest user name entry. Valid values: `disable`, `enable`.
*/
userName?: 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 Group resource.
*/
export interface GroupArgs {
/**
* Enable/disable overriding the global number of concurrent authentication sessions for this user group. Valid values: `enable`, `disable`.
*/
authConcurrentOverride?: pulumi.Input<string>;
/**
* Maximum number of concurrent authenticated connections per user (0 - 100).
*/
authConcurrentValue?: pulumi.Input<number>;
/**
* Authentication timeout in minutes for this user group. 0 to use the global user setting auth-timeout.
*/
authtimeout?: pulumi.Input<number>;
/**
* Set the action for the company guest user field. Valid values: `optional`, `mandatory`, `disabled`.
*/
company?: 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>;
/**
* Enable/disable the guest user email address field. Valid values: `disable`, `enable`.
*/
email?: pulumi.Input<string>;
/**
* Time in seconds before guest user accounts expire (1 - 31536000).
*/
expire?: pulumi.Input<number>;
/**
* Determine when the expiration countdown begins. Valid values: `immediately`, `first-successful-login`.
*/
expireType?: pulumi.Input<string>;
/**
* Group ID.
*/
fosid?: pulumi.Input<number>;
/**
* 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>;
/**
* Set the group to be for firewall authentication, FSSO, RSSO, or guest users. Valid values: `firewall`, `fsso-service`, `rsso`, `guest`.
*/
groupType?: pulumi.Input<string>;
/**
* Guest User. The structure of `guest` block is documented below.
*/
guests?: pulumi.Input<pulumi.Input<inputs.user.GroupGuest>[]>;
/**
* Realm attribute for MD5-digest authentication.
*/
httpDigestRealm?: pulumi.Input<string>;
/**
* Group matches. The structure of `match` block is documented below.
*/
matches?: pulumi.Input<pulumi.Input<inputs.user.GroupMatch>[]>;
/**
* Maximum number of guest accounts that can be created for this group (0 means unlimited).
*/
maxAccounts?: pulumi.Input<number>;
/**
* Names of users, peers, LDAP severs, or RADIUS servers to add to the user group. The structure of `member` block is documented below.
*/
members?: pulumi.Input<pulumi.Input<inputs.user.GroupMember>[]>;
/**
* Enable/disable the guest user mobile phone number field. Valid values: `disable`, `enable`.
*/
mobilePhone?: pulumi.Input<string>;
/**
* Enable/disable addition of multiple guests. Valid values: `disable`, `enable`.
*/
multipleGuestAdd?: pulumi.Input<string>;
/**
* Group name.
*/
name?: pulumi.Input<string>;
/**
* Guest user password type. Valid values: `auto-generate`, `specify`, `disable`.
*/
password?: pulumi.Input<string>;
/**
* SMS server.
*/
smsCustomServer?: pulumi.Input<string>;
/**
* Send SMS through FortiGuard or other external server. Valid values: `fortiguard`, `custom`.
*/
smsServer?: pulumi.Input<string>;
/**
* Set the action for the sponsor guest user field. Valid values: `optional`, `mandatory`, `disabled`.
*/
sponsor?: pulumi.Input<string>;
/**
* Name of the RADIUS user group that this local user group represents.
*/
ssoAttributeValue?: pulumi.Input<string>;
/**
* Guest user ID type. Valid values: `email`, `auto-generate`, `specify`.
*/
userId?: pulumi.Input<string>;
/**
* Enable/disable the guest user name entry. Valid values: `disable`, `enable`.
*/
userName?: 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>;
}