@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
445 lines (444 loc) • 25.4 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface TimestreaminfluxdbDbClusterConfig extends cdktf.TerraformMetaArguments {
/**
* The amount of storage to allocate for your DB storage type in GiB (gibibytes).
* This field is forbidden for InfluxDB V3 clusters (when using an InfluxDB V3 db parameter group).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#allocated_storage TimestreaminfluxdbDbCluster#allocated_storage}
*/
readonly allocatedStorage?: number;
/**
* Name of the initial InfluxDB bucket. All InfluxDB data is stored in a bucket.
* A bucket combines the concept of a database and a retention period (the duration of time
* that each data point persists). A bucket belongs to an organization. Along with organization,
* username, and password, this argument will be stored in the secret referred to by the
* influx_auth_parameters_secret_arn attribute. This field is forbidden for InfluxDB V3 clusters
* (when using an InfluxDB V3 db parameter group).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#bucket TimestreaminfluxdbDbCluster#bucket}
*/
readonly bucket?: string;
/**
* The Timestream for InfluxDB DB instance type to run InfluxDB on.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#db_instance_type TimestreaminfluxdbDbCluster#db_instance_type}
*/
readonly dbInstanceType: string;
/**
* The ID of the DB parameter group to assign to your DB cluster.
* DB parameter groups specify how the database is configured. For example, DB parameter groups
* can specify the limit for query concurrency.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#db_parameter_group_identifier TimestreaminfluxdbDbCluster#db_parameter_group_identifier}
*/
readonly dbParameterGroupIdentifier?: string;
/**
* The Timestream for InfluxDB DB storage type to read and write InfluxDB data.
* You can choose between 3 different types of provisioned Influx IOPS included storage according
* to your workloads requirements: Influx IO Included 3000 IOPS, Influx IO Included 12000 IOPS,
* Influx IO Included 16000 IOPS.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#db_storage_type TimestreaminfluxdbDbCluster#db_storage_type}
*/
readonly dbStorageType?: string;
/**
* Specifies the type of cluster to create. This field is forbidden for InfluxDB V3 clusters
* (when using an InfluxDB V3 db parameter group).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#deployment_type TimestreaminfluxdbDbCluster#deployment_type}
*/
readonly deploymentType?: string;
/**
* Specifies the behavior of failure recovery when the primary node of the cluster
* fails.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#failover_mode TimestreaminfluxdbDbCluster#failover_mode}
*/
readonly failoverMode?: string;
/**
* The name that uniquely identifies the DB cluster when interacting with the
* Amazon Timestream for InfluxDB API and CLI commands. This name will also be a
* prefix included in the endpoint. DB cluster names must be unique per customer
* and per region.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#name TimestreaminfluxdbDbCluster#name}
*/
readonly name: string;
/**
* Specifies whether the networkType of the Timestream for InfluxDB cluster is
* IPV4, which can communicate over IPv4 protocol only, or DUAL, which can communicate
* over both IPv4 and IPv6 protocols.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#network_type TimestreaminfluxdbDbCluster#network_type}
*/
readonly networkType?: string;
/**
* Name of the initial organization for the initial admin user in InfluxDB. An
* InfluxDB organization is a workspace for a group of users. Along with bucket, username,
* and password, this argument will be stored in the secret referred to by the
* influx_auth_parameters_secret_arn attribute. This field is forbidden for InfluxDB V3 clusters
* (when using an InfluxDB V3 db parameter group).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#organization TimestreaminfluxdbDbCluster#organization}
*/
readonly organization?: string;
/**
* Password of the initial admin user created in InfluxDB. This password will
* allow you to access the InfluxDB UI to perform various administrative tasks and
* also use the InfluxDB CLI to create an operator token. Along with bucket, username,
* and organization, this argument will be stored in the secret referred to by the
* influx_auth_parameters_secret_arn attribute. This field is forbidden for InfluxDB V3 clusters
* (when using an InfluxDB V3 db parameter group) as the AWS API rejects it.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#password TimestreaminfluxdbDbCluster#password}
*/
readonly password?: string;
/**
* The port number on which InfluxDB accepts connections.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#port TimestreaminfluxdbDbCluster#port}
*/
readonly port?: number;
/**
* Configures the Timestream for InfluxDB cluster with a public IP to facilitate access.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#publicly_accessible TimestreaminfluxdbDbCluster#publicly_accessible}
*/
readonly publiclyAccessible?: boolean | cdktf.IResolvable;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#region TimestreaminfluxdbDbCluster#region}
*/
readonly region?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#tags TimestreaminfluxdbDbCluster#tags}
*/
readonly tags?: {
[key: string]: string;
};
/**
* Username of the initial admin user created in InfluxDB. Must start with a letter
* and can't end with a hyphen or contain two consecutive hyphens. This username will allow
* you to access the InfluxDB UI to perform various administrative tasks and also use the
* InfluxDB CLI to create an operator token. Along with bucket, organization, and password,
* this argument will be stored in the secret referred to by the influx_auth_parameters_secret_arn
* attribute. This field is forbidden for InfluxDB V3 clusters (when using an InfluxDB V3 db parameter group).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#username TimestreaminfluxdbDbCluster#username}
*/
readonly username?: string;
/**
* A list of VPC security group IDs to associate with the Timestream for InfluxDB cluster.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#vpc_security_group_ids TimestreaminfluxdbDbCluster#vpc_security_group_ids}
*/
readonly vpcSecurityGroupIds: string[];
/**
* A list of VPC subnet IDs to associate with the DB cluster. Provide at least
* two VPC subnet IDs in different availability zones when deploying with a Multi-AZ standby.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#vpc_subnet_ids TimestreaminfluxdbDbCluster#vpc_subnet_ids}
*/
readonly vpcSubnetIds: string[];
/**
* log_delivery_configuration block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#log_delivery_configuration TimestreaminfluxdbDbCluster#log_delivery_configuration}
*/
readonly logDeliveryConfiguration?: TimestreaminfluxdbDbClusterLogDeliveryConfiguration[] | cdktf.IResolvable;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#timeouts TimestreaminfluxdbDbCluster#timeouts}
*/
readonly timeouts?: TimestreaminfluxdbDbClusterTimeouts;
}
export interface TimestreaminfluxdbDbClusterLogDeliveryConfigurationS3Configuration {
/**
* The name of the S3 bucket to deliver logs to.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#bucket_name TimestreaminfluxdbDbCluster#bucket_name}
*/
readonly bucketName: string;
/**
* Indicates whether log delivery to the S3 bucket is enabled.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#enabled TimestreaminfluxdbDbCluster#enabled}
*/
readonly enabled: boolean | cdktf.IResolvable;
}
export declare function timestreaminfluxdbDbClusterLogDeliveryConfigurationS3ConfigurationToTerraform(struct?: TimestreaminfluxdbDbClusterLogDeliveryConfigurationS3Configuration | cdktf.IResolvable): any;
export declare function timestreaminfluxdbDbClusterLogDeliveryConfigurationS3ConfigurationToHclTerraform(struct?: TimestreaminfluxdbDbClusterLogDeliveryConfigurationS3Configuration | cdktf.IResolvable): any;
export declare class TimestreaminfluxdbDbClusterLogDeliveryConfigurationS3ConfigurationOutputReference 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(): TimestreaminfluxdbDbClusterLogDeliveryConfigurationS3Configuration | cdktf.IResolvable | undefined;
set internalValue(value: TimestreaminfluxdbDbClusterLogDeliveryConfigurationS3Configuration | cdktf.IResolvable | undefined);
private _bucketName?;
get bucketName(): string;
set bucketName(value: string);
get bucketNameInput(): string | undefined;
private _enabled?;
get enabled(): boolean | cdktf.IResolvable;
set enabled(value: boolean | cdktf.IResolvable);
get enabledInput(): boolean | cdktf.IResolvable | undefined;
}
export declare class TimestreaminfluxdbDbClusterLogDeliveryConfigurationS3ConfigurationList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: TimestreaminfluxdbDbClusterLogDeliveryConfigurationS3Configuration[] | 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): TimestreaminfluxdbDbClusterLogDeliveryConfigurationS3ConfigurationOutputReference;
}
export interface TimestreaminfluxdbDbClusterLogDeliveryConfiguration {
/**
* s3_configuration block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#s3_configuration TimestreaminfluxdbDbCluster#s3_configuration}
*/
readonly s3Configuration?: TimestreaminfluxdbDbClusterLogDeliveryConfigurationS3Configuration[] | cdktf.IResolvable;
}
export declare function timestreaminfluxdbDbClusterLogDeliveryConfigurationToTerraform(struct?: TimestreaminfluxdbDbClusterLogDeliveryConfiguration | cdktf.IResolvable): any;
export declare function timestreaminfluxdbDbClusterLogDeliveryConfigurationToHclTerraform(struct?: TimestreaminfluxdbDbClusterLogDeliveryConfiguration | cdktf.IResolvable): any;
export declare class TimestreaminfluxdbDbClusterLogDeliveryConfigurationOutputReference 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(): TimestreaminfluxdbDbClusterLogDeliveryConfiguration | cdktf.IResolvable | undefined;
set internalValue(value: TimestreaminfluxdbDbClusterLogDeliveryConfiguration | cdktf.IResolvable | undefined);
private _s3Configuration;
get s3Configuration(): TimestreaminfluxdbDbClusterLogDeliveryConfigurationS3ConfigurationList;
putS3Configuration(value: TimestreaminfluxdbDbClusterLogDeliveryConfigurationS3Configuration[] | cdktf.IResolvable): void;
resetS3Configuration(): void;
get s3ConfigurationInput(): cdktf.IResolvable | TimestreaminfluxdbDbClusterLogDeliveryConfigurationS3Configuration[] | undefined;
}
export declare class TimestreaminfluxdbDbClusterLogDeliveryConfigurationList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: TimestreaminfluxdbDbClusterLogDeliveryConfiguration[] | 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): TimestreaminfluxdbDbClusterLogDeliveryConfigurationOutputReference;
}
export interface TimestreaminfluxdbDbClusterTimeouts {
/**
* A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#create TimestreaminfluxdbDbCluster#create}
*/
readonly create?: string;
/**
* A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#delete TimestreaminfluxdbDbCluster#delete}
*/
readonly delete?: string;
/**
* A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#update TimestreaminfluxdbDbCluster#update}
*/
readonly update?: string;
}
export declare function timestreaminfluxdbDbClusterTimeoutsToTerraform(struct?: TimestreaminfluxdbDbClusterTimeouts | cdktf.IResolvable): any;
export declare function timestreaminfluxdbDbClusterTimeoutsToHclTerraform(struct?: TimestreaminfluxdbDbClusterTimeouts | cdktf.IResolvable): any;
export declare class TimestreaminfluxdbDbClusterTimeoutsOutputReference 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(): TimestreaminfluxdbDbClusterTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: TimestreaminfluxdbDbClusterTimeouts | cdktf.IResolvable | undefined);
private _create?;
get create(): string;
set create(value: string);
resetCreate(): void;
get createInput(): string | undefined;
private _delete?;
get delete(): string;
set delete(value: string);
resetDelete(): void;
get deleteInput(): string | undefined;
private _update?;
get update(): string;
set update(value: string);
resetUpdate(): void;
get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster aws_timestreaminfluxdb_db_cluster}
*/
export declare class TimestreaminfluxdbDbCluster extends cdktf.TerraformResource {
static readonly tfResourceType = "aws_timestreaminfluxdb_db_cluster";
/**
* Generates CDKTF code for importing a TimestreaminfluxdbDbCluster resource upon running "cdktf plan <stack-name>"
* @param scope The scope in which to define this construct
* @param importToId The construct id used in the generated config for the TimestreaminfluxdbDbCluster to import
* @param importFromId The id of the existing TimestreaminfluxdbDbCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the TimestreaminfluxdbDbCluster to import is found
*/
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/timestreaminfluxdb_db_cluster aws_timestreaminfluxdb_db_cluster} 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 TimestreaminfluxdbDbClusterConfig
*/
constructor(scope: Construct, id: string, config: TimestreaminfluxdbDbClusterConfig);
private _allocatedStorage?;
get allocatedStorage(): number;
set allocatedStorage(value: number);
resetAllocatedStorage(): void;
get allocatedStorageInput(): number | undefined;
get arn(): string;
private _bucket?;
get bucket(): string;
set bucket(value: string);
resetBucket(): void;
get bucketInput(): string | undefined;
private _dbInstanceType?;
get dbInstanceType(): string;
set dbInstanceType(value: string);
get dbInstanceTypeInput(): string | undefined;
private _dbParameterGroupIdentifier?;
get dbParameterGroupIdentifier(): string;
set dbParameterGroupIdentifier(value: string);
resetDbParameterGroupIdentifier(): void;
get dbParameterGroupIdentifierInput(): string | undefined;
private _dbStorageType?;
get dbStorageType(): string;
set dbStorageType(value: string);
resetDbStorageType(): void;
get dbStorageTypeInput(): string | undefined;
private _deploymentType?;
get deploymentType(): string;
set deploymentType(value: string);
resetDeploymentType(): void;
get deploymentTypeInput(): string | undefined;
get endpoint(): string;
get engineType(): string;
private _failoverMode?;
get failoverMode(): string;
set failoverMode(value: string);
resetFailoverMode(): void;
get failoverModeInput(): string | undefined;
get id(): string;
get influxAuthParametersSecretArn(): string;
private _name?;
get name(): string;
set name(value: string);
get nameInput(): string | undefined;
private _networkType?;
get networkType(): string;
set networkType(value: string);
resetNetworkType(): void;
get networkTypeInput(): string | undefined;
private _organization?;
get organization(): string;
set organization(value: string);
resetOrganization(): void;
get organizationInput(): string | undefined;
private _password?;
get password(): string;
set password(value: string);
resetPassword(): void;
get passwordInput(): string | undefined;
private _port?;
get port(): number;
set port(value: number);
resetPort(): void;
get portInput(): number | undefined;
private _publiclyAccessible?;
get publiclyAccessible(): boolean | cdktf.IResolvable;
set publiclyAccessible(value: boolean | cdktf.IResolvable);
resetPubliclyAccessible(): void;
get publiclyAccessibleInput(): boolean | cdktf.IResolvable | undefined;
get readerEndpoint(): string;
private _region?;
get region(): string;
set region(value: string);
resetRegion(): void;
get regionInput(): string | undefined;
private _tags?;
get tags(): {
[key: string]: string;
};
set tags(value: {
[key: string]: string;
});
resetTags(): void;
get tagsInput(): {
[key: string]: string;
} | undefined;
private _tagsAll;
get tagsAll(): cdktf.StringMap;
private _username?;
get username(): string;
set username(value: string);
resetUsername(): void;
get usernameInput(): string | undefined;
private _vpcSecurityGroupIds?;
get vpcSecurityGroupIds(): string[];
set vpcSecurityGroupIds(value: string[]);
get vpcSecurityGroupIdsInput(): string[] | undefined;
private _vpcSubnetIds?;
get vpcSubnetIds(): string[];
set vpcSubnetIds(value: string[]);
get vpcSubnetIdsInput(): string[] | undefined;
private _logDeliveryConfiguration;
get logDeliveryConfiguration(): TimestreaminfluxdbDbClusterLogDeliveryConfigurationList;
putLogDeliveryConfiguration(value: TimestreaminfluxdbDbClusterLogDeliveryConfiguration[] | cdktf.IResolvable): void;
resetLogDeliveryConfiguration(): void;
get logDeliveryConfigurationInput(): cdktf.IResolvable | TimestreaminfluxdbDbClusterLogDeliveryConfiguration[] | undefined;
private _timeouts;
get timeouts(): TimestreaminfluxdbDbClusterTimeoutsOutputReference;
putTimeouts(value: TimestreaminfluxdbDbClusterTimeouts): void;
resetTimeouts(): void;
get timeoutsInput(): cdktf.IResolvable | TimestreaminfluxdbDbClusterTimeouts | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}