UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

445 lines (444 loc) 25.4 kB
/** * 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; }; }