import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TcmPrometheusAttachmentConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcm_prometheus_attachment#id TcmPrometheusAttachment#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; /** * Mesh ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcm_prometheus_attachment#mesh_id TcmPrometheusAttachment#mesh_id} */ readonly meshId: string; /** * prometheus block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcm_prometheus_attachment#prometheus TcmPrometheusAttachment#prometheus} */ readonly prometheus: TcmPrometheusAttachmentPrometheus; } export interface TcmPrometheusAttachmentPrometheusCustomProm { /** * Authentication type of the prometheus. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcm_prometheus_attachment#auth_type TcmPrometheusAttachment#auth_type} */ readonly authType: string; /** * Whether it is public address, default false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcm_prometheus_attachment#is_public_addr TcmPrometheusAttachment#is_public_addr} */ readonly isPublicAddr?: boolean | cdktf.IResolvable; /** * Password of the prometheus, used in basic authentication type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcm_prometheus_attachment#password TcmPrometheusAttachment#password} */ readonly password?: string; /** * Url of the prometheus. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcm_prometheus_attachment#url TcmPrometheusAttachment#url} */ readonly url: string; /** * Username of the prometheus, used in basic authentication type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcm_prometheus_attachment#username TcmPrometheusAttachment#username} */ readonly username?: string; /** * Vpc id. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcm_prometheus_attachment#vpc_id TcmPrometheusAttachment#vpc_id} */ readonly vpcId?: string; } export declare function tcmPrometheusAttachmentPrometheusCustomPromToTerraform(struct?: TcmPrometheusAttachmentPrometheusCustomPromOutputReference | TcmPrometheusAttachmentPrometheusCustomProm): any; export declare function tcmPrometheusAttachmentPrometheusCustomPromToHclTerraform(struct?: TcmPrometheusAttachmentPrometheusCustomPromOutputReference | TcmPrometheusAttachmentPrometheusCustomProm): any; export declare class TcmPrometheusAttachmentPrometheusCustomPromOutputReference 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(): TcmPrometheusAttachmentPrometheusCustomProm | undefined; set internalValue(value: TcmPrometheusAttachmentPrometheusCustomProm | undefined); private _authType?; get authType(): string; set authType(value: string); get authTypeInput(): string; private _isPublicAddr?; get isPublicAddr(): boolean | cdktf.IResolvable; set isPublicAddr(value: boolean | cdktf.IResolvable); resetIsPublicAddr(): void; get isPublicAddrInput(): any; private _password?; get password(): string; set password(value: string); resetPassword(): void; get passwordInput(): string; private _url?; get url(): string; set url(value: string); get urlInput(): string; private _username?; get username(): string; set username(value: string); resetUsername(): void; get usernameInput(): string; private _vpcId?; get vpcId(): string; set vpcId(value: string); resetVpcId(): void; get vpcIdInput(): string; } export interface TcmPrometheusAttachmentPrometheus { /** * Existed TMP id, auto create TMP if empty. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcm_prometheus_attachment#instance_id TcmPrometheusAttachment#instance_id} */ readonly instanceId?: string; /** * Region for TMP. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcm_prometheus_attachment#region TcmPrometheusAttachment#region} */ readonly region?: string; /** * Subnet id for TMP. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcm_prometheus_attachment#subnet_id TcmPrometheusAttachment#subnet_id} */ readonly subnetId?: string; /** * Vpc id for TMP. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcm_prometheus_attachment#vpc_id TcmPrometheusAttachment#vpc_id} */ readonly vpcId?: string; /** * custom_prom block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcm_prometheus_attachment#custom_prom TcmPrometheusAttachment#custom_prom} */ readonly customProm?: TcmPrometheusAttachmentPrometheusCustomProm; } export declare function tcmPrometheusAttachmentPrometheusToTerraform(struct?: TcmPrometheusAttachmentPrometheusOutputReference | TcmPrometheusAttachmentPrometheus): any; export declare function tcmPrometheusAttachmentPrometheusToHclTerraform(struct?: TcmPrometheusAttachmentPrometheusOutputReference | TcmPrometheusAttachmentPrometheus): any; export declare class TcmPrometheusAttachmentPrometheusOutputReference 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(): TcmPrometheusAttachmentPrometheus | undefined; set internalValue(value: TcmPrometheusAttachmentPrometheus | undefined); private _instanceId?; get instanceId(): string; set instanceId(value: string); resetInstanceId(): void; get instanceIdInput(): string; private _region?; get region(): string; set region(value: string); resetRegion(): void; get regionInput(): string; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; private _vpcId?; get vpcId(): string; set vpcId(value: string); resetVpcId(): void; get vpcIdInput(): string; private _customProm; get customProm(): TcmPrometheusAttachmentPrometheusCustomPromOutputReference; putCustomProm(value: TcmPrometheusAttachmentPrometheusCustomProm): void; resetCustomProm(): void; get customPromInput(): TcmPrometheusAttachmentPrometheusCustomProm; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcm_prometheus_attachment tencentcloud_tcm_prometheus_attachment} */ export declare class TcmPrometheusAttachment extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_tcm_prometheus_attachment"; /** * Generates CDKTF code for importing a TcmPrometheusAttachment 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 TcmPrometheusAttachment to import * @param importFromId The id of the existing TcmPrometheusAttachment that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcm_prometheus_attachment#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TcmPrometheusAttachment 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/tcm_prometheus_attachment tencentcloud_tcm_prometheus_attachment} 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 TcmPrometheusAttachmentConfig */ constructor(scope: Construct, id: string, config: TcmPrometheusAttachmentConfig); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _meshId?; get meshId(): string; set meshId(value: string); get meshIdInput(): string; private _prometheus; get prometheus(): TcmPrometheusAttachmentPrometheusOutputReference; putPrometheus(value: TcmPrometheusAttachmentPrometheus): void; get prometheusInput(): TcmPrometheusAttachmentPrometheus; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }