@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
465 lines (464 loc) • 29 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Resource for managing an Amazon Timestream for InfluxDB database instance.
*
* ## Example Usage
*
* ### Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = new aws.timestreaminfluxdb.DbInstance("example", {
* allocatedStorage: 20,
* bucket: "example-bucket-name",
* dbInstanceType: "db.influx.medium",
* username: "admin",
* password: "example-password",
* port: 8086,
* organization: "organization",
* vpcSubnetIds: [exampleid],
* vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],
* name: "example-db-instance",
* });
* ```
*
* ### Usage with Prerequisite Resources
*
* All Timestream for InfluxDB instances require a VPC, subnet, and security group. The following example shows how these prerequisite resources can be created and used with `aws.timestreaminfluxdb.DbInstance`.
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = new aws.ec2.Vpc("example", {cidrBlock: "10.0.0.0/16"});
* const exampleSubnet = new aws.ec2.Subnet("example", {
* vpcId: example.id,
* cidrBlock: "10.0.1.0/24",
* });
* const exampleSecurityGroup = new aws.ec2.SecurityGroup("example", {
* name: "example",
* vpcId: example.id,
* });
* const exampleDbInstance = new aws.timestreaminfluxdb.DbInstance("example", {
* allocatedStorage: 20,
* bucket: "example-bucket-name",
* dbInstanceType: "db.influx.medium",
* username: "admin",
* password: "example-password",
* organization: "organization",
* vpcSubnetIds: [exampleSubnet.id],
* vpcSecurityGroupIds: [exampleSecurityGroup.id],
* name: "example-db-instance",
* });
* ```
*
* ### Usage with S3 Log Delivery Enabled
*
* You can use an S3 bucket to store logs generated by your Timestream for InfluxDB instance. The following example shows what resources and arguments are required to configure an S3 bucket for logging, including the IAM policy that needs to be set in order to allow Timestream for InfluxDB to place logs in your S3 bucket. The configuration of the required VPC, security group, and subnet have been left out of the example for brevity.
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const exampleBucket = new aws.s3.Bucket("example", {
* bucket: "example-s3-bucket",
* forceDestroy: true,
* });
* const example = aws.iam.getPolicyDocumentOutput({
* statements: [{
* actions: ["s3:PutObject"],
* principals: [{
* type: "Service",
* identifiers: ["timestream-influxdb.amazonaws.com"],
* }],
* resources: [pulumi.interpolate`${exampleBucket.arn}/*`],
* }],
* });
* const exampleBucketPolicy = new aws.s3.BucketPolicy("example", {
* bucket: exampleBucket.id,
* policy: example.apply(example => example.json),
* });
* const exampleDbInstance = new aws.timestreaminfluxdb.DbInstance("example", {
* allocatedStorage: 20,
* bucket: "example-bucket-name",
* dbInstanceType: "db.influx.medium",
* username: "admin",
* password: "example-password",
* organization: "organization",
* vpcSubnetIds: [exampleAwsSubnet.id],
* vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],
* name: "example-db-instance",
* logDeliveryConfiguration: {
* s3Configuration: {
* bucketName: exampleBucket.bucket,
* enabled: true,
* },
* },
* });
* ```
*
* ### Usage with MultiAZ Deployment
*
* To use multi-region availability, at least two subnets must be created in different availability zones and used with your Timestream for InfluxDB instance.
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example1 = new aws.ec2.Subnet("example_1", {
* vpcId: exampleAwsVpc.id,
* cidrBlock: "10.0.1.0/24",
* availabilityZone: "us-west-2a",
* });
* const example2 = new aws.ec2.Subnet("example_2", {
* vpcId: exampleAwsVpc.id,
* cidrBlock: "10.0.2.0/24",
* availabilityZone: "us-west-2b",
* });
* const example = new aws.timestreaminfluxdb.DbInstance("example", {
* allocatedStorage: 20,
* bucket: "example-bucket-name",
* dbInstanceType: "db.influx.medium",
* deploymentType: "WITH_MULTIAZ_STANDBY",
* username: "admin",
* password: "example-password",
* organization: "organization",
* vpcSubnetIds: [
* example1.id,
* example2.id,
* ],
* vpcSecurityGroupIds: [exampleAwsSecurityGroup.id],
* name: "example-db-instance",
* });
* ```
*
* ## Import
*
* Using `pulumi import`, import Timestream for InfluxDB Db Instance using its identifier. For example:
*
* ```sh
* $ pulumi import aws:timestreaminfluxdb/dbInstance:DbInstance example 12345abcde
* ```
*/
export declare class DbInstance extends pulumi.CustomResource {
/**
* Get an existing DbInstance resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DbInstanceState, opts?: pulumi.CustomResourceOptions): DbInstance;
/**
* Returns true if the given object is an instance of DbInstance. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is DbInstance;
/**
* Amount of storage in GiB (gibibytes). The minimum value is `20`, the maximum value is `16384`. This argument is updatable. The argument `dbStorageType` places restrictions on this argument's minimum value. The following is a list of `dbStorageType` values and the corresponding minimum value for `allocatedStorage`: `"InfluxIOIncludedT1": `20`, `"InfluxIOIncludedT2" and `"InfluxIOIncludedT3": `400`.
*/
readonly allocatedStorage: pulumi.Output<number>;
/**
* ARN of the Timestream for InfluxDB Instance.
*/
readonly arn: pulumi.Output<string>;
/**
* Availability Zone in which the DB instance resides.
*/
readonly availabilityZone: pulumi.Output<string>;
/**
* 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 `influxAuthParametersSecretArn` attribute.
*/
readonly bucket: pulumi.Output<string>;
/**
* Timestream for InfluxDB DB instance type to run InfluxDB on. Valid options are: `"db.influx.medium"`, `"db.influx.large"`, `"db.influx.xlarge"`, `"db.influx.2xlarge"`, `"db.influx.4xlarge"`, `"db.influx.8xlarge"`, `"db.influx.12xlarge"`, and `"db.influx.16xlarge"`. This argument is updatable.
*/
readonly dbInstanceType: pulumi.Output<string>;
/**
* ID of the DB parameter group assigned to your DB instance. This argument is updatable. If added to an existing Timestream for InfluxDB instance or given a new value, will cause an in-place update to the instance. However, if an instance already has a value for `dbParameterGroupIdentifier`, removing `dbParameterGroupIdentifier` will cause the instance to be destroyed and recreated.
*/
readonly dbParameterGroupIdentifier: pulumi.Output<string | undefined>;
/**
* 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. Valid options are: `"InfluxIOIncludedT1"`, `"InfluxIOIncludedT2"`, and `"InfluxIOIncludedT3"`. If you use `"InfluxIOIncludedT2" or "InfluxIOIncludedT3", the minimum value for `allocatedStorage` is 400. This argument is updatable. For a single instance, after this argument has been updated once, it can only be updated again after 6 hours have passed.
*/
readonly dbStorageType: pulumi.Output<string>;
/**
* Specifies whether the DB instance will be deployed as a standalone instance or with a Multi-AZ standby for high availability. Valid options are: `"SINGLE_AZ"`, `"WITH_MULTIAZ_STANDBY"`. This argument is updatable.
*/
readonly deploymentType: pulumi.Output<string>;
/**
* Endpoint used to connect to InfluxDB. The default InfluxDB port is 8086.
*/
readonly endpoint: pulumi.Output<string>;
/**
* ARN of the AWS Secrets Manager secret containing the initial InfluxDB authorization parameters. The secret value is a JSON formatted key-value pair holding InfluxDB authorization values: organization, bucket, username, and password.
*/
readonly influxAuthParametersSecretArn: pulumi.Output<string>;
/**
* Configuration for sending InfluxDB engine logs to a specified S3 bucket. This argument is updatable.
*/
readonly logDeliveryConfiguration: pulumi.Output<outputs.timestreaminfluxdb.DbInstanceLogDeliveryConfiguration | undefined>;
/**
* Name that uniquely identifies the DB instance when interacting with the Amazon Timestream for InfluxDB API and CLI commands. This name will also be a prefix included in the endpoint. DB instance names must be unique per customer and per region. The argument must start with a letter, cannot contain consecutive hyphens (`-`) and cannot end with a hyphen.
*/
readonly name: pulumi.Output<string>;
/**
* Specifies whether the networkType of the Timestream for InfluxDB instance is IPV4, which can communicate over IPv4 protocol only, or DUAL, which can communicate over both IPv4 and IPv6 protocols.
*/
readonly networkType: pulumi.Output<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 `influxAuthParametersSecretArn` attribute.
*/
readonly organization: pulumi.Output<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 `influxAuthParametersSecretArn` attribute.
*/
readonly password: pulumi.Output<string>;
/**
* The port on which the instance accepts connections. Valid values: `1024`-`65535`. Cannot be `2375`-`2376`, `7788`-`7799`, `8090`, or `51678`-`51680`. This argument is updatable.
*/
readonly port: pulumi.Output<number>;
/**
* Configures the DB instance with a public IP to facilitate access. Other resources, such as a VPC, a subnet, an internet gateway, and a route table with routes, are also required to enabled public access, in addition to this argument. See "Usage with Public Internet Access Enabled" for an example configuration with all required resources for public internet access.
*/
readonly publiclyAccessible: pulumi.Output<boolean>;
/**
* 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.
*/
readonly region: pulumi.Output<string>;
/**
* Availability Zone in which the standby instance is located when deploying with a MultiAZ standby instance.
*/
readonly secondaryAvailabilityZone: pulumi.Output<string>;
/**
* Map of tags assigned to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
readonly tags: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
*/
readonly tagsAll: pulumi.Output<{
[key: string]: string;
}>;
readonly timeouts: pulumi.Output<outputs.timestreaminfluxdb.DbInstanceTimeouts | undefined>;
/**
* 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 `influxAuthParametersSecretArn` attribute.
*/
readonly username: pulumi.Output<string>;
/**
* List of VPC security group IDs to associate with the DB instance.
*/
readonly vpcSecurityGroupIds: pulumi.Output<string[]>;
/**
* List of VPC subnet IDs to associate with the DB instance. Provide at least two VPC subnet IDs in different availability zones when deploying with a Multi-AZ standby.
*
* The following arguments are optional:
*/
readonly vpcSubnetIds: pulumi.Output<string[]>;
/**
* Create a DbInstance resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: DbInstanceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering DbInstance resources.
*/
export interface DbInstanceState {
/**
* Amount of storage in GiB (gibibytes). The minimum value is `20`, the maximum value is `16384`. This argument is updatable. The argument `dbStorageType` places restrictions on this argument's minimum value. The following is a list of `dbStorageType` values and the corresponding minimum value for `allocatedStorage`: `"InfluxIOIncludedT1": `20`, `"InfluxIOIncludedT2" and `"InfluxIOIncludedT3": `400`.
*/
allocatedStorage?: pulumi.Input<number>;
/**
* ARN of the Timestream for InfluxDB Instance.
*/
arn?: pulumi.Input<string>;
/**
* Availability Zone in which the DB instance resides.
*/
availabilityZone?: pulumi.Input<string>;
/**
* 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 `influxAuthParametersSecretArn` attribute.
*/
bucket?: pulumi.Input<string>;
/**
* Timestream for InfluxDB DB instance type to run InfluxDB on. Valid options are: `"db.influx.medium"`, `"db.influx.large"`, `"db.influx.xlarge"`, `"db.influx.2xlarge"`, `"db.influx.4xlarge"`, `"db.influx.8xlarge"`, `"db.influx.12xlarge"`, and `"db.influx.16xlarge"`. This argument is updatable.
*/
dbInstanceType?: pulumi.Input<string>;
/**
* ID of the DB parameter group assigned to your DB instance. This argument is updatable. If added to an existing Timestream for InfluxDB instance or given a new value, will cause an in-place update to the instance. However, if an instance already has a value for `dbParameterGroupIdentifier`, removing `dbParameterGroupIdentifier` will cause the instance to be destroyed and recreated.
*/
dbParameterGroupIdentifier?: pulumi.Input<string>;
/**
* 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. Valid options are: `"InfluxIOIncludedT1"`, `"InfluxIOIncludedT2"`, and `"InfluxIOIncludedT3"`. If you use `"InfluxIOIncludedT2" or "InfluxIOIncludedT3", the minimum value for `allocatedStorage` is 400. This argument is updatable. For a single instance, after this argument has been updated once, it can only be updated again after 6 hours have passed.
*/
dbStorageType?: pulumi.Input<string>;
/**
* Specifies whether the DB instance will be deployed as a standalone instance or with a Multi-AZ standby for high availability. Valid options are: `"SINGLE_AZ"`, `"WITH_MULTIAZ_STANDBY"`. This argument is updatable.
*/
deploymentType?: pulumi.Input<string>;
/**
* Endpoint used to connect to InfluxDB. The default InfluxDB port is 8086.
*/
endpoint?: pulumi.Input<string>;
/**
* ARN of the AWS Secrets Manager secret containing the initial InfluxDB authorization parameters. The secret value is a JSON formatted key-value pair holding InfluxDB authorization values: organization, bucket, username, and password.
*/
influxAuthParametersSecretArn?: pulumi.Input<string>;
/**
* Configuration for sending InfluxDB engine logs to a specified S3 bucket. This argument is updatable.
*/
logDeliveryConfiguration?: pulumi.Input<inputs.timestreaminfluxdb.DbInstanceLogDeliveryConfiguration>;
/**
* Name that uniquely identifies the DB instance when interacting with the Amazon Timestream for InfluxDB API and CLI commands. This name will also be a prefix included in the endpoint. DB instance names must be unique per customer and per region. The argument must start with a letter, cannot contain consecutive hyphens (`-`) and cannot end with a hyphen.
*/
name?: pulumi.Input<string>;
/**
* Specifies whether the networkType of the Timestream for InfluxDB instance is IPV4, which can communicate over IPv4 protocol only, or DUAL, which can communicate over both IPv4 and IPv6 protocols.
*/
networkType?: pulumi.Input<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 `influxAuthParametersSecretArn` attribute.
*/
organization?: pulumi.Input<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 `influxAuthParametersSecretArn` attribute.
*/
password?: pulumi.Input<string>;
/**
* The port on which the instance accepts connections. Valid values: `1024`-`65535`. Cannot be `2375`-`2376`, `7788`-`7799`, `8090`, or `51678`-`51680`. This argument is updatable.
*/
port?: pulumi.Input<number>;
/**
* Configures the DB instance with a public IP to facilitate access. Other resources, such as a VPC, a subnet, an internet gateway, and a route table with routes, are also required to enabled public access, in addition to this argument. See "Usage with Public Internet Access Enabled" for an example configuration with all required resources for public internet access.
*/
publiclyAccessible?: pulumi.Input<boolean>;
/**
* 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.
*/
region?: pulumi.Input<string>;
/**
* Availability Zone in which the standby instance is located when deploying with a MultiAZ standby instance.
*/
secondaryAvailabilityZone?: pulumi.Input<string>;
/**
* Map of tags assigned to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
*/
tagsAll?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
timeouts?: pulumi.Input<inputs.timestreaminfluxdb.DbInstanceTimeouts>;
/**
* 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 `influxAuthParametersSecretArn` attribute.
*/
username?: pulumi.Input<string>;
/**
* List of VPC security group IDs to associate with the DB instance.
*/
vpcSecurityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;
/**
* List of VPC subnet IDs to associate with the DB instance. Provide at least two VPC subnet IDs in different availability zones when deploying with a Multi-AZ standby.
*
* The following arguments are optional:
*/
vpcSubnetIds?: pulumi.Input<pulumi.Input<string>[]>;
}
/**
* The set of arguments for constructing a DbInstance resource.
*/
export interface DbInstanceArgs {
/**
* Amount of storage in GiB (gibibytes). The minimum value is `20`, the maximum value is `16384`. This argument is updatable. The argument `dbStorageType` places restrictions on this argument's minimum value. The following is a list of `dbStorageType` values and the corresponding minimum value for `allocatedStorage`: `"InfluxIOIncludedT1": `20`, `"InfluxIOIncludedT2" and `"InfluxIOIncludedT3": `400`.
*/
allocatedStorage: pulumi.Input<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 `influxAuthParametersSecretArn` attribute.
*/
bucket: pulumi.Input<string>;
/**
* Timestream for InfluxDB DB instance type to run InfluxDB on. Valid options are: `"db.influx.medium"`, `"db.influx.large"`, `"db.influx.xlarge"`, `"db.influx.2xlarge"`, `"db.influx.4xlarge"`, `"db.influx.8xlarge"`, `"db.influx.12xlarge"`, and `"db.influx.16xlarge"`. This argument is updatable.
*/
dbInstanceType: pulumi.Input<string>;
/**
* ID of the DB parameter group assigned to your DB instance. This argument is updatable. If added to an existing Timestream for InfluxDB instance or given a new value, will cause an in-place update to the instance. However, if an instance already has a value for `dbParameterGroupIdentifier`, removing `dbParameterGroupIdentifier` will cause the instance to be destroyed and recreated.
*/
dbParameterGroupIdentifier?: pulumi.Input<string>;
/**
* 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. Valid options are: `"InfluxIOIncludedT1"`, `"InfluxIOIncludedT2"`, and `"InfluxIOIncludedT3"`. If you use `"InfluxIOIncludedT2" or "InfluxIOIncludedT3", the minimum value for `allocatedStorage` is 400. This argument is updatable. For a single instance, after this argument has been updated once, it can only be updated again after 6 hours have passed.
*/
dbStorageType?: pulumi.Input<string>;
/**
* Specifies whether the DB instance will be deployed as a standalone instance or with a Multi-AZ standby for high availability. Valid options are: `"SINGLE_AZ"`, `"WITH_MULTIAZ_STANDBY"`. This argument is updatable.
*/
deploymentType?: pulumi.Input<string>;
/**
* Configuration for sending InfluxDB engine logs to a specified S3 bucket. This argument is updatable.
*/
logDeliveryConfiguration?: pulumi.Input<inputs.timestreaminfluxdb.DbInstanceLogDeliveryConfiguration>;
/**
* Name that uniquely identifies the DB instance when interacting with the Amazon Timestream for InfluxDB API and CLI commands. This name will also be a prefix included in the endpoint. DB instance names must be unique per customer and per region. The argument must start with a letter, cannot contain consecutive hyphens (`-`) and cannot end with a hyphen.
*/
name?: pulumi.Input<string>;
/**
* Specifies whether the networkType of the Timestream for InfluxDB instance is IPV4, which can communicate over IPv4 protocol only, or DUAL, which can communicate over both IPv4 and IPv6 protocols.
*/
networkType?: pulumi.Input<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 `influxAuthParametersSecretArn` attribute.
*/
organization: pulumi.Input<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 `influxAuthParametersSecretArn` attribute.
*/
password: pulumi.Input<string>;
/**
* The port on which the instance accepts connections. Valid values: `1024`-`65535`. Cannot be `2375`-`2376`, `7788`-`7799`, `8090`, or `51678`-`51680`. This argument is updatable.
*/
port?: pulumi.Input<number>;
/**
* Configures the DB instance with a public IP to facilitate access. Other resources, such as a VPC, a subnet, an internet gateway, and a route table with routes, are also required to enabled public access, in addition to this argument. See "Usage with Public Internet Access Enabled" for an example configuration with all required resources for public internet access.
*/
publiclyAccessible?: pulumi.Input<boolean>;
/**
* 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.
*/
region?: pulumi.Input<string>;
/**
* Map of tags assigned to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
timeouts?: pulumi.Input<inputs.timestreaminfluxdb.DbInstanceTimeouts>;
/**
* 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 `influxAuthParametersSecretArn` attribute.
*/
username: pulumi.Input<string>;
/**
* List of VPC security group IDs to associate with the DB instance.
*/
vpcSecurityGroupIds: pulumi.Input<pulumi.Input<string>[]>;
/**
* List of VPC subnet IDs to associate with the DB instance. Provide at least two VPC subnet IDs in different availability zones when deploying with a Multi-AZ standby.
*
* The following arguments are optional:
*/
vpcSubnetIds: pulumi.Input<pulumi.Input<string>[]>;
}