import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DefaultSensorUpdatePolicyConfig extends cdktf.TerraformMetaArguments { /** * Sensor build to use for the default sensor update policy. Use an empty string to turn off sensor version updates. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/default_sensor_update_policy#build DefaultSensorUpdatePolicy#build} */ readonly buildAttribute: string; /** * Sensor arm64 build to use for the default sensor update policy (Linux only). Required if platform_name is Linux. Use an empty string to turn off sensor version updates. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/default_sensor_update_policy#build_arm64 DefaultSensorUpdatePolicy#build_arm64} */ readonly buildArm64?: string; /** * Chooses which default sensor update policy to manage. (Windows, Mac, Linux). Changing this value will require replacing the resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/default_sensor_update_policy#platform_name DefaultSensorUpdatePolicy#platform_name} */ readonly platformName: string; /** * Prohibit sensor updates during a set of time blocks. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/default_sensor_update_policy#schedule DefaultSensorUpdatePolicy#schedule} */ readonly schedule: DefaultSensorUpdatePolicySchedule; /** * Enable uninstall protection. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/default_sensor_update_policy#uninstall_protection DefaultSensorUpdatePolicy#uninstall_protection} */ readonly uninstallProtection?: boolean | cdktf.IResolvable; } export interface DefaultSensorUpdatePolicyScheduleTimeBlocks { /** * The days of the week the time block should be active. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/default_sensor_update_policy#days DefaultSensorUpdatePolicy#days} */ readonly days: string[]; /** * The end time for the time block in 24HR format. Must be atleast 1 hour more than start_time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/default_sensor_update_policy#end_time DefaultSensorUpdatePolicy#end_time} */ readonly endTime: string; /** * The start time for the time block in 24HR format. Must be atleast 1 hour before end_time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/default_sensor_update_policy#start_time DefaultSensorUpdatePolicy#start_time} */ readonly startTime: string; } export declare function defaultSensorUpdatePolicyScheduleTimeBlocksToTerraform(struct?: DefaultSensorUpdatePolicyScheduleTimeBlocks | cdktf.IResolvable): any; export declare function defaultSensorUpdatePolicyScheduleTimeBlocksToHclTerraform(struct?: DefaultSensorUpdatePolicyScheduleTimeBlocks | cdktf.IResolvable): any; export declare class DefaultSensorUpdatePolicyScheduleTimeBlocksOutputReference 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(): DefaultSensorUpdatePolicyScheduleTimeBlocks | cdktf.IResolvable | undefined; set internalValue(value: DefaultSensorUpdatePolicyScheduleTimeBlocks | cdktf.IResolvable | undefined); private _days?; get days(): string[]; set days(value: string[]); get daysInput(): string[]; private _endTime?; get endTime(): string; set endTime(value: string); get endTimeInput(): string; private _startTime?; get startTime(): string; set startTime(value: string); get startTimeInput(): string; } export declare class DefaultSensorUpdatePolicyScheduleTimeBlocksList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DefaultSensorUpdatePolicyScheduleTimeBlocks[] | 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): DefaultSensorUpdatePolicyScheduleTimeBlocksOutputReference; } export interface DefaultSensorUpdatePolicySchedule { /** * Enable the scheduler for sensor update policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/default_sensor_update_policy#enabled DefaultSensorUpdatePolicy#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * The time block to prevent sensor updates. Only set when enabled is true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/default_sensor_update_policy#time_blocks DefaultSensorUpdatePolicy#time_blocks} */ readonly timeBlocks?: DefaultSensorUpdatePolicyScheduleTimeBlocks[] | cdktf.IResolvable; /** * The time zones that will be used for the time blocks. Only set when enabled is true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/default_sensor_update_policy#timezone DefaultSensorUpdatePolicy#timezone} */ readonly timezone?: string; } export declare function defaultSensorUpdatePolicyScheduleToTerraform(struct?: DefaultSensorUpdatePolicySchedule | cdktf.IResolvable): any; export declare function defaultSensorUpdatePolicyScheduleToHclTerraform(struct?: DefaultSensorUpdatePolicySchedule | cdktf.IResolvable): any; export declare class DefaultSensorUpdatePolicyScheduleOutputReference 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(): DefaultSensorUpdatePolicySchedule | cdktf.IResolvable | undefined; set internalValue(value: DefaultSensorUpdatePolicySchedule | cdktf.IResolvable | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; private _timeBlocks; get timeBlocks(): DefaultSensorUpdatePolicyScheduleTimeBlocksList; putTimeBlocks(value: DefaultSensorUpdatePolicyScheduleTimeBlocks[] | cdktf.IResolvable): void; resetTimeBlocks(): void; get timeBlocksInput(): any; private _timezone?; get timezone(): string; set timezone(value: string); resetTimezone(): void; get timezoneInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/default_sensor_update_policy crowdstrike_default_sensor_update_policy} */ export declare class DefaultSensorUpdatePolicy extends cdktf.TerraformResource { static readonly tfResourceType = "crowdstrike_default_sensor_update_policy"; /** * Generates CDKTF code for importing a DefaultSensorUpdatePolicy 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 DefaultSensorUpdatePolicy to import * @param importFromId The id of the existing DefaultSensorUpdatePolicy that should be imported. Refer to the {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/default_sensor_update_policy#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DefaultSensorUpdatePolicy 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/default_sensor_update_policy crowdstrike_default_sensor_update_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 DefaultSensorUpdatePolicyConfig */ constructor(scope: Construct, id: string, config: DefaultSensorUpdatePolicyConfig); private _build?; get buildAttribute(): string; set buildAttribute(value: string); get buildAttributeInput(): string; private _buildArm64?; get buildArm64(): string; set buildArm64(value: string); resetBuildArm64(): void; get buildArm64Input(): string; get id(): any; get lastUpdated(): any; private _platformName?; get platformName(): string; set platformName(value: string); get platformNameInput(): string; private _schedule; get schedule(): DefaultSensorUpdatePolicyScheduleOutputReference; putSchedule(value: DefaultSensorUpdatePolicySchedule): void; get scheduleInput(): any; private _uninstallProtection?; get uninstallProtection(): boolean | cdktf.IResolvable; set uninstallProtection(value: boolean | cdktf.IResolvable); resetUninstallProtection(): void; get uninstallProtectionInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }