import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CloudComplianceCustomFrameworkConfig extends cdktf.TerraformMetaArguments { /** * A description of the custom compliance framework. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_compliance_custom_framework#description CloudComplianceCustomFramework#description} */ readonly description: string; /** * The name of the custom compliance framework. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_compliance_custom_framework#name CloudComplianceCustomFramework#name} */ readonly name: string; /** * Map of sections within the framework. Key is an immutable unique string. Changing the section key will trigger a complete delete and create of the section. Sections cannot exist without controls. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_compliance_custom_framework#sections CloudComplianceCustomFramework#sections} */ readonly sections?: { [key: string]: CloudComplianceCustomFrameworkSections; } | cdktf.IResolvable; } export interface CloudComplianceCustomFrameworkSectionsControls { /** * Description of the control. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_compliance_custom_framework#description CloudComplianceCustomFramework#description} */ readonly description: string; /** * Display name of the compliance framework control. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_compliance_custom_framework#name CloudComplianceCustomFramework#name} */ readonly name: string; /** * Set of rule IDs assigned to this control. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_compliance_custom_framework#rules CloudComplianceCustomFramework#rules} */ readonly rules?: string[]; } export declare function cloudComplianceCustomFrameworkSectionsControlsToTerraform(struct?: CloudComplianceCustomFrameworkSectionsControls | cdktf.IResolvable): any; export declare function cloudComplianceCustomFrameworkSectionsControlsToHclTerraform(struct?: CloudComplianceCustomFrameworkSectionsControls | cdktf.IResolvable): any; export declare class CloudComplianceCustomFrameworkSectionsControlsOutputReference 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 complexObjectKey the key of this item in the map */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectKey: string); get internalValue(): CloudComplianceCustomFrameworkSectionsControls | cdktf.IResolvable | undefined; set internalValue(value: CloudComplianceCustomFrameworkSectionsControls | cdktf.IResolvable | undefined); private _description?; get description(): string; set description(value: string); get descriptionInput(): string; get id(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _rules?; get rules(): string[]; set rules(value: string[]); resetRules(): void; get rulesInput(): string[]; } export declare class CloudComplianceCustomFrameworkSectionsControlsMap extends cdktf.ComplexMap { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; internalValue?: { [key: string]: CloudComplianceCustomFrameworkSectionsControls; } | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); /** * @param key the key of the item to return */ get(key: string): CloudComplianceCustomFrameworkSectionsControlsOutputReference; } export interface CloudComplianceCustomFrameworkSections { /** * Map of controls within the section. Key is an immutable unique string. Changing the control key will trigger a complete delete and create of the control. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_compliance_custom_framework#controls CloudComplianceCustomFramework#controls} */ readonly controls: { [key: string]: CloudComplianceCustomFrameworkSectionsControls; } | cdktf.IResolvable; /** * Display name of the compliance framework section. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_compliance_custom_framework#name CloudComplianceCustomFramework#name} */ readonly name: string; } export declare function cloudComplianceCustomFrameworkSectionsToTerraform(struct?: CloudComplianceCustomFrameworkSections | cdktf.IResolvable): any; export declare function cloudComplianceCustomFrameworkSectionsToHclTerraform(struct?: CloudComplianceCustomFrameworkSections | cdktf.IResolvable): any; export declare class CloudComplianceCustomFrameworkSectionsOutputReference 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 complexObjectKey the key of this item in the map */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectKey: string); get internalValue(): CloudComplianceCustomFrameworkSections | cdktf.IResolvable | undefined; set internalValue(value: CloudComplianceCustomFrameworkSections | cdktf.IResolvable | undefined); private _controls; get controls(): CloudComplianceCustomFrameworkSectionsControlsMap; putControls(value: { [key: string]: CloudComplianceCustomFrameworkSectionsControls; } | cdktf.IResolvable): void; get controlsInput(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; } export declare class CloudComplianceCustomFrameworkSectionsMap extends cdktf.ComplexMap { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; internalValue?: { [key: string]: CloudComplianceCustomFrameworkSections; } | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); /** * @param key the key of the item to return */ get(key: string): CloudComplianceCustomFrameworkSectionsOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_compliance_custom_framework crowdstrike_cloud_compliance_custom_framework} */ export declare class CloudComplianceCustomFramework extends cdktf.TerraformResource { static readonly tfResourceType = "crowdstrike_cloud_compliance_custom_framework"; /** * Generates CDKTF code for importing a CloudComplianceCustomFramework 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 CloudComplianceCustomFramework to import * @param importFromId The id of the existing CloudComplianceCustomFramework that should be imported. Refer to the {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_compliance_custom_framework#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CloudComplianceCustomFramework 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/cloud_compliance_custom_framework crowdstrike_cloud_compliance_custom_framework} 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 CloudComplianceCustomFrameworkConfig */ constructor(scope: Construct, id: string, config: CloudComplianceCustomFrameworkConfig); private _description?; get description(): string; set description(value: string); get descriptionInput(): string; get id(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _sections; get sections(): CloudComplianceCustomFrameworkSectionsMap; putSections(value: { [key: string]: CloudComplianceCustomFrameworkSections; } | cdktf.IResolvable): void; resetSections(): void; get sectionsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }