import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface FilevantagePolicyConfig extends cdktf.TerraformMetaArguments { /** * Description of the filevantage policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#description FilevantagePolicy#description} */ readonly description?: string; /** * Enable the filevantage policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#enabled FilevantagePolicy#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; /** * Host Group ids to attach to the filevantage policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#host_groups FilevantagePolicy#host_groups} */ readonly hostGroups?: string[]; /** * Name of the filevantage policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#name FilevantagePolicy#name} */ readonly name: string; /** * Platform for the filevantage policy to manage. (Windows, Mac, Linux) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#platform_name FilevantagePolicy#platform_name} */ readonly platformName: string; /** * Rule Group ids to attach to the filevantage policy. Precedence is based on the order of the list. Rule groups must be the same type as the policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#rule_groups FilevantagePolicy#rule_groups} */ readonly ruleGroups?: string[]; /** * Scheduled exclusions for the filevantage policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#scheduled_exclusions FilevantagePolicy#scheduled_exclusions} */ readonly scheduledExclusions?: FilevantagePolicyScheduledExclusions[] | cdktf.IResolvable; } export interface FilevantagePolicyScheduledExclusionsRepeated { /** * If the exclusion is all day. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#all_day FilevantagePolicy#all_day} */ readonly allDay: boolean | cdktf.IResolvable; /** * The days of the month to allow the exclusion. Required if frequency is set to monthly and monthly_occurrence is set to days. Options: 1-31 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#days_of_month FilevantagePolicy#days_of_month} */ readonly daysOfMonth?: number[]; /** * The days of the week to allow the exclusion. Required if frequency is set to weekly or set to monthly and monthly_occurrence is set to a week. Options: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#days_of_week FilevantagePolicy#days_of_week} */ readonly daysOfWeek?: string[]; /** * The end time to end the scheduled exclusion in 24 hour format. Format: HH:MM required if all_day is false * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#end_time FilevantagePolicy#end_time} */ readonly endTime?: string; /** * The frequency of the exclusion. Options: daily, weekly, monthly * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#frequency FilevantagePolicy#frequency} */ readonly frequency: string; /** * The monthly occurrence of the exclusion. Either specify a week (first, second, third, fourth) or set to days to specify days of the month. Options: first, second, third, fourth, days. Required if frequency is set to monthly * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#monthly_occurrence FilevantagePolicy#monthly_occurrence} */ readonly monthlyOccurrence?: string; /** * The start time to allow the scheduled exclusion in 24 hour format. Format: HH:MM required if all_day is false * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#start_time FilevantagePolicy#start_time} */ readonly startTime?: string; } export declare function filevantagePolicyScheduledExclusionsRepeatedToTerraform(struct?: FilevantagePolicyScheduledExclusionsRepeated | cdktf.IResolvable): any; export declare function filevantagePolicyScheduledExclusionsRepeatedToHclTerraform(struct?: FilevantagePolicyScheduledExclusionsRepeated | cdktf.IResolvable): any; export declare class FilevantagePolicyScheduledExclusionsRepeatedOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): FilevantagePolicyScheduledExclusionsRepeated | cdktf.IResolvable | undefined; set internalValue(value: FilevantagePolicyScheduledExclusionsRepeated | cdktf.IResolvable | undefined); private _allDay?; get allDay(): boolean | cdktf.IResolvable; set allDay(value: boolean | cdktf.IResolvable); get allDayInput(): any; private _daysOfMonth?; get daysOfMonth(): number[]; set daysOfMonth(value: number[]); resetDaysOfMonth(): void; get daysOfMonthInput(): number[]; private _daysOfWeek?; get daysOfWeek(): string[]; set daysOfWeek(value: string[]); resetDaysOfWeek(): void; get daysOfWeekInput(): string[]; private _endTime?; get endTime(): string; set endTime(value: string); resetEndTime(): void; get endTimeInput(): string; private _frequency?; get frequency(): string; set frequency(value: string); get frequencyInput(): string; private _monthlyOccurrence?; get monthlyOccurrence(): string; set monthlyOccurrence(value: string); resetMonthlyOccurrence(): void; get monthlyOccurrenceInput(): string; private _startTime?; get startTime(): string; set startTime(value: string); resetStartTime(): void; get startTimeInput(): string; } export interface FilevantagePolicyScheduledExclusions { /** * Description of the scheduled exclusion. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#description FilevantagePolicy#description} */ readonly description?: string; /** * The end date of the scheduled exclusion. Format: YYYY-MM-DD * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#end_date FilevantagePolicy#end_date} */ readonly endDate?: string; /** * The end time of the scheduled exclusion in 24 hour format. Format: HH:MM * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#end_time FilevantagePolicy#end_time} */ readonly endTime?: string; /** * Name of the scheduled exclusion. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#name FilevantagePolicy#name} */ readonly name: string; /** * A comma separated list of processes to exclude changes from. Example: ** /run_me.sh excludes changes made by run_me.sh in any location * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#processes FilevantagePolicy#processes} * * Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space. */ readonly processes?: string; /** * Repeated scheduled exclusion * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#repeated FilevantagePolicy#repeated} */ readonly repeated?: FilevantagePolicyScheduledExclusionsRepeated; /** * The start date of the scheduled exclusion. Format: YYYY-MM-DD * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#start_date FilevantagePolicy#start_date} */ readonly startDate: string; /** * The start time of the scheduled exclusion in 24 hour format. Format: HH:MM * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#start_time FilevantagePolicy#start_time} */ readonly startTime: string; /** * The timezone to use for the time fields. See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#timezone FilevantagePolicy#timezone} */ readonly timezone: string; /** * A comma separated list of users to exclude changes from. Example: user1,user2,admin* excludes changes made by user1, user2, and any user starting with admin * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#users FilevantagePolicy#users} */ readonly users?: string; } export declare function filevantagePolicyScheduledExclusionsToTerraform(struct?: FilevantagePolicyScheduledExclusions | cdktf.IResolvable): any; export declare function filevantagePolicyScheduledExclusionsToHclTerraform(struct?: FilevantagePolicyScheduledExclusions | cdktf.IResolvable): any; export declare class FilevantagePolicyScheduledExclusionsOutputReference 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(): FilevantagePolicyScheduledExclusions | cdktf.IResolvable | undefined; set internalValue(value: FilevantagePolicyScheduledExclusions | cdktf.IResolvable | undefined); private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _endDate?; get endDate(): string; set endDate(value: string); resetEndDate(): void; get endDateInput(): string; private _endTime?; get endTime(): string; set endTime(value: string); resetEndTime(): void; get endTimeInput(): string; get id(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _processes?; get processes(): string; set processes(value: string); resetProcesses(): void; get processesInput(): string; private _repeated; get repeated(): FilevantagePolicyScheduledExclusionsRepeatedOutputReference; putRepeated(value: FilevantagePolicyScheduledExclusionsRepeated): void; resetRepeated(): void; get repeatedInput(): any; private _startDate?; get startDate(): string; set startDate(value: string); get startDateInput(): string; private _startTime?; get startTime(): string; set startTime(value: string); get startTimeInput(): string; private _timezone?; get timezone(): string; set timezone(value: string); get timezoneInput(): string; private _users?; get users(): string; set users(value: string); resetUsers(): void; get usersInput(): string; } export declare class FilevantagePolicyScheduledExclusionsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: FilevantagePolicyScheduledExclusions[] | 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): FilevantagePolicyScheduledExclusionsOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy crowdstrike_filevantage_policy} */ export declare class FilevantagePolicy extends cdktf.TerraformResource { static readonly tfResourceType = "crowdstrike_filevantage_policy"; /** * Generates CDKTF code for importing a FilevantagePolicy 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 FilevantagePolicy to import * @param importFromId The id of the existing FilevantagePolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/filevantage_policy#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the FilevantagePolicy 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_policy crowdstrike_filevantage_policy} 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 FilevantagePolicyConfig */ constructor(scope: Construct, id: string, config: FilevantagePolicyConfig); private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); resetEnabled(): void; get enabledInput(): any; private _hostGroups?; get hostGroups(): string[]; set hostGroups(value: string[]); resetHostGroups(): void; get hostGroupsInput(): string[]; get id(): any; get lastUpdated(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _platformName?; get platformName(): string; set platformName(value: string); get platformNameInput(): string; private _ruleGroups?; get ruleGroups(): string[]; set ruleGroups(value: string[]); resetRuleGroups(): void; get ruleGroupsInput(): string[]; private _scheduledExclusions; get scheduledExclusions(): FilevantagePolicyScheduledExclusionsList; putScheduledExclusions(value: FilevantagePolicyScheduledExclusions[] | cdktf.IResolvable): void; resetScheduledExclusions(): void; get scheduledExclusionsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }