import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CloudGroupConfig extends cdktf.TerraformMetaArguments { /** * AWS cloud resource configuration * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#aws CloudGroup#aws} */ readonly aws?: CloudGroupAws; /** * Azure cloud resource configuration * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#azure CloudGroup#azure} */ readonly azure?: CloudGroupAzure; /** * An impact level that reflects how critical the cloud group's assets are to business operations. Valid values: high, moderate, low. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#business_impact CloudGroup#business_impact} */ readonly businessImpact?: string; /** * A free-text label used to associate the cloud group with an internal team. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#business_unit CloudGroup#business_unit} */ readonly businessUnit?: string; /** * The description of the cloud group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#description CloudGroup#description} */ readonly description?: string; /** * Environment designation for the group. Valid values: dev, test, stage, prod. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#environment CloudGroup#environment} */ readonly environment?: string; /** * GCP cloud resource configuration * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#gcp CloudGroup#gcp} */ readonly gcp?: CloudGroupGcp; /** * The container images accessible to the group. Each entry includes a registry and filters for repositories and tags. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#images CloudGroup#images} */ readonly images?: CloudGroupImages[] | cdktf.IResolvable; /** * The name of the cloud group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#name CloudGroup#name} */ readonly name: string; /** * Contact information for stakeholders responsible for the cloud group. List of email addresses. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#owners CloudGroup#owners} */ readonly owners?: string[]; } export interface CloudGroupAwsFilters { /** * List of AWS regions to include * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#region CloudGroup#region} */ readonly region?: string[]; /** * List of tags to filter by (format: key=value) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#tags CloudGroup#tags} */ readonly tags?: string[]; } export declare function cloudGroupAwsFiltersToTerraform(struct?: CloudGroupAwsFilters | cdktf.IResolvable): any; export declare function cloudGroupAwsFiltersToHclTerraform(struct?: CloudGroupAwsFilters | cdktf.IResolvable): any; export declare class CloudGroupAwsFiltersOutputReference 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(): CloudGroupAwsFilters | cdktf.IResolvable | undefined; set internalValue(value: CloudGroupAwsFilters | cdktf.IResolvable | undefined); private _region?; get region(): string[]; set region(value: string[]); resetRegion(): void; get regionInput(): string[]; private _tags?; get tags(): string[]; set tags(value: string[]); resetTags(): void; get tagsInput(): string[]; } export interface CloudGroupAws { /** * The cloud account identifiers (AWS account IDs) to include in the group. This field limits access to cloud resources in the specified accounts. When not provided, resources across all accounts in the cloud provider are accessible to the group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#account_ids CloudGroup#account_ids} */ readonly accountIds?: string[]; /** * Filters for AWS cloud resources * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#filters CloudGroup#filters} */ readonly filters?: CloudGroupAwsFilters; } export declare function cloudGroupAwsToTerraform(struct?: CloudGroupAws | cdktf.IResolvable): any; export declare function cloudGroupAwsToHclTerraform(struct?: CloudGroupAws | cdktf.IResolvable): any; export declare class CloudGroupAwsOutputReference 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(): CloudGroupAws | cdktf.IResolvable | undefined; set internalValue(value: CloudGroupAws | cdktf.IResolvable | undefined); private _accountIds?; get accountIds(): string[]; set accountIds(value: string[]); resetAccountIds(): void; get accountIdsInput(): string[]; private _filters; get filters(): CloudGroupAwsFiltersOutputReference; putFilters(value: CloudGroupAwsFilters): void; resetFilters(): void; get filtersInput(): any; } export interface CloudGroupAzureFilters { /** * List of Azure regions to include * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#region CloudGroup#region} */ readonly region?: string[]; /** * List of tags to filter by (format: key=value) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#tags CloudGroup#tags} */ readonly tags?: string[]; } export declare function cloudGroupAzureFiltersToTerraform(struct?: CloudGroupAzureFilters | cdktf.IResolvable): any; export declare function cloudGroupAzureFiltersToHclTerraform(struct?: CloudGroupAzureFilters | cdktf.IResolvable): any; export declare class CloudGroupAzureFiltersOutputReference 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(): CloudGroupAzureFilters | cdktf.IResolvable | undefined; set internalValue(value: CloudGroupAzureFilters | cdktf.IResolvable | undefined); private _region?; get region(): string[]; set region(value: string[]); resetRegion(): void; get regionInput(): string[]; private _tags?; get tags(): string[]; set tags(value: string[]); resetTags(): void; get tagsInput(): string[]; } export interface CloudGroupAzure { /** * The cloud account identifiers (Azure subscription IDs) to include in the group. This field limits access to cloud resources in the specified accounts. When not provided, resources across all accounts in the cloud provider are accessible to the group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#account_ids CloudGroup#account_ids} */ readonly accountIds?: string[]; /** * Filters for Azure cloud resources * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#filters CloudGroup#filters} */ readonly filters?: CloudGroupAzureFilters; } export declare function cloudGroupAzureToTerraform(struct?: CloudGroupAzure | cdktf.IResolvable): any; export declare function cloudGroupAzureToHclTerraform(struct?: CloudGroupAzure | cdktf.IResolvable): any; export declare class CloudGroupAzureOutputReference 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(): CloudGroupAzure | cdktf.IResolvable | undefined; set internalValue(value: CloudGroupAzure | cdktf.IResolvable | undefined); private _accountIds?; get accountIds(): string[]; set accountIds(value: string[]); resetAccountIds(): void; get accountIdsInput(): string[]; private _filters; get filters(): CloudGroupAzureFiltersOutputReference; putFilters(value: CloudGroupAzureFilters): void; resetFilters(): void; get filtersInput(): any; } export interface CloudGroupGcpFilters { /** * List of GCP regions to include * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#region CloudGroup#region} */ readonly region?: string[]; } export declare function cloudGroupGcpFiltersToTerraform(struct?: CloudGroupGcpFilters | cdktf.IResolvable): any; export declare function cloudGroupGcpFiltersToHclTerraform(struct?: CloudGroupGcpFilters | cdktf.IResolvable): any; export declare class CloudGroupGcpFiltersOutputReference 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(): CloudGroupGcpFilters | cdktf.IResolvable | undefined; set internalValue(value: CloudGroupGcpFilters | cdktf.IResolvable | undefined); private _region?; get region(): string[]; set region(value: string[]); resetRegion(): void; get regionInput(): string[]; } export interface CloudGroupGcp { /** * The cloud account identifiers (GCP project IDs) to include in the group. This field limits access to cloud resources in the specified accounts. When not provided, resources across all accounts in the cloud provider are accessible to the group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#account_ids CloudGroup#account_ids} */ readonly accountIds?: string[]; /** * Filters for GCP cloud resources. Note: GCP does not support tag filtering. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#filters CloudGroup#filters} */ readonly filters?: CloudGroupGcpFilters; } export declare function cloudGroupGcpToTerraform(struct?: CloudGroupGcp | cdktf.IResolvable): any; export declare function cloudGroupGcpToHclTerraform(struct?: CloudGroupGcp | cdktf.IResolvable): any; export declare class CloudGroupGcpOutputReference 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(): CloudGroupGcp | cdktf.IResolvable | undefined; set internalValue(value: CloudGroupGcp | cdktf.IResolvable | undefined); private _accountIds?; get accountIds(): string[]; set accountIds(value: string[]); resetAccountIds(): void; get accountIdsInput(): string[]; private _filters; get filters(): CloudGroupGcpFiltersOutputReference; putFilters(value: CloudGroupGcpFilters): void; resetFilters(): void; get filtersInput(): any; } export interface CloudGroupImages { /** * The container registry to include in the group. Must be a complete HTTPS URL for a supported registry. For info about supported registries and URL format, see https://docs.crowdstrike.com/r/ved836f1 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#registry CloudGroup#registry} */ readonly registry: string; /** * The container image repositories within the specified registry to filter by. When specified, only images within these repositories are accessible to the group. When omitted, all repositories in the registry are included. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#repositories CloudGroup#repositories} */ readonly repositories?: string[]; /** * The container image tags to filter by. Tag matching is scoped to the specified repositories values, or across all repositories in the given registry if repositories are not provided. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#tags CloudGroup#tags} */ readonly tags?: string[]; } export declare function cloudGroupImagesToTerraform(struct?: CloudGroupImages | cdktf.IResolvable): any; export declare function cloudGroupImagesToHclTerraform(struct?: CloudGroupImages | cdktf.IResolvable): any; export declare class CloudGroupImagesOutputReference 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(): CloudGroupImages | cdktf.IResolvable | undefined; set internalValue(value: CloudGroupImages | cdktf.IResolvable | undefined); private _registry?; get registry(): string; set registry(value: string); get registryInput(): string; private _repositories?; get repositories(): string[]; set repositories(value: string[]); resetRepositories(): void; get repositoriesInput(): string[]; private _tags?; get tags(): string[]; set tags(value: string[]); resetTags(): void; get tagsInput(): string[]; } export declare class CloudGroupImagesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: CloudGroupImages[] | 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): CloudGroupImagesOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group crowdstrike_cloud_group} */ export declare class CloudGroup extends cdktf.TerraformResource { static readonly tfResourceType = "crowdstrike_cloud_group"; /** * Generates CDKTF code for importing a CloudGroup 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 CloudGroup to import * @param importFromId The id of the existing CloudGroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/crowdstrike/crowdstrike/0.0.53/docs/resources/cloud_group#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CloudGroup 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_group crowdstrike_cloud_group} 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 CloudGroupConfig */ constructor(scope: Construct, id: string, config: CloudGroupConfig); private _aws; get aws(): CloudGroupAwsOutputReference; putAws(value: CloudGroupAws): void; resetAws(): void; get awsInput(): any; private _azure; get azure(): CloudGroupAzureOutputReference; putAzure(value: CloudGroupAzure): void; resetAzure(): void; get azureInput(): any; private _businessImpact?; get businessImpact(): string; set businessImpact(value: string); resetBusinessImpact(): void; get businessImpactInput(): string; private _businessUnit?; get businessUnit(): string; set businessUnit(value: string); resetBusinessUnit(): void; get businessUnitInput(): string; get createdAt(): any; get createdBy(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _environment?; get environment(): string; set environment(value: string); resetEnvironment(): void; get environmentInput(): string; private _gcp; get gcp(): CloudGroupGcpOutputReference; putGcp(value: CloudGroupGcp): void; resetGcp(): void; get gcpInput(): any; get id(): any; private _images; get images(): CloudGroupImagesList; putImages(value: CloudGroupImages[] | cdktf.IResolvable): void; resetImages(): void; get imagesInput(): any; get lastUpdated(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _owners?; get owners(): string[]; set owners(value: string[]); resetOwners(): void; get ownersInput(): string[]; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }