import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface FilevantageRuleGroupConfig extends cdktf.TerraformMetaArguments { /** * Description of the filevantage rule group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#description FilevantageRuleGroup#description} */ readonly description?: string; /** * Name of the filevantage rule group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#name FilevantageRuleGroup#name} */ readonly name: string; /** * Rules to be associated with the rule group. Precedence is determined by the order of the rules in the list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#rules FilevantageRuleGroup#rules} */ readonly rules?: FilevantageRuleGroupRules[] | cdktf.IResolvable; /** * The type of filevantage rule group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#type FilevantageRuleGroup#type} */ readonly type?: string; } export interface FilevantageRuleGroupRules { /** * Depth below the base path to monitor. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#depth FilevantageRuleGroup#depth} */ readonly depth?: string; /** * Description of the filevantage rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#description FilevantageRuleGroup#description} */ readonly description: string; /** * Enable content capture for the rule. Requires watch_file_write_changes or watch_key_value_set_changes to be enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#enable_content_capture FilevantageRuleGroup#enable_content_capture} */ readonly enableContentCapture?: boolean | cdktf.IResolvable; /** * Represents the files, directories, registry keys, or registry values that will be excluded from monitoring. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#exclude FilevantageRuleGroup#exclude} */ readonly exclude?: string; /** * Represents the changes performed by specific processes that will be excluded from monitoring. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#exclude_processes FilevantageRuleGroup#exclude_processes} */ readonly excludeProcesses?: string; /** * Represents the changes performed by specific users that will be excluded from monitoring. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#exclude_users FilevantageRuleGroup#exclude_users} */ readonly excludeUsers?: string; /** * List of file names whose content will be monitored. Listed files must match the file include pattern and not match the file exclude pattern. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#file_names FilevantageRuleGroup#file_names} */ readonly fileNames?: string[]; /** * Represents the files, directories, registry keys, or registry values that will be monitored. Defaults to all (*) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#include FilevantageRuleGroup#include} */ readonly include?: string; /** * Represents the changes performed by specific processes that will be monitored. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#include_processes FilevantageRuleGroup#include_processes} */ readonly includeProcesses?: string; /** * Represents the changes performed by specific users that will be monitored. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#include_users FilevantageRuleGroup#include_users} */ readonly includeUsers?: string; /** * Representing the file system or registry path to monitor. All paths must end with the path separator, e.g. c:\windows\ for windows and /usr/bin/ for linux/mac. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#path FilevantageRuleGroup#path} */ readonly path: string; /** * List of registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#registry_values FilevantageRuleGroup#registry_values} */ readonly registryValues?: string[]; /** * Severity to categorize change events produced by this rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#severity FilevantageRuleGroup#severity} */ readonly severity: string; /** * Monitor directory attribute change events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_directory_attribute_changes FilevantageRuleGroup#watch_directory_attribute_changes} */ readonly watchDirectoryAttributeChanges?: boolean | cdktf.IResolvable; /** * Monitor directory creation events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_directory_create_changes FilevantageRuleGroup#watch_directory_create_changes} */ readonly watchDirectoryCreateChanges?: boolean | cdktf.IResolvable; /** * Monitor directory deletion events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_directory_delete_changes FilevantageRuleGroup#watch_directory_delete_changes} */ readonly watchDirectoryDeleteChanges?: boolean | cdktf.IResolvable; /** * Monitor directory permission change events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_directory_permission_changes FilevantageRuleGroup#watch_directory_permission_changes} */ readonly watchDirectoryPermissionChanges?: boolean | cdktf.IResolvable; /** * Monitor directory rename events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_directory_rename_changes FilevantageRuleGroup#watch_directory_rename_changes} */ readonly watchDirectoryRenameChanges?: boolean | cdktf.IResolvable; /** * Monitor file attribute change events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_file_attribute_changes FilevantageRuleGroup#watch_file_attribute_changes} */ readonly watchFileAttributeChanges?: boolean | cdktf.IResolvable; /** * Monitor file creation events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_file_create_changes FilevantageRuleGroup#watch_file_create_changes} */ readonly watchFileCreateChanges?: boolean | cdktf.IResolvable; /** * Monitor file deletion events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_file_delete_changes FilevantageRuleGroup#watch_file_delete_changes} */ readonly watchFileDeleteChanges?: boolean | cdktf.IResolvable; /** * Monitor file permission change events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_file_permission_changes FilevantageRuleGroup#watch_file_permission_changes} */ readonly watchFilePermissionChanges?: boolean | cdktf.IResolvable; /** * Monitor file rename events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_file_rename_changes FilevantageRuleGroup#watch_file_rename_changes} */ readonly watchFileRenameChanges?: boolean | cdktf.IResolvable; /** * Monitor file write events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_file_write_changes FilevantageRuleGroup#watch_file_write_changes} */ readonly watchFileWriteChanges?: boolean | cdktf.IResolvable; /** * Monitor registry key creation events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_key_create_changes FilevantageRuleGroup#watch_key_create_changes} */ readonly watchKeyCreateChanges?: boolean | cdktf.IResolvable; /** * Monitor registry key deletion events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_key_delete_changes FilevantageRuleGroup#watch_key_delete_changes} */ readonly watchKeyDeleteChanges?: boolean | cdktf.IResolvable; /** * Monitor registry key permission change events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_key_permissions_changes FilevantageRuleGroup#watch_key_permissions_changes} */ readonly watchKeyPermissionsChanges?: boolean | cdktf.IResolvable; /** * Monitor registry key rename events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_key_rename_changes FilevantageRuleGroup#watch_key_rename_changes} */ readonly watchKeyRenameChanges?: boolean | cdktf.IResolvable; /** * Monitor registry value deletion events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_key_value_delete_changes FilevantageRuleGroup#watch_key_value_delete_changes} */ readonly watchKeyValueDeleteChanges?: boolean | cdktf.IResolvable; /** * Monitor registry value set events. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#watch_key_value_set_changes FilevantageRuleGroup#watch_key_value_set_changes} */ readonly watchKeyValueSetChanges?: boolean | cdktf.IResolvable; } export declare function filevantageRuleGroupRulesToTerraform(struct?: FilevantageRuleGroupRules | cdktf.IResolvable): any; export declare function filevantageRuleGroupRulesToHclTerraform(struct?: FilevantageRuleGroupRules | cdktf.IResolvable): any; export declare class FilevantageRuleGroupRulesOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): FilevantageRuleGroupRules | cdktf.IResolvable | undefined; set internalValue(value: FilevantageRuleGroupRules | cdktf.IResolvable | undefined); private _depth?; get depth(): string; set depth(value: string); resetDepth(): void; get depthInput(): string; private _description?; get description(): string; set description(value: string); get descriptionInput(): string; private _enableContentCapture?; get enableContentCapture(): boolean | cdktf.IResolvable; set enableContentCapture(value: boolean | cdktf.IResolvable); resetEnableContentCapture(): void; get enableContentCaptureInput(): any; private _exclude?; get exclude(): string; set exclude(value: string); resetExclude(): void; get excludeInput(): string; private _excludeProcesses?; get excludeProcesses(): string; set excludeProcesses(value: string); resetExcludeProcesses(): void; get excludeProcessesInput(): string; private _excludeUsers?; get excludeUsers(): string; set excludeUsers(value: string); resetExcludeUsers(): void; get excludeUsersInput(): string; private _fileNames?; get fileNames(): string[]; set fileNames(value: string[]); resetFileNames(): void; get fileNamesInput(): string[]; get id(): any; private _include?; get include(): string; set include(value: string); resetInclude(): void; get includeInput(): string; private _includeProcesses?; get includeProcesses(): string; set includeProcesses(value: string); resetIncludeProcesses(): void; get includeProcessesInput(): string; private _includeUsers?; get includeUsers(): string; set includeUsers(value: string); resetIncludeUsers(): void; get includeUsersInput(): string; private _path?; get path(): string; set path(value: string); get pathInput(): string; get precedence(): any; private _registryValues?; get registryValues(): string[]; set registryValues(value: string[]); resetRegistryValues(): void; get registryValuesInput(): string[]; private _severity?; get severity(): string; set severity(value: string); get severityInput(): string; private _watchDirectoryAttributeChanges?; get watchDirectoryAttributeChanges(): boolean | cdktf.IResolvable; set watchDirectoryAttributeChanges(value: boolean | cdktf.IResolvable); resetWatchDirectoryAttributeChanges(): void; get watchDirectoryAttributeChangesInput(): any; private _watchDirectoryCreateChanges?; get watchDirectoryCreateChanges(): boolean | cdktf.IResolvable; set watchDirectoryCreateChanges(value: boolean | cdktf.IResolvable); resetWatchDirectoryCreateChanges(): void; get watchDirectoryCreateChangesInput(): any; private _watchDirectoryDeleteChanges?; get watchDirectoryDeleteChanges(): boolean | cdktf.IResolvable; set watchDirectoryDeleteChanges(value: boolean | cdktf.IResolvable); resetWatchDirectoryDeleteChanges(): void; get watchDirectoryDeleteChangesInput(): any; private _watchDirectoryPermissionChanges?; get watchDirectoryPermissionChanges(): boolean | cdktf.IResolvable; set watchDirectoryPermissionChanges(value: boolean | cdktf.IResolvable); resetWatchDirectoryPermissionChanges(): void; get watchDirectoryPermissionChangesInput(): any; private _watchDirectoryRenameChanges?; get watchDirectoryRenameChanges(): boolean | cdktf.IResolvable; set watchDirectoryRenameChanges(value: boolean | cdktf.IResolvable); resetWatchDirectoryRenameChanges(): void; get watchDirectoryRenameChangesInput(): any; private _watchFileAttributeChanges?; get watchFileAttributeChanges(): boolean | cdktf.IResolvable; set watchFileAttributeChanges(value: boolean | cdktf.IResolvable); resetWatchFileAttributeChanges(): void; get watchFileAttributeChangesInput(): any; private _watchFileCreateChanges?; get watchFileCreateChanges(): boolean | cdktf.IResolvable; set watchFileCreateChanges(value: boolean | cdktf.IResolvable); resetWatchFileCreateChanges(): void; get watchFileCreateChangesInput(): any; private _watchFileDeleteChanges?; get watchFileDeleteChanges(): boolean | cdktf.IResolvable; set watchFileDeleteChanges(value: boolean | cdktf.IResolvable); resetWatchFileDeleteChanges(): void; get watchFileDeleteChangesInput(): any; private _watchFilePermissionChanges?; get watchFilePermissionChanges(): boolean | cdktf.IResolvable; set watchFilePermissionChanges(value: boolean | cdktf.IResolvable); resetWatchFilePermissionChanges(): void; get watchFilePermissionChangesInput(): any; private _watchFileRenameChanges?; get watchFileRenameChanges(): boolean | cdktf.IResolvable; set watchFileRenameChanges(value: boolean | cdktf.IResolvable); resetWatchFileRenameChanges(): void; get watchFileRenameChangesInput(): any; private _watchFileWriteChanges?; get watchFileWriteChanges(): boolean | cdktf.IResolvable; set watchFileWriteChanges(value: boolean | cdktf.IResolvable); resetWatchFileWriteChanges(): void; get watchFileWriteChangesInput(): any; private _watchKeyCreateChanges?; get watchKeyCreateChanges(): boolean | cdktf.IResolvable; set watchKeyCreateChanges(value: boolean | cdktf.IResolvable); resetWatchKeyCreateChanges(): void; get watchKeyCreateChangesInput(): any; private _watchKeyDeleteChanges?; get watchKeyDeleteChanges(): boolean | cdktf.IResolvable; set watchKeyDeleteChanges(value: boolean | cdktf.IResolvable); resetWatchKeyDeleteChanges(): void; get watchKeyDeleteChangesInput(): any; private _watchKeyPermissionsChanges?; get watchKeyPermissionsChanges(): boolean | cdktf.IResolvable; set watchKeyPermissionsChanges(value: boolean | cdktf.IResolvable); resetWatchKeyPermissionsChanges(): void; get watchKeyPermissionsChangesInput(): any; private _watchKeyRenameChanges?; get watchKeyRenameChanges(): boolean | cdktf.IResolvable; set watchKeyRenameChanges(value: boolean | cdktf.IResolvable); resetWatchKeyRenameChanges(): void; get watchKeyRenameChangesInput(): any; private _watchKeyValueDeleteChanges?; get watchKeyValueDeleteChanges(): boolean | cdktf.IResolvable; set watchKeyValueDeleteChanges(value: boolean | cdktf.IResolvable); resetWatchKeyValueDeleteChanges(): void; get watchKeyValueDeleteChangesInput(): any; private _watchKeyValueSetChanges?; get watchKeyValueSetChanges(): boolean | cdktf.IResolvable; set watchKeyValueSetChanges(value: boolean | cdktf.IResolvable); resetWatchKeyValueSetChanges(): void; get watchKeyValueSetChangesInput(): any; } export declare class FilevantageRuleGroupRulesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: FilevantageRuleGroupRules[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): FilevantageRuleGroupRulesOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group crowdstrike_filevantage_rule_group} */ export declare class FilevantageRuleGroup extends cdktf.TerraformResource { static readonly tfResourceType = "crowdstrike_filevantage_rule_group"; /** * Generates CDKTF code for importing a FilevantageRuleGroup resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the FilevantageRuleGroup to import * @param importFromId The id of the existing FilevantageRuleGroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the FilevantageRuleGroup to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_rule_group crowdstrike_filevantage_rule_group} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options FilevantageRuleGroupConfig */ constructor(scope: Construct, id: string, config: FilevantageRuleGroupConfig); private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; get id(): any; get lastUpdated(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _rules; get rules(): FilevantageRuleGroupRulesList; putRules(value: FilevantageRuleGroupRules[] | cdktf.IResolvable): void; resetRules(): void; get rulesInput(): any; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }