import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CloudAwsAccountConfig extends cdktf.TerraformMetaArguments { /** * The AWS Account ID * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#account_id CloudAwsAccount#account_id} */ readonly accountId: string; /** * The AWS account type. Value is 'commercial' for Commercial cloud accounts. For GovCloud environments, value can be either 'commercial' or 'gov' depending on the account type * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#account_type CloudAwsAccount#account_type} */ readonly accountType?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#asset_inventory CloudAwsAccount#asset_inventory} */ readonly assetInventory?: CloudAwsAccountAssetInventory; /** * How the account was deployed. Valid values are 'terraform-native' and 'terraform-cft' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#deployment_method CloudAwsAccount#deployment_method} */ readonly deploymentMethod?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#dspm CloudAwsAccount#dspm} */ readonly dspm?: CloudAwsAccountDspm; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#idp CloudAwsAccount#idp} */ readonly idp?: CloudAwsAccountIdp; /** * The AWS Organization ID (starts with `o-`). When specified, accounts within the organization will be registered. If `target_ous` is empty, all accounts in the organization will be registered. The `account_id` must be the organization's management account ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#organization_id CloudAwsAccount#organization_id} */ readonly organizationId?: string; /** * Configuration for real-time visibility and detection. When not specified, defaults to disabled (enabled=false) with cloudtrail_region set based on account_type (us-gov-west-1 for gov accounts, us-east-1 for commercial accounts) and use_existing_cloudtrail=true * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#realtime_visibility CloudAwsAccount#realtime_visibility} */ readonly realtimeVisibility?: CloudAwsAccountRealtimeVisibility; /** * The prefix to be added to all resource names * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#resource_name_prefix CloudAwsAccount#resource_name_prefix} */ readonly resourceNamePrefix?: string; /** * The suffix to be added to all resource names * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#resource_name_suffix CloudAwsAccount#resource_name_suffix} */ readonly resourceNameSuffix?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#sensor_management CloudAwsAccount#sensor_management} */ readonly sensorManagement?: CloudAwsAccountSensorManagement; /** * The list of target Organizational Units * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#target_ous CloudAwsAccount#target_ous} */ readonly targetOus?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#vulnerability_scanning CloudAwsAccount#vulnerability_scanning} */ readonly vulnerabilityScanning?: CloudAwsAccountVulnerabilityScanning; } export interface CloudAwsAccountAssetInventory { /** * Enable asset inventory * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#enabled CloudAwsAccount#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * Custom AWS IAM role name * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#role_name CloudAwsAccount#role_name} */ readonly roleName?: string; } export declare function cloudAwsAccountAssetInventoryToTerraform(struct?: CloudAwsAccountAssetInventory | cdktf.IResolvable): any; export declare function cloudAwsAccountAssetInventoryToHclTerraform(struct?: CloudAwsAccountAssetInventory | cdktf.IResolvable): any; export declare class CloudAwsAccountAssetInventoryOutputReference 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(): CloudAwsAccountAssetInventory | cdktf.IResolvable | undefined; set internalValue(value: CloudAwsAccountAssetInventory | cdktf.IResolvable | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; private _roleName?; get roleName(): string; set roleName(value: string); resetRoleName(): void; get roleNameInput(): string; } export interface CloudAwsAccountDspm { /** * Enable Data Security Posture Management * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#enabled CloudAwsAccount#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * Custom AWS IAM role name for Data Security Posture Management * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#role_name CloudAwsAccount#role_name} */ readonly roleName?: string; } export declare function cloudAwsAccountDspmToTerraform(struct?: CloudAwsAccountDspm | cdktf.IResolvable): any; export declare function cloudAwsAccountDspmToHclTerraform(struct?: CloudAwsAccountDspm | cdktf.IResolvable): any; export declare class CloudAwsAccountDspmOutputReference 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(): CloudAwsAccountDspm | cdktf.IResolvable | undefined; set internalValue(value: CloudAwsAccountDspm | cdktf.IResolvable | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; private _roleName?; get roleName(): string; set roleName(value: string); resetRoleName(): void; get roleNameInput(): string; } export interface CloudAwsAccountIdp { /** * Enable Identity Protection * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#enabled CloudAwsAccount#enabled} */ readonly enabled: boolean | cdktf.IResolvable; } export declare function cloudAwsAccountIdpToTerraform(struct?: CloudAwsAccountIdp | cdktf.IResolvable): any; export declare function cloudAwsAccountIdpToHclTerraform(struct?: CloudAwsAccountIdp | cdktf.IResolvable): any; export declare class CloudAwsAccountIdpOutputReference 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(): CloudAwsAccountIdp | cdktf.IResolvable | undefined; set internalValue(value: CloudAwsAccountIdp | cdktf.IResolvable | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; get status(): any; } export interface CloudAwsAccountRealtimeVisibility { /** * The AWS region of the CloudTrail bucket * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#cloudtrail_region CloudAwsAccount#cloudtrail_region} */ readonly cloudtrailRegion: string; /** * Enable real-time visibility and detection * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#enabled CloudAwsAccount#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * Optional KMS key ARN for S3 bucket encryption when log_ingestion_method is 's3' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#log_ingestion_kms_key_arn CloudAwsAccount#log_ingestion_kms_key_arn} */ readonly logIngestionKmsKeyArn?: string; /** * Log ingestion method for real-time visibility. Valid values are 'eventbridge' or 's3' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#log_ingestion_method CloudAwsAccount#log_ingestion_method} */ readonly logIngestionMethod?: string; /** * S3 bucket name for CloudTrail log ingestion when log_ingestion_method is 's3'. Required when using S3 method * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#log_ingestion_s3_bucket_name CloudAwsAccount#log_ingestion_s3_bucket_name} */ readonly logIngestionS3BucketName?: string; /** * Optional S3 bucket prefix (a prefix used for filter log files with the prefix present in their key) for CloudTrail logs when log_ingestion_method is 's3' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#log_ingestion_s3_bucket_prefix CloudAwsAccount#log_ingestion_s3_bucket_prefix} */ readonly logIngestionS3BucketPrefix?: string; /** * SNS topic ARN for S3 CloudTrail log notifications when log_ingestion_method is 's3'. Required when using S3 method * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#log_ingestion_sns_topic_arn CloudAwsAccount#log_ingestion_sns_topic_arn} */ readonly logIngestionSnsTopicArn?: string; /** * List of AWS regions for Real-Time Visibility and Detection. If not specified, defaults to all regions * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#regions CloudAwsAccount#regions} */ readonly regions?: string[]; /** * Set to true if a CloudTrail already exists * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#use_existing_cloudtrail CloudAwsAccount#use_existing_cloudtrail} */ readonly useExistingCloudtrail?: boolean | cdktf.IResolvable; } export declare function cloudAwsAccountRealtimeVisibilityToTerraform(struct?: CloudAwsAccountRealtimeVisibility | cdktf.IResolvable): any; export declare function cloudAwsAccountRealtimeVisibilityToHclTerraform(struct?: CloudAwsAccountRealtimeVisibility | cdktf.IResolvable): any; export declare class CloudAwsAccountRealtimeVisibilityOutputReference 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(): CloudAwsAccountRealtimeVisibility | cdktf.IResolvable | undefined; set internalValue(value: CloudAwsAccountRealtimeVisibility | cdktf.IResolvable | undefined); private _cloudtrailRegion?; get cloudtrailRegion(): string; set cloudtrailRegion(value: string); get cloudtrailRegionInput(): string; private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; private _logIngestionKmsKeyArn?; get logIngestionKmsKeyArn(): string; set logIngestionKmsKeyArn(value: string); resetLogIngestionKmsKeyArn(): void; get logIngestionKmsKeyArnInput(): string; private _logIngestionMethod?; get logIngestionMethod(): string; set logIngestionMethod(value: string); resetLogIngestionMethod(): void; get logIngestionMethodInput(): string; private _logIngestionS3BucketName?; get logIngestionS3BucketName(): string; set logIngestionS3BucketName(value: string); resetLogIngestionS3BucketName(): void; get logIngestionS3BucketNameInput(): string; private _logIngestionS3BucketPrefix?; get logIngestionS3BucketPrefix(): string; set logIngestionS3BucketPrefix(value: string); resetLogIngestionS3BucketPrefix(): void; get logIngestionS3BucketPrefixInput(): string; private _logIngestionSnsTopicArn?; get logIngestionSnsTopicArn(): string; set logIngestionSnsTopicArn(value: string); resetLogIngestionSnsTopicArn(): void; get logIngestionSnsTopicArnInput(): string; private _regions?; get regions(): string[]; set regions(value: string[]); resetRegions(): void; get regionsInput(): string[]; private _useExistingCloudtrail?; get useExistingCloudtrail(): boolean | cdktf.IResolvable; set useExistingCloudtrail(value: boolean | cdktf.IResolvable); resetUseExistingCloudtrail(): void; get useExistingCloudtrailInput(): any; } export interface CloudAwsAccountSensorManagement { /** * Enable 1-click sensor deployment * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#enabled CloudAwsAccount#enabled} */ readonly enabled: boolean | cdktf.IResolvable; } export declare function cloudAwsAccountSensorManagementToTerraform(struct?: CloudAwsAccountSensorManagement | cdktf.IResolvable): any; export declare function cloudAwsAccountSensorManagementToHclTerraform(struct?: CloudAwsAccountSensorManagement | cdktf.IResolvable): any; export declare class CloudAwsAccountSensorManagementOutputReference 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(): CloudAwsAccountSensorManagement | cdktf.IResolvable | undefined; set internalValue(value: CloudAwsAccountSensorManagement | cdktf.IResolvable | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; } export interface CloudAwsAccountVulnerabilityScanning { /** * Enable Vulnerability Scanning * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#enabled CloudAwsAccount#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * Custom AWS IAM role name for Vulnerability Scanning * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#role_name CloudAwsAccount#role_name} */ readonly roleName?: string; } export declare function cloudAwsAccountVulnerabilityScanningToTerraform(struct?: CloudAwsAccountVulnerabilityScanning | cdktf.IResolvable): any; export declare function cloudAwsAccountVulnerabilityScanningToHclTerraform(struct?: CloudAwsAccountVulnerabilityScanning | cdktf.IResolvable): any; export declare class CloudAwsAccountVulnerabilityScanningOutputReference 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(): CloudAwsAccountVulnerabilityScanning | cdktf.IResolvable | undefined; set internalValue(value: CloudAwsAccountVulnerabilityScanning | cdktf.IResolvable | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; private _roleName?; get roleName(): string; set roleName(value: string); resetRoleName(): void; get roleNameInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account crowdstrike_cloud_aws_account} */ export declare class CloudAwsAccount extends cdktf.TerraformResource { static readonly tfResourceType = "crowdstrike_cloud_aws_account"; /** * Generates CDKTF code for importing a CloudAwsAccount 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 CloudAwsAccount to import * @param importFromId The id of the existing CloudAwsAccount that should be imported. Refer to the {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_aws_account#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CloudAwsAccount 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_aws_account crowdstrike_cloud_aws_account} 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 CloudAwsAccountConfig */ constructor(scope: Construct, id: string, config: CloudAwsAccountConfig); private _accountId?; get accountId(): string; set accountId(value: string); get accountIdInput(): string; private _accountType?; get accountType(): string; set accountType(value: string); resetAccountType(): void; get accountTypeInput(): string; get agentlessScanningRoleName(): any; private _assetInventory; get assetInventory(): CloudAwsAccountAssetInventoryOutputReference; putAssetInventory(value: CloudAwsAccountAssetInventory): void; resetAssetInventory(): void; get assetInventoryInput(): any; get cloudtrailBucketName(): any; private _deploymentMethod?; get deploymentMethod(): string; set deploymentMethod(value: string); resetDeploymentMethod(): void; get deploymentMethodInput(): string; private _dspm; get dspm(): CloudAwsAccountDspmOutputReference; putDspm(value: CloudAwsAccountDspm): void; resetDspm(): void; get dspmInput(): any; get dspmRoleArn(): any; get dspmRoleName(): any; get eventbusArn(): any; get eventbusName(): any; get externalId(): any; get iamRoleArn(): any; get iamRoleName(): any; private _idp; get idp(): CloudAwsAccountIdpOutputReference; putIdp(value: CloudAwsAccountIdp): void; resetIdp(): void; get idpInput(): any; get intermediateRoleArn(): any; get isOrganizationManagementAccount(): any; private _organizationId?; get organizationId(): string; set organizationId(value: string); resetOrganizationId(): void; get organizationIdInput(): string; private _realtimeVisibility; get realtimeVisibility(): CloudAwsAccountRealtimeVisibilityOutputReference; putRealtimeVisibility(value: CloudAwsAccountRealtimeVisibility): void; resetRealtimeVisibility(): void; get realtimeVisibilityInput(): any; private _resourceNamePrefix?; get resourceNamePrefix(): string; set resourceNamePrefix(value: string); resetResourceNamePrefix(): void; get resourceNamePrefixInput(): string; private _resourceNameSuffix?; get resourceNameSuffix(): string; set resourceNameSuffix(value: string); resetResourceNameSuffix(): void; get resourceNameSuffixInput(): string; private _sensorManagement; get sensorManagement(): CloudAwsAccountSensorManagementOutputReference; putSensorManagement(value: CloudAwsAccountSensorManagement): void; resetSensorManagement(): void; get sensorManagementInput(): any; private _targetOus?; get targetOus(): string[]; set targetOus(value: string[]); resetTargetOus(): void; get targetOusInput(): string[]; private _vulnerabilityScanning; get vulnerabilityScanning(): CloudAwsAccountVulnerabilityScanningOutputReference; putVulnerabilityScanning(value: CloudAwsAccountVulnerabilityScanning): void; resetVulnerabilityScanning(): void; get vulnerabilityScanningInput(): any; get vulnerabilityScanningRoleArn(): any; get vulnerabilityScanningRoleName(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }