import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DataCrowdstrikeCloudSecurityRulesConfig extends cdktf.TerraformMetaArguments { /** * Name of the benchmark that this rule is attached to. Note that rules can be associated with multiple benchmarks. Example: `CIS 1.0.0 AWS*` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/data-sources/cloud_security_rules#benchmark DataCrowdstrikeCloudSecurityRules#benchmark} */ readonly benchmark?: string; /** * Cloud provider for where the rule resides. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/data-sources/cloud_security_rules#cloud_provider DataCrowdstrikeCloudSecurityRules#cloud_provider} */ readonly cloudProvider?: string; /** * Falcon Query Language (FQL) filter for advanced control searches. FQL filter, allowed props: `rule_origin`, `rule_parent_uuid`, `rule_name`, `rule_description`, `rule_domain`, `rule_status`, `rule_severity`, `rule_short_code`, `rule_service`, `rule_resource_type`, `rule_provider`, `rule_subdomain`, `rule_auto_remediable`, `rule_control_requirement`, `rule_control_section`, `rule_compliance_benchmark`, `rule_compliance_framework`, `rule_mitre_tactic`, `rule_mitre_technique`, `rule_created_at`, `rule_updated_at`, `rule_updated_by` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/data-sources/cloud_security_rules#fql DataCrowdstrikeCloudSecurityRules#fql} */ readonly fql?: string; /** * Name of the framework that this rule is attached to. Note that rules can be associated with multiple benchmarks. Examples: CIS, NIST * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/data-sources/cloud_security_rules#framework DataCrowdstrikeCloudSecurityRules#framework} */ readonly framework?: string; /** * Name of the resource type to search for. Examples: `AWS::IAM::CredentialReport`, `Microsoft.Compute/virtualMachines`, `container.googleapis.com/Cluster`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/data-sources/cloud_security_rules#resource_type DataCrowdstrikeCloudSecurityRules#resource_type} */ readonly resourceType?: string; /** * Name of the rule to search for. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/data-sources/cloud_security_rules#rule_name DataCrowdstrikeCloudSecurityRules#rule_name} */ readonly ruleName?: string; /** * Name of the service within the cloud provider that rule is for. Examples: IAM, S3, Microsoft.Compute * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/data-sources/cloud_security_rules#service DataCrowdstrikeCloudSecurityRules#service} */ readonly service?: string; } export interface DataCrowdstrikeCloudSecurityRulesRulesControls { } export declare function dataCrowdstrikeCloudSecurityRulesRulesControlsToTerraform(struct?: DataCrowdstrikeCloudSecurityRulesRulesControls): any; export declare function dataCrowdstrikeCloudSecurityRulesRulesControlsToHclTerraform(struct?: DataCrowdstrikeCloudSecurityRulesRulesControls): any; export declare class DataCrowdstrikeCloudSecurityRulesRulesControlsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): DataCrowdstrikeCloudSecurityRulesRulesControls | undefined; set internalValue(value: DataCrowdstrikeCloudSecurityRulesRulesControls | undefined); get authority(): any; get code(): any; } export declare class DataCrowdstrikeCloudSecurityRulesRulesControlsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): DataCrowdstrikeCloudSecurityRulesRulesControlsOutputReference; } export interface DataCrowdstrikeCloudSecurityRulesRules { } export declare function dataCrowdstrikeCloudSecurityRulesRulesToTerraform(struct?: DataCrowdstrikeCloudSecurityRulesRules): any; export declare function dataCrowdstrikeCloudSecurityRulesRulesToHclTerraform(struct?: DataCrowdstrikeCloudSecurityRulesRules): any; export declare class DataCrowdstrikeCloudSecurityRulesRulesOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): DataCrowdstrikeCloudSecurityRulesRules | undefined; set internalValue(value: DataCrowdstrikeCloudSecurityRulesRules | undefined); get alertInfo(): any; get attackTypes(): any; get autoRemediable(): any; get cloudPlatform(): any; get cloudProvider(): any; private _controls; get controls(): DataCrowdstrikeCloudSecurityRulesRulesControlsList; get description(): any; get domain(): any; get id(): any; get logic(): any; get name(): any; get parentRuleId(): any; get remediationInfo(): any; get resourceType(): any; get severity(): any; get subdomain(): any; } export declare class DataCrowdstrikeCloudSecurityRulesRulesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): DataCrowdstrikeCloudSecurityRulesRulesOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/data-sources/cloud_security_rules crowdstrike_cloud_security_rules} */ export declare class DataCrowdstrikeCloudSecurityRules extends cdktf.TerraformDataSource { static readonly tfResourceType = "crowdstrike_cloud_security_rules"; /** * Generates CDKTF code for importing a DataCrowdstrikeCloudSecurityRules 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 DataCrowdstrikeCloudSecurityRules to import * @param importFromId The id of the existing DataCrowdstrikeCloudSecurityRules that should be imported. Refer to the {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/data-sources/cloud_security_rules#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DataCrowdstrikeCloudSecurityRules 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/data-sources/cloud_security_rules crowdstrike_cloud_security_rules} Data Source * * @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 DataCrowdstrikeCloudSecurityRulesConfig = {} */ constructor(scope: Construct, id: string, config?: DataCrowdstrikeCloudSecurityRulesConfig); private _benchmark?; get benchmark(): string; set benchmark(value: string); resetBenchmark(): void; get benchmarkInput(): string; private _cloudProvider?; get cloudProvider(): string; set cloudProvider(value: string); resetCloudProvider(): void; get cloudProviderInput(): string; private _fql?; get fql(): string; set fql(value: string); resetFql(): void; get fqlInput(): string; private _framework?; get framework(): string; set framework(value: string); resetFramework(): void; get frameworkInput(): string; private _resourceType?; get resourceType(): string; set resourceType(value: string); resetResourceType(): void; get resourceTypeInput(): string; private _ruleName?; get ruleName(): string; set ruleName(value: string); resetRuleName(): void; get ruleNameInput(): string; private _rules; get rules(): DataCrowdstrikeCloudSecurityRulesRulesList; private _service?; get service(): string; set service(value: string); resetService(): void; get serviceInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }