import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface EventsAuditTrackConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#id EventsAuditTrack#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * Tracking set name, which can only contain 3-48 letters, digits, hyphens, and underscores. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#name EventsAuditTrack#name} */ readonly name: string; /** * Tracking set status (0: Not enabled; 1: Enabled). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#status EventsAuditTrack#status} */ readonly status: number; /** * Whether to enable the feature of shipping organization members operation logs to the organization admin account or the trusted service admin account (0: Not enabled; 1: Enabled. This feature can only be enabled by the organization admin account or the trusted service admin account). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#track_for_all_members EventsAuditTrack#track_for_all_members} */ readonly trackForAllMembers?: number; /** * filters block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#filters EventsAuditTrack#filters} */ readonly filters: EventsAuditTrackFilters; /** * storage block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#storage EventsAuditTrack#storage} */ readonly storage: EventsAuditTrackStorage; } export interface EventsAuditTrackFiltersResourceFields { /** * Tracking set event type (`Read`: Read; `Write`: Write; `*`: All). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#action_type EventsAuditTrack#action_type} */ readonly actionType: string; /** * The list of API names of tracking set events. When `ResourceType` is `*`, the value of `EventNames` must be `*`. When `ResourceType` is a specified product, the value of `EventNames` can be `*`. When `ResourceType` is `cos` or `cls`, up to 10 APIs are supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#event_names EventsAuditTrack#event_names} */ readonly eventNames: string[]; /** * The product to which the tracking set event belongs. The value can be a single product such as `cos`, or `*` that indicates all products. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#resource_type EventsAuditTrack#resource_type} */ readonly resourceType: string; } export declare function eventsAuditTrackFiltersResourceFieldsToTerraform(struct?: EventsAuditTrackFiltersResourceFields | cdktf.IResolvable): any; export declare function eventsAuditTrackFiltersResourceFieldsToHclTerraform(struct?: EventsAuditTrackFiltersResourceFields | cdktf.IResolvable): any; export declare class EventsAuditTrackFiltersResourceFieldsOutputReference 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(): EventsAuditTrackFiltersResourceFields | cdktf.IResolvable | undefined; set internalValue(value: EventsAuditTrackFiltersResourceFields | cdktf.IResolvable | undefined); private _actionType?; get actionType(): string; set actionType(value: string); get actionTypeInput(): string; private _eventNames?; get eventNames(): string[]; set eventNames(value: string[]); get eventNamesInput(): string[]; private _resourceType?; get resourceType(): string; set resourceType(value: string); get resourceTypeInput(): string; } export declare class EventsAuditTrackFiltersResourceFieldsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: EventsAuditTrackFiltersResourceFields[] | 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): EventsAuditTrackFiltersResourceFieldsOutputReference; } export interface EventsAuditTrackFilters { /** * resource_fields block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#resource_fields EventsAuditTrack#resource_fields} */ readonly resourceFields?: EventsAuditTrackFiltersResourceFields[] | cdktf.IResolvable; } export declare function eventsAuditTrackFiltersToTerraform(struct?: EventsAuditTrackFiltersOutputReference | EventsAuditTrackFilters): any; export declare function eventsAuditTrackFiltersToHclTerraform(struct?: EventsAuditTrackFiltersOutputReference | EventsAuditTrackFilters): any; export declare class EventsAuditTrackFiltersOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): EventsAuditTrackFilters | undefined; set internalValue(value: EventsAuditTrackFilters | undefined); private _resourceFields; get resourceFields(): EventsAuditTrackFiltersResourceFieldsList; putResourceFields(value: EventsAuditTrackFiltersResourceFields[] | cdktf.IResolvable): void; resetResourceFields(): void; get resourceFieldsInput(): any; } export interface EventsAuditTrackStorage { /** * Designated to store user ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#storage_account_id EventsAuditTrack#storage_account_id} */ readonly storageAccountId?: string; /** * Designated to store user app ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#storage_app_id EventsAuditTrack#storage_app_id} */ readonly storageAppId?: string; /** * Storage name. For COS, the storage name is the custom bucket name, which can contain up to 50 lowercase letters, digits, and hyphens. It cannot contain "-APPID" and cannot start or end with a hyphen. For CLS, the storage name is the log topic ID, which can contain 1-50 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#storage_name EventsAuditTrack#storage_name} */ readonly storageName: string; /** * Storage directory prefix. The COS log file prefix can only contain 3-40 letters and digits. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#storage_prefix EventsAuditTrack#storage_prefix} */ readonly storagePrefix: string; /** * StorageRegion *string `json:'StorageRegion,omitnil,omitempty' name: 'StorageRegion'`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#storage_region EventsAuditTrack#storage_region} */ readonly storageRegion: string; /** * Storage type (Valid values: cos, cls). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#storage_type EventsAuditTrack#storage_type} */ readonly storageType: string; } export declare function eventsAuditTrackStorageToTerraform(struct?: EventsAuditTrackStorageOutputReference | EventsAuditTrackStorage): any; export declare function eventsAuditTrackStorageToHclTerraform(struct?: EventsAuditTrackStorageOutputReference | EventsAuditTrackStorage): any; export declare class EventsAuditTrackStorageOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): EventsAuditTrackStorage | undefined; set internalValue(value: EventsAuditTrackStorage | undefined); private _storageAccountId?; get storageAccountId(): string; set storageAccountId(value: string); resetStorageAccountId(): void; get storageAccountIdInput(): string; private _storageAppId?; get storageAppId(): string; set storageAppId(value: string); resetStorageAppId(): void; get storageAppIdInput(): string; private _storageName?; get storageName(): string; set storageName(value: string); get storageNameInput(): string; private _storagePrefix?; get storagePrefix(): string; set storagePrefix(value: string); get storagePrefixInput(): string; private _storageRegion?; get storageRegion(): string; set storageRegion(value: string); get storageRegionInput(): string; private _storageType?; get storageType(): string; set storageType(value: string); get storageTypeInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track tencentcloud_events_audit_track} */ export declare class EventsAuditTrack extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_events_audit_track"; /** * Generates CDKTF code for importing a EventsAuditTrack 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 EventsAuditTrack to import * @param importFromId The id of the existing EventsAuditTrack that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the EventsAuditTrack 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/tencentcloudstack/tencentcloud/1.82.49/docs/resources/events_audit_track tencentcloud_events_audit_track} 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 EventsAuditTrackConfig */ constructor(scope: Construct, id: string, config: EventsAuditTrackConfig); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _status?; get status(): number; set status(value: number); get statusInput(): number; private _trackForAllMembers?; get trackForAllMembers(): number; set trackForAllMembers(value: number); resetTrackForAllMembers(): void; get trackForAllMembersInput(): number; get trackId(): any; private _filters; get filters(): EventsAuditTrackFiltersOutputReference; putFilters(value: EventsAuditTrackFilters): void; get filtersInput(): EventsAuditTrackFilters; private _storage; get storage(): EventsAuditTrackStorageOutputReference; putStorage(value: EventsAuditTrackStorage): void; get storageInput(): EventsAuditTrackStorage; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }